https://wiki.archlinux.org/api.php?action=feedcontributions&user=J77h&feedformat=atomArchWiki - User contributions [en]2024-03-28T23:48:19ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Talk:Beginners%27_guide&diff=406999Talk:Beginners' guide2015-10-26T15:21:59Z<p>J77h: /* update packages during installation */</p>
<hr />
<div>== Unification ==<br />
=== A single, unified official install guide ===<br />
<br />
{{Note|This is based on talk/consensus in #archlinux. The official [[Installation Guide]] page is going to be expanded (or this guide could be protected, cleaned up and replace it - either works, that could be decided here).}}<br />
<br />
Previously, there has been talk here about merging with the old official install guide, and just having a single official [[Installation Guide]]. However, that didn't happen when the old guide was removed because the [[Beginners' Guide]] was (and is) too long, with too much duplication of other pages after the point where it's necessary (getting the initial network access). In order to be an "official" document, it would also have to be protected - edits by regular users would be proposed on the talk page.<br />
<br />
The installation process now always requires network access, and the ISO ships with both a browser and an IRC client, so it's not necessary to keep so much information on this page, since we have very good coverage elsewhere that surpasses the duplication here. For example, there's no need for the [[Beginners' Guide]] to explain how to do an upgrade as [[Pacman#Upgrading packages]] has much better coverage of the gritty details, and the initial install is already fully upgraded.<br />
<br />
-- [[User:Thestinger|thestinger]] ([[User talk:Thestinger|talk]]) 21:52, 28 October 2012 (UTC)<br />
<br />
:Yes, the ISO comes with a browser ({{Pkg|elinks}}), but it's not very good with formatting. Some people may prefer to actually print the guide ''(which is a waste of paper, if you ask me, but old timers may feel differently)'', or save it as a PDF/HTML and read it on whatever device they own (smartphone, tablet, etc).<br />
<br />
No need to create a section for this, just reminding that the unification would affect {{Bug|36111}}. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 06:57, 18 August 2013 (UTC)<br />
<br />
=== Define scope of the guide ===<br />
I'd like to define the scope of the guide(s) better and whether it's OK to remove certain things from the wiki instead of marking them as 'the old way' and maybe moving them to a separate article, if needed. Currently the beginners' guide still has info related to initscripts, like [https://wiki.archlinux.org/index.php/Beginners%27_Guide#Time_zone setting the timezone], but the article on time [https://wiki.archlinux.org/index.php/Time#Time_standard has not]. -- [[User:Karol|Karol]] ([[User talk:Karol|talk]]) 09:56, 30 October 2012 (UTC)<br />
: Right now the Beginner's Guide is "A page where user can get their system installed '''without reading other pages'''". This is where the duplications come from. Maybe we can redefine it. So we can:<br />
: # Improve [[Help:Reading]]. Add some guide about Navigation, Searching, Category and Table of Contents. So users can reach the information they want more easily.<br />
: # Reduce long duplication texts. The two network configuration part is a candicate. -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 07:46, 31 October 2012 (UTC)<br />
:The reason for using the manual way of configuring is actually because timedatectl and friends won't work from inside a chroot. We could avoid that by having users reboot before configuring this stuff (time, hostname, etc. aren't critical at all) but that would require some minor restructuring, so it's something worth discussing. [[User:Thestinger|thestinger]] ([[User talk:Thestinger|talk]]) 17:28, 3 November 2012 (UTC)<br />
<br />
::''[This comment was pasted here from a different, now deleted discussion]''<br />
:: I think that the goal of the Beginners' Guide is not only to let an Arch novice install the system successfully, but also to introduce him to how an Arch Linux system is structured and the technologies it's based on: we shouldn't think of the Beginners' Guide (or any other article) as a simple howto or step-by-step guide, but as something more formative. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:40, 19 September 2012 (UTC)<br />
<br />
=== Plan ===<br />
If someone was interested and had the time to lay out here a '''detailed''' plan with indications on where to merge every section of the guide and a report of all the problems that could be encountered in the process, it would definitely be the final step before announcing the unification on the forums with full support from the admins, which would mean that at that point only strong and reasonable objections could prevent the unification. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 06:44, 18 August 2013 (UTC)<br />
<br />
Here is a list of sections that should be merged. Feel free to expand, comment in [[#Comments]]. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 18:26, 31 August 2013 (UTC)<br />
<br />
* [[Beginners' guide#Prepare the storage devices]]. See [[#Replace_parted_with_cfdisk.2Fcgdisk]].<br />
** Contains more information on parted than the actual [[parted]], merge back details.<br />
** Improve the [[fdisk]] article and use it as a possible method of partioning.<br />
** Information on dual-booting with Windows could be linked earlier in the article.<br />
** Use [[:Category:Partitioning]] instead of a list of partitioning tools?<br />
** Small TL;DR on difference between BIOS and UEFI, or place it in the [[UEFI]] article.<br />
** MBR: limit of 4 partitions and use of Extended partitions. This isn't mentioned in the [[MBR]] article, but in [[GUID Partition Table]]!<br />
* [[Beginners' guide#Wireless_2]]: "processes", elaborate in [[netctl]] instead? Also, no reference to the copied configuration file in [[#Establish an internet connection]].<br />
* [[Beginners' guide#Establish an internet connection]]: dhcpcd is only enabled for wired interfaces, if you have none the stop command doesn't apply. [https://projects.archlinux.org/archiso.git/tree/configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules]<br />
* Link to typographic conventions used on wiki pages where applicable.<br />
** ''pacman'': [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=400266&oldid=400243]<br />
** ''systemctl''<br />
* Lay out remaining differences with the [[Installation guide]], and either merge or discard them on a '''case-by-case basis'''.<br />
** Relation between ''genfstab'' and ''swapon''.<br />
* [[Beginners' guide#Mirrors]]<br />
** The idea ships a ready mirror file, and modifying it is recommended, though not necessary.<br />
** Reword to include local considerations?<br />
* Move instructions on BIOS boot order to [[USB flash installation media]].<br />
* Tip on using ''elinks'' to browse the guide in another TTY, and ''irssi'' to discuss issues from the live environment.<br />
* Warning on avoiding "tutorials" not hosted on the wiki main space.<br />
* Mention --help / -h as a manual is not always available.<br />
<br />
==== General problems ====<br />
<br />
* (Not sure if an actual problem) Make effective use of links so that at most two clicks are required to find the right section. Avoid redundancy.<br />
* Just a general reminder to those working on this: keep track of how your changes impact users (follow this discussion page, [https://bbs.archlinux.org/viewforum.php?id=17 BBS Installation] and [[IRC]])<br />
* [[Swap]] is ''not'' optional. [http://unix.stackexchange.com/a/190521]<br />
** Or at least recommended in most cases.<br />
* Use {{ic|Tab}} more in instructions?<br />
<br />
==== Comments ====<br />
<br />
=== Installation template ===<br />
<br />
Another alternative way to unify the two main guides would be to follow the same philosophy we used to write the scenarios in [[Dm-crypt_with_LUKS/Encrypting_an_entire_system]], originally discussed in [[Talk:Dm-crypt#New_idea]]: the new installation guide could be a bare, though ''complete'', list of commands and simple instructions needed to install the system in one example scenario, with links to the various relevant articles for detailed information and adaptations to specific cases. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 21:18, 27 March 2014 (UTC)<br />
<br />
:Well, the Beginners' guide suffers from issues related to both content and style, and I really think they need to be addressed at the same time. Every suggestion so far deals only with one problem.<br />
:'''Content:''' I agree that the purpose of the guide (be it Beginners' or Installation) should be to describe only one scenario and provide links to other articles describing the alternatives. I really like ''this part'' of your suggestion, but it solves only half of the problem.<br />
:'''Style:''' The biggest problem is that Beginners' guide is unique mixture of ''introduction to reading ArchWiki'' and ''introduction to installing and '''using''' Arch Linux'', which are simply inseparable in the context of BG - you just can't expect newcomers to first read [[Help:Reading]] and only then start installing their system. So, there is a little bit of anarchy, as the BG is mostly excused from the [[Help:Style|style guidelines]] and there are no guidelines specifically for the BG. Unifying the two guides would necessarily mean a compromise regarding style, which would not be the best for either beginners or gurus.<br />
:Also, I think that it is a good thing that BG is readable ''without reading other pages'' (as defined in [[#Define scope of the guide]]), because it implies that the most important things have been collected and the readers don't have to click-and-search ''too much''. This is really important for the newcomers, because the orientation in the graph of internal links (I wanted to visualize the graph, but it's just too big) is really difficult - they would need to read dozens of pages (with some [[Help:Style|alien style]] applied) before they had the basic system running. On the other hand, one of the main points of BG should be to prepare the readers for other ArchWiki articles, but sometimes the readers are [https://wiki.archlinux.org/index.php?title=Talk:NetworkManager&diff=291207&oldid=285657 too] [https://wiki.archlinux.org/index.php?title=Talk:NetworkManager&diff=304473&oldid=295238 spoiled].<br />
:Well, that is my defence of keeping both IG and BG. In my opinion it is enough to just properly define the scope of BG and trim it down to ease the maintenance, addressing the ''content'' part. But of course if there is a suggestion on merging the two guides addressing the ''style'' issues, let's hear it!<br />
:-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 11:16, 30 March 2014 (UTC)<br />
<br />
::About the style issue, I don't think experienced users would be so bothered by some pacman, systemctl or nano examples, and the unified guide should probably explicitly warn users that they won't find similar examples in the other articles, which would be a perfect way to invite them to become familiar with [[pacman]], [[systemd]], [[Help:Reading]]... Besides, if the guide will be properly structured, experienced users who don't have their own custom installation notes will be able to just follow the automatic ToC as a memory refresher.<br />
::I disagree that the fact that the "BG is readable ''without reading other pages''" is a good thing, as that's exactly the reason that makes it hard to maintain and encourages duplication of information; if users were used to follow links instead, most of the efforts now spent in improving the BG would be instead spent in properly improving the linked articles, which would then become as easy to follow as the BG is now.<br />
::Anyway, I've proposed a change in [[#Comments]] (under [[#Plan]]) that I think should be more likely to reach general consensus, and that would already be a good step forward.<br />
::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:35, 31 March 2014 (UTC)<br />
<br />
:::I'm beginning to understand the need for merging. After the BG is slimmed down to cover only one example scenario, the title will be just wrong and the scope will be ''exactly'' the same as for IG. It all depends on whether different target audience and related style differences are enough to justify two guides.<br />
:::I hate being the blocker, so let's slim down BG and when it comes to the point of merging with IG, at least it will not be so shocking. I can't help but to think about it as simple redirecting of BG to IG, which will be (more or less) the eventual outcome, so I will need some time to absorb.<br />
:::Finally, we should also look at [[ArchWiki:Requests#Cleanup: installation category]], so that [[:Category:Getting and installing Arch]] is actually useful for providing alternative scenarios, and to ensure there is a place where to move excessive information from the BG.<br />
:::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:35, 7 April 2014 (UTC)<br />
<br />
::::You are not "the blocker", every opinion is as valuable as the others if well argumented, be it for or against the proposal. Especially in this case where we seem to be the only 2 people interested in discussing...<br />
::::If the unification will eventually be completed, of course the BG will become a redirect to the IG, and the latter will be unprotected (and well watched so it's not turned again into a BG).<br />
::::Let's go on with the change very gradually, that's definitely the best way to let everyone successfully and happily adapt to the new way of following the document, which, if done properly, will be even easier and clearer (no need to compare two guides anymore, just to mention an advantage).<br />
::::Of course [[ArchWiki:Requests#Cleanup: installation category]] is strictly linked to all this, I'll try to get there too.<br />
::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:26, 9 April 2014 (UTC)<br />
<br />
:::::Just as a note, [[:Category:Getting and installing Arch]] has since made great progress, and replaced most of the "introductory" content in the BG. :) [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=394011&oldid=393888] [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=400221&oldid=400209] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 00:21, 18 September 2015 (UTC)<br />
<br />
=== Page protection ===<br />
<br />
I personally would suggest leaving the Installation guide locked after the merger (even if that would lock me out also :). Thing is, if someone went through the effort of researching an addition to the guide, it would be easy for them to bring it up here, in the talk page, and easier for the community to discuss (and implement, if applicable). <br />
<br />
Leaving the Installation guide unprotected however would make it open to hasty edits. Even if the IG were well watched as said, a made edit's context may not be sufficiently clear to "judge" it on the spot (confirmed by [[ArchWiki:Reports]]). Having contested content remain (however short) on the main, "official" installation reference is less than ideal.<br />
<br />
A compromise may be similar to the [[IRC]] page, which is not protected in the technical sense, but has a warning urging users not to edit the page without prior consensus. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 23:30, 19 February 2015 (UTC)<br />
<br />
:Once upon a time, I absolutely don't even remember where, we even discussed the option of keeping the guide in a protected page, but do all the modifications in a separate open page (as if they were two "master" and "devel" branches), with the admins periodically approving and merging the unstable page into the official one. Thanks to the recently introduced [[Special:MergeHistory]] tool, this job could be easier nowadays. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:06, 20 February 2015 (UTC)<br />
<br />
::That sounds like a good option. Working hypothesis: to make users accustomed to the idea, we could now add a note at the top of the BG, suggesting to first discuss changes on the talk page. After the merger this note would then point to the "development" page. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 20:39, 16 March 2015 (UTC)<br />
<br />
:::I think that [[Special:MergeHistory]] is too primitive tool for this, AFAIK its only way of operation is "merge all revisions ''up to'' specified one", i.e. there is no ''cherry-picking'' of feasible revisions. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 20:50, 16 March 2015 (UTC)<br />
<br />
::::@Alad I'm still thinking about it, I'm not sure whether having 2 protected installation guides would be too confusing. The branch method would certainly be well suited if we really ended up merging the guides into one.<br />
::::@Lahwaacz The way it would work would be (''master'' is protected, contains the whole revisions history and ''will not receive direct edits'' by anyone, including admins):<br />
:::::# ''develop'' is initialized with a simple copy of the latest revision of ''master''<br />
:::::# Some users make some edits to ''develop''<br />
:::::# The wiki staff amends/undos ''develop'' as necessary with additional edits (like it happens now in the only branch)<br />
:::::# Once ''develop'' is considered in a good state, [[Special:MergeHistory]] can be used safely, no need for cherry-picking<br />
:::::# Go back to 1 (at this step ''develop'' is a redirect to ''master'')<br />
::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:09, 17 March 2015 (UTC)<br />
<br />
::::A simpler alternative with the same effect would be maintaining a link that points to the latest officially approved revision in the history of the article, for example in a Note in the intro. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:13, 17 March 2015 (UTC)<br />
<br />
:::::Take your time, it will take a lot more work to get the BG anywhere near ready for merging. A link with note sounds viable as well; we could add a table with different options below. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 22:08, 17 March 2015 (UTC)<br />
<br />
::::::To add another suggestion, the Talk page of both guides works well in implementing and discussing changes, ''when used''. Often, you see remarks scattered throughout IRC and the forums. As such, we could expand the scope by opening a new thread in the forums, e.g "The Installation Guide thread" and ask it to be made sticky. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 17:25, 27 August 2015 (UTC)<br />
::::::We could even suggest users to make a (partial) copy in their user pages to propose their changes. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:11, 31 August 2015 (UTC)<br />
<br />
== Linked to 'parted' Manual doesn't list ext3 or ext4 for fs-type ==<br />
<br />
Hi guys. Recent Arch convert here. Loving it. No bloat! Noticed this during Beginners Guid install though:<br />
<br />
In the section on using parted ( [[Beginners%27_guide#Partition_schemes]] ), it links to the Gnu parted manual at [http://www.gnu.org/software/parted/manual/parted.html#mkpart http://www.gnu.org/software/parted/manual/parted.html#mkpart] for fs-types, but the (rather dated?) manual doesn't list ext3 or ext4. At this point I 'guessed' ext2 was the right choice... Only to find that LATER in the 'Beginners Guide' page it recommended ext4. Damn! Wasn't sure if I had to go back and re-do. Seemed not. But anyway, confusing for 'Beginners'. Anyway, dare not edit the wiki being an Arch noob at this point. Keep up the good work! Cheers. -- [[User:Peterg4000|Peterg4000]] ([[User talk:Peterg4000|talk]]) 00:53, 7 April 2015 (UTC)<br />
<br />
:Yes, this is a rather confusing concept: the file system type associated to a partition is a different thing from the file system that you later use to format that partition... It's explained in a bit clearer way in [[Wikipedia:Disk_partitioning#PC_partition_types]], but we should probably explain it better here too.<br />
:In theory, using "ext2", "ext3" or "ext4" when you use {{ic|(parted) mkpart}} shouldn't make any difference at all, as they all set the same partition type code. What does make a difference is the file system you choose when you actually format the partition in [[Beginners'_guide#Create_filesystems]].<br />
:Of course it's wise to make sure the ''fs-type'' corresponds to the file system that is going to be used, but even though I've never tested it, I guess you could use e.g. "NTFS" for ''fs-type'' and still be able to format the partition with ext4 or whatever file system you want.<br />
:— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:49, 7 April 2015 (UTC)<br />
<br />
:: Oh, so for ext3/4 one should just set fs-type to ext2 in parted (etc). Lesson learnt. A one liner would be good saying something like "If you don't know any better, set fs-type to ext2 (Which is the correct option for ext2/3/4), and then format with ext4 below." -- [[User:Peterg4000|Peterg4000]] ([[User talk:Peterg4000|talk]]) 23:32, 7 April 2015 (UTC)<br />
<br />
:::We needed something more generic and educational, I've added [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&action=historysubmit&diff=368977&oldid=368819], I hope it's clear enough, please re-open the discussion if it's not :) — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 07:17, 8 April 2015 (UTC)<br />
<br />
::::Looks great. Loving the Arch way, community, Wiki etc. Cheers. -- [[User:Peterg4000|Peterg4000]] ([[User talk:Peterg4000|talk]]) 08:49, 8 April 2015 (UTC)<br />
<br />
::::Actually, parted 3.2 has an explicit label for ext4: {{bc|<nowiki><br />
(parted) help mkpart <br />
mkpart PART-TYPE [FS-TYPE] START END make a partition<br />
...<br />
FS-TYPE is one of: btrfs, nilfs2, </nowiki>'''ext4, ext3'''<nowiki>, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp, linux-swap(v1), linux-swap(v0),<br />
ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6,<br />
affs5, affs4, affs3, affs2, affs1, affs0, linux-swap, linux-swap(new), linux-swap(old)<br />
...<br />
</nowiki>}}<br />
::::If they are all mapped to the same partition code is another matter, so I'm fine with the current wording. Alternatively we could leave out FS-TYPE completely, after all it is optional (but this is not reflected in the BG).<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:41, 8 April 2015 (UTC)<br />
<br />
:::::Do we want to reopen and investigate this further? Thanks for reminding of the help command, however I can find many sources that seem to confirm that many Linux native file systems (but not all of the above!) map to 0x83: [http://www.win.tue.nl/~aeb/partitions/partition_types-1.html] [http://askubuntu.com/questions/230930/whats-the-difference-of-partition-type-and-filesystem-type] [http://www.tldp.org/HOWTO/Partition-Mass-Storage-Definitions-Naming-HOWTO/x190.html] [http://thestarman.pcministry.com/asm/mbr/PartTypes.htm] [http://datarecovery.com/rd/hexadecimal-flags-for-partition-type/]. Unfortunately, as [[Wikipedia:Partition_type#Overview]] says, these codes are not standardized, so we won't be able to find an official reference. Last thing, quoting the [http://www.gnu.org/software/parted/manual/parted.html#mkpart manual], " fs-type is required for data partitions (i.e., non-extended partitions)", so I wouldn't leave it out as optional. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 09:46, 9 April 2015 (UTC)<br />
<br />
::::::The clearest would either be {{ic|mkpart primary linux}} or {{ic|mkpartfs ext4}} but I doubt either is supported... -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:47, 9 April 2015 (UTC)<br />
<br />
:::::::I doubt too, I've [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=369201&oldid=368977 replaced] the link to the manual with "help mkpart". — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:21, 10 April 2015 (UTC)<br />
<br />
:::::::I wasn't sure where to put this as I'm also new and it's really minor, but also in the parted section when making partitions it says to put 'm' for MiB, this should probably be updated as in my install just 'm' set my sizes to MB not MiB. Suggest updating or preferably instructing the user to define units when entering parted: so set units MiB or GiB or whatever so that just numbers can be used afterwards in creating partitions.[[User:Jjex22|Jjex22]] ([[User talk:Jjex22|talk]]) 05:04, 27 August 2015 (UTC)<br />
<br />
== Replace parted with cfdisk/cgdisk ==<br />
So, just wanna throw this out there for discussion. I've always found cfdisk/cgdisk to be much more beginner-friendly and intuitive than parted. Since this is the "Beginner's Guide" wouldn't it make sense to recommend using these tools? At the very least, it might be good to mention that they are visual partitioning tools when they are listed in the "partitioning tools" section. Thoughts? -- [[User:A Future Pilot|A Future Pilot]] ([[User talk:A Future Pilot|talk]]) 14:21, 13 July 2015 (UTC)<br />
<br />
:Related: [https://wiki.archlinux.org/index.php?title=Talk:Beginners%27_guide&oldid=354845#Partitioning]<br />
:I personally wouldn't mind revisiting the topic on fdisk vs. parted (unsure on the benefits of cfdisk or cgdisk - they're not "visual" besides a more-or-less clunky table format, and fdisk has a print switch). This however implies merging Parted content to [[parted]] as mentioned in [[#Plan]]. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:53, 13 July 2015 (UTC)<br />
<br />
::This could be done. The recommendations were different in the past:<br />
::* [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&oldid=259921#Example 31st May 2013] - cfdisk/cgdisk used here<br />
::* [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&oldid=321625#Prepare_the_storage_drive 26th June 2014] - cgdisk & fdisk used here<br />
::are just a couple of examples. -- [[User:Chazza|Chazza]] ([[User talk:Chazza|talk]]) 15:17, 13 July 2015 (UTC)<br />
<br />
:::I personally also favor (c)fdisk. I think it both are very clear for beginners, and they can handle both MBR and GPT (no need for (c)gdisk).<br />
:::In any case, I think we should choose a tool which can handle both GPT and MBR partitioning schemes, because otherwise things will get messy again. This is one of the reasons why we changed to parted: it supports both (and back then, there was some question about the stability of fdisk's GPT support, but I'm sure it is fine now; I've personally never has issues). [[User:Lonaowna|Lonaowna]] ([[User talk:Lonaowna|talk]]) 17:14, 13 July 2015 (UTC)<br />
<br />
::::This is obviously too subjective from those being used to one specific tool. I personally find parted to be easier to understand because you write the whole commands instead of just a couple of meaningless letters. Granted, all tools have a help page built in, provide a detailed man page and there is a bunch of "tutorials" for every possible scenario. So, is it even possible to select the "most beginner-friendly" tool or should we decide based on different factor? In any case, there should be only one tool described in detail in the BG and alternatives should be linked to. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 17:23, 13 July 2015 (UTC)<br />
<br />
:::::I agree with your last point, that there should only be one tool described in the BG.<br />
:::::But I cannot see how we can choose one on other criteria than "beginner-friendly", as all candidates should be able to provide the same functionality. What other factors are there to decide on?<br />
:::::The only I can think of is that fdisk ({{pkg|util-linux}}) is in [core] and {{Grp|base}}, and {{pkg|parted}} is not. But both are on the installation ISO, so I'm not sure if that matters at all.<br />
:::::I am afraid that there is no real criterion to decide by, except for "beginner/user-friendliness", which is indeed subjective. [[User:Lonaowna|Lonaowna]] ([[User talk:Lonaowna|talk]]) 21:22, 13 July 2015 (UTC)<br />
<br />
::::::We could circumvent the issue by adding detailed examples to the articles in question, rather than describing one particular tool in the BG. In addition, we could add a few sentences outlining basic differences between the tools. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:09, 14 July 2015 (UTC)<br />
<br />
:::::::As said, the BG switched from fdisk to parted only a few months ago (which in wiki terms means "yesterday"), so we can't keep going back and forth like in a loop. At this point, I support Alad's proposal above to move the examples to the specialized articles, which also goes in the [[#Unification]] direction (and this discussion itself is yet another argument in support of that plan). — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 11:49, 15 July 2015 (UTC)<br />
<br />
:::::::: I would like to concur with Alad and Kynikos on this. It should be up to the user to choose the appropriate tool, and the information from the BG should be merged into the [[GNU Parted]] article, which keeps the BG moving towards [[#Unification]]. [[User:Pid1|Pid1]] ([[User talk:Pid1|talk]]) 22:50, 25 July 2015 (UTC)<br />
<br />
:::::::::As proposed in [[Talk:Partitioning#remove_gdisk_instructions_for_install_medium_2013-11]], I've split [[fdisk]]: if the BG will become partitioning-tool-agnostic, that article will have to be improved as well. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:13, 29 July 2015 (UTC)<br />
<br />
== Replace systemd-boot with GRUB (UEFI) ==<br />
<br />
I'm curious if we could expand the GRUB section with a few commands for UEFI/GPT, rather than have a complete section on systemd-boot. I'm aware systemd-boot is the "default" on the ArchISO, but we don't use syslinux for BIOS/MBR installs either. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 18:30, 24 August 2015 (UTC)<br />
<br />
:Implemented [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&type=revision&diff=394027&oldid=394017]. There are a few rough edges left, but I think this can be closed. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 07:24, 27 August 2015 (UTC)<br />
<br />
::Is there any good reason for this besides the fact that it simplifies the guide? Also, the information that the EFI partition has to be at least 512MB large is just wrong. That should be removed. [[User:Protake|Protake]] ([[User talk:Protake|talk]]) 13:49, 29 August 2015 (UTC)<br />
<br />
:::Simplifying the guide / reducing duplicated efforts is reason enough. If people want to use a different boot loader, they can use the relevant articles.<br />
:::As to the ESP, we could link to [[Unified_Extensible_Firmware_Interface#EFI_System_Partition]] for details on requirements. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:01, 29 August 2015 (UTC)<br />
<br />
::::I've weakened the wording on recommended size [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=396531&oldid=396530] [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=396799&oldid=396531] [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&action=historysubmit&type=revision&diff=396808&oldid=396799]. Do you think this is enough, or should we explicitely mention a lower value? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:02, 31 August 2015 (UTC)<br />
<br />
:Personally, I think this is a really bad idea. It gives the impression that GRUB is the recommended bootloader, which is most definitely NOT the case for UEFI.<br />
:[[User:Scimmia|Scimmia]] ([[User talk:Scimmia|talk]]) 02:53, 5 September 2015 (UTC)<br />
<br />
::Thanks for pointing that out. I've replaced it, and also got rid of the arbitrary 512 MiB size. [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&type=revision&diff=398375&oldid=398253] As mentioned in the summary, this is better explained in the ESP article, and [[Beginners' guide#Prepare the storage devices]] already has a matching example.<br />
::Further thoughts ? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:50, 5 September 2015 (UTC)<br />
<br />
:::Thanks, using systemd-boot as an example is definitely better than using GRUB. Still not really ideal, IMO, but I don't have a better idea. I understand the need to have an example here.<br />
:::[[User:Scimmia|Scimmia]] ([[User talk:Scimmia|talk]]) 14:59, 8 September 2015 (UTC)<br />
<br />
== "See ''foo''" vs "See the ''foo'' article" ==<br />
<br />
This revision [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=400266&oldid=400243] added a new mention of "See the ''foo'' article", rather than the more common "See ''foo''". I'd argue former is the better form, and when the guide is viewed from a .txt (if the BG/IG merge completes), the longer wording makes sense as well. Are there opinions against using the longer form throughout the BG? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 00:13, 18 September 2015 (UTC)<br />
<br />
:I'm neutral, so that doesn't count as an opinion against ^^ That said, the long form can only be used with links to entire articles, but more difficultly with links to specific sections such as "See also [[Pacman#pacman crashes the official installation media]]", since in those cases a more natural-sounding long form should be something like "See also the 'pacman crashes the official installation media' section of the [[Pacman]] article", I think, which is clearly ugly to see and use, so consistency is a bit hard to reach. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:13, 18 September 2015 (UTC)<br />
<br />
::I guess the proper solution would be to incorporate links in the article text where possible. "See X" gets repetitive fast, anyway. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:44, 29 September 2015 (UTC)<br />
<br />
== Redirects to sections ==<br />
<br />
:''[Moved from [[User talk:Alad]]. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 00:17, 18 September 2015 (UTC)]''<br />
<br />
Are you sure about [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=next&oldid=393417 this]? I don't think javascript has anything to do with this, it should be the browser's feature. At least here with firefox + noscript everything works fine... -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:47, 23 August 2015 (UTC)<br />
<br />
:Odd, it didn't work for me (also FF/Noscript) and someone on IRC had a similar issue... I'll try again (with Chromium) and report back. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 03:43, 24 August 2015 (UTC)<br />
<br />
::Funny (not so much...), it should be [https://phabricator.wikimedia.org/T53736 #T53736] :( For example I can reproduce it on Firefox by disabling JS with the [https://addons.mozilla.org/en-us/firefox/addon/web-developer/ Web Developer] extension. What do we do, do we really start avoiding redirects to sections?? I'm against, I'd rather wait for [https://phabricator.wikimedia.org/T53736#556866 some kind] of fix upstream instead. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:55, 24 August 2015 (UTC)<br />
<br />
:::Oops, I tested it twice with and without javascript and of course the second time the URL was already mangled by the javascript from the first time. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:30, 24 August 2015 (UTC)<br />
<br />
== update packages during installation ==<br />
<br />
Can we add "pacman -Syu" to the guide? And to the Installation guide.<br />
<br />
I guess it needs to be done after "Change root" and before "Install a boot loader".<br />
<br />
On 2015-10-26 I installed Arch from the iso of 2015-10-01, and got an error when installing xorg-server because the package list was out-of-date. I had to ask for help; see https://bbs.archlinux.org/viewtopic.php?pid=1573761 {{Unsigned|13:50, 26 October 2015|J77h}}<br />
<br />
:No. ''pacstrap'' already provides you with an updated system; it's up to you to ''keep'' it updated.<br />
:That said, see [[Talk:Pacman#Don't rush updates]] for an ongoing effort on improving ''pacman''-related pages. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:37, 26 October 2015 (UTC)<br />
<br />
::I had run pacstrap only a few minutes earlier. Maybe it updated only core; the package it couldn't get was in extra. When the problem happened it didn't seem related to issues in the trouble-shooting links. Anyway, I'm new to this, so can only give a beginner's perspective: in my case an instruction to do ''pacman -Syu'' would have kept the process going smoothly. Rather than leave people to get an error, then search in complex trouble-shooting pages, couldn't you at least add a mention of the possibility that the package list from the iso might no longer match what's on the mirrors, and advise how to remove that possibility? [[User:J77h|J77h]] ([[User talk:J77h|talk]]) 15:19, 26 October 2015 (UTC)</div>J77hhttps://wiki.archlinux.org/index.php?title=Talk:Beginners%27_guide&diff=406990Talk:Beginners' guide2015-10-26T12:50:45Z<p>J77h: /* update packages during installation */ new section</p>
<hr />
<div>== Unification ==<br />
=== A single, unified official install guide ===<br />
<br />
{{Note|This is based on talk/consensus in #archlinux. The official [[Installation Guide]] page is going to be expanded (or this guide could be protected, cleaned up and replace it - either works, that could be decided here).}}<br />
<br />
Previously, there has been talk here about merging with the old official install guide, and just having a single official [[Installation Guide]]. However, that didn't happen when the old guide was removed because the [[Beginners' Guide]] was (and is) too long, with too much duplication of other pages after the point where it's necessary (getting the initial network access). In order to be an "official" document, it would also have to be protected - edits by regular users would be proposed on the talk page.<br />
<br />
The installation process now always requires network access, and the ISO ships with both a browser and an IRC client, so it's not necessary to keep so much information on this page, since we have very good coverage elsewhere that surpasses the duplication here. For example, there's no need for the [[Beginners' Guide]] to explain how to do an upgrade as [[Pacman#Upgrading packages]] has much better coverage of the gritty details, and the initial install is already fully upgraded.<br />
<br />
-- [[User:Thestinger|thestinger]] ([[User talk:Thestinger|talk]]) 21:52, 28 October 2012 (UTC)<br />
<br />
:Yes, the ISO comes with a browser ({{Pkg|elinks}}), but it's not very good with formatting. Some people may prefer to actually print the guide ''(which is a waste of paper, if you ask me, but old timers may feel differently)'', or save it as a PDF/HTML and read it on whatever device they own (smartphone, tablet, etc).<br />
<br />
No need to create a section for this, just reminding that the unification would affect {{Bug|36111}}. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 06:57, 18 August 2013 (UTC)<br />
<br />
=== Define scope of the guide ===<br />
I'd like to define the scope of the guide(s) better and whether it's OK to remove certain things from the wiki instead of marking them as 'the old way' and maybe moving them to a separate article, if needed. Currently the beginners' guide still has info related to initscripts, like [https://wiki.archlinux.org/index.php/Beginners%27_Guide#Time_zone setting the timezone], but the article on time [https://wiki.archlinux.org/index.php/Time#Time_standard has not]. -- [[User:Karol|Karol]] ([[User talk:Karol|talk]]) 09:56, 30 October 2012 (UTC)<br />
: Right now the Beginner's Guide is "A page where user can get their system installed '''without reading other pages'''". This is where the duplications come from. Maybe we can redefine it. So we can:<br />
: # Improve [[Help:Reading]]. Add some guide about Navigation, Searching, Category and Table of Contents. So users can reach the information they want more easily.<br />
: # Reduce long duplication texts. The two network configuration part is a candicate. -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 07:46, 31 October 2012 (UTC)<br />
:The reason for using the manual way of configuring is actually because timedatectl and friends won't work from inside a chroot. We could avoid that by having users reboot before configuring this stuff (time, hostname, etc. aren't critical at all) but that would require some minor restructuring, so it's something worth discussing. [[User:Thestinger|thestinger]] ([[User talk:Thestinger|talk]]) 17:28, 3 November 2012 (UTC)<br />
<br />
::''[This comment was pasted here from a different, now deleted discussion]''<br />
:: I think that the goal of the Beginners' Guide is not only to let an Arch novice install the system successfully, but also to introduce him to how an Arch Linux system is structured and the technologies it's based on: we shouldn't think of the Beginners' Guide (or any other article) as a simple howto or step-by-step guide, but as something more formative. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:40, 19 September 2012 (UTC)<br />
<br />
=== Plan ===<br />
If someone was interested and had the time to lay out here a '''detailed''' plan with indications on where to merge every section of the guide and a report of all the problems that could be encountered in the process, it would definitely be the final step before announcing the unification on the forums with full support from the admins, which would mean that at that point only strong and reasonable objections could prevent the unification. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 06:44, 18 August 2013 (UTC)<br />
<br />
Here is a list of sections that should be merged. Feel free to expand, comment in [[#Comments]]. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 18:26, 31 August 2013 (UTC)<br />
<br />
* [[Beginners' guide#Prepare the storage devices]]. See [[#Replace_parted_with_cfdisk.2Fcgdisk]].<br />
** Contains more information on parted than the actual [[parted]], merge back details.<br />
** Improve the [[fdisk]] article and use it as a possible method of partioning.<br />
** Information on dual-booting with Windows could be linked earlier in the article.<br />
** Use [[:Category:Partitioning]] instead of a list of partitioning tools?<br />
** Small TL;DR on difference between BIOS and UEFI, or place it in the [[UEFI]] article.<br />
** MBR: limit of 4 partitions and use of Extended partitions. This isn't mentioned in the [[MBR]] article, but in [[GUID Partition Table]]!<br />
* [[Beginners' guide#Wireless_2]]: "processes", elaborate in [[netctl]] instead? Also, no reference to the copied configuration file in [[#Establish an internet connection]].<br />
* [[Beginners' guide#Establish an internet connection]]: dhcpcd is only enabled for wired interfaces, if you have none the stop command doesn't apply. [https://projects.archlinux.org/archiso.git/tree/configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules]<br />
* Link to typographic conventions used on wiki pages where applicable.<br />
** ''pacman'': [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=400266&oldid=400243]<br />
** ''systemctl''<br />
* Lay out remaining differences with the [[Installation guide]], and either merge or discard them on a '''case-by-case basis'''.<br />
** Relation between ''genfstab'' and ''swapon''.<br />
* [[Beginners' guide#Mirrors]]<br />
** The idea ships a ready mirror file, and modifying it is recommended, though not necessary.<br />
** Reword to include local considerations?<br />
* Move instructions on BIOS boot order to [[USB flash installation media]].<br />
* Tip on using ''elinks'' to browse the guide in another TTY, and ''irssi'' to discuss issues from the live environment.<br />
* Warning on avoiding "tutorials" not hosted on the wiki main space.<br />
* Mention --help / -h as a manual is not always available.<br />
<br />
==== General problems ====<br />
<br />
* (Not sure if an actual problem) Make effective use of links so that at most two clicks are required to find the right section. Avoid redundancy.<br />
* Just a general reminder to those working on this: keep track of how your changes impact users (follow this discussion page, [https://bbs.archlinux.org/viewforum.php?id=17 BBS Installation] and [[IRC]])<br />
* [[Swap]] is ''not'' optional. [http://unix.stackexchange.com/a/190521]<br />
** Or at least recommended in most cases.<br />
* Use {{ic|Tab}} more in instructions?<br />
<br />
==== Comments ====<br />
<br />
=== Installation template ===<br />
<br />
Another alternative way to unify the two main guides would be to follow the same philosophy we used to write the scenarios in [[Dm-crypt_with_LUKS/Encrypting_an_entire_system]], originally discussed in [[Talk:Dm-crypt#New_idea]]: the new installation guide could be a bare, though ''complete'', list of commands and simple instructions needed to install the system in one example scenario, with links to the various relevant articles for detailed information and adaptations to specific cases. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 21:18, 27 March 2014 (UTC)<br />
<br />
:Well, the Beginners' guide suffers from issues related to both content and style, and I really think they need to be addressed at the same time. Every suggestion so far deals only with one problem.<br />
:'''Content:''' I agree that the purpose of the guide (be it Beginners' or Installation) should be to describe only one scenario and provide links to other articles describing the alternatives. I really like ''this part'' of your suggestion, but it solves only half of the problem.<br />
:'''Style:''' The biggest problem is that Beginners' guide is unique mixture of ''introduction to reading ArchWiki'' and ''introduction to installing and '''using''' Arch Linux'', which are simply inseparable in the context of BG - you just can't expect newcomers to first read [[Help:Reading]] and only then start installing their system. So, there is a little bit of anarchy, as the BG is mostly excused from the [[Help:Style|style guidelines]] and there are no guidelines specifically for the BG. Unifying the two guides would necessarily mean a compromise regarding style, which would not be the best for either beginners or gurus.<br />
:Also, I think that it is a good thing that BG is readable ''without reading other pages'' (as defined in [[#Define scope of the guide]]), because it implies that the most important things have been collected and the readers don't have to click-and-search ''too much''. This is really important for the newcomers, because the orientation in the graph of internal links (I wanted to visualize the graph, but it's just too big) is really difficult - they would need to read dozens of pages (with some [[Help:Style|alien style]] applied) before they had the basic system running. On the other hand, one of the main points of BG should be to prepare the readers for other ArchWiki articles, but sometimes the readers are [https://wiki.archlinux.org/index.php?title=Talk:NetworkManager&diff=291207&oldid=285657 too] [https://wiki.archlinux.org/index.php?title=Talk:NetworkManager&diff=304473&oldid=295238 spoiled].<br />
:Well, that is my defence of keeping both IG and BG. In my opinion it is enough to just properly define the scope of BG and trim it down to ease the maintenance, addressing the ''content'' part. But of course if there is a suggestion on merging the two guides addressing the ''style'' issues, let's hear it!<br />
:-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 11:16, 30 March 2014 (UTC)<br />
<br />
::About the style issue, I don't think experienced users would be so bothered by some pacman, systemctl or nano examples, and the unified guide should probably explicitly warn users that they won't find similar examples in the other articles, which would be a perfect way to invite them to become familiar with [[pacman]], [[systemd]], [[Help:Reading]]... Besides, if the guide will be properly structured, experienced users who don't have their own custom installation notes will be able to just follow the automatic ToC as a memory refresher.<br />
::I disagree that the fact that the "BG is readable ''without reading other pages''" is a good thing, as that's exactly the reason that makes it hard to maintain and encourages duplication of information; if users were used to follow links instead, most of the efforts now spent in improving the BG would be instead spent in properly improving the linked articles, which would then become as easy to follow as the BG is now.<br />
::Anyway, I've proposed a change in [[#Comments]] (under [[#Plan]]) that I think should be more likely to reach general consensus, and that would already be a good step forward.<br />
::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:35, 31 March 2014 (UTC)<br />
<br />
:::I'm beginning to understand the need for merging. After the BG is slimmed down to cover only one example scenario, the title will be just wrong and the scope will be ''exactly'' the same as for IG. It all depends on whether different target audience and related style differences are enough to justify two guides.<br />
:::I hate being the blocker, so let's slim down BG and when it comes to the point of merging with IG, at least it will not be so shocking. I can't help but to think about it as simple redirecting of BG to IG, which will be (more or less) the eventual outcome, so I will need some time to absorb.<br />
:::Finally, we should also look at [[ArchWiki:Requests#Cleanup: installation category]], so that [[:Category:Getting and installing Arch]] is actually useful for providing alternative scenarios, and to ensure there is a place where to move excessive information from the BG.<br />
:::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:35, 7 April 2014 (UTC)<br />
<br />
::::You are not "the blocker", every opinion is as valuable as the others if well argumented, be it for or against the proposal. Especially in this case where we seem to be the only 2 people interested in discussing...<br />
::::If the unification will eventually be completed, of course the BG will become a redirect to the IG, and the latter will be unprotected (and well watched so it's not turned again into a BG).<br />
::::Let's go on with the change very gradually, that's definitely the best way to let everyone successfully and happily adapt to the new way of following the document, which, if done properly, will be even easier and clearer (no need to compare two guides anymore, just to mention an advantage).<br />
::::Of course [[ArchWiki:Requests#Cleanup: installation category]] is strictly linked to all this, I'll try to get there too.<br />
::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:26, 9 April 2014 (UTC)<br />
<br />
:::::Just as a note, [[:Category:Getting and installing Arch]] has since made great progress, and replaced most of the "introductory" content in the BG. :) [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=394011&oldid=393888] [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=400221&oldid=400209] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 00:21, 18 September 2015 (UTC)<br />
<br />
=== Page protection ===<br />
<br />
I personally would suggest leaving the Installation guide locked after the merger (even if that would lock me out also :). Thing is, if someone went through the effort of researching an addition to the guide, it would be easy for them to bring it up here, in the talk page, and easier for the community to discuss (and implement, if applicable). <br />
<br />
Leaving the Installation guide unprotected however would make it open to hasty edits. Even if the IG were well watched as said, a made edit's context may not be sufficiently clear to "judge" it on the spot (confirmed by [[ArchWiki:Reports]]). Having contested content remain (however short) on the main, "official" installation reference is less than ideal.<br />
<br />
A compromise may be similar to the [[IRC]] page, which is not protected in the technical sense, but has a warning urging users not to edit the page without prior consensus. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 23:30, 19 February 2015 (UTC)<br />
<br />
:Once upon a time, I absolutely don't even remember where, we even discussed the option of keeping the guide in a protected page, but do all the modifications in a separate open page (as if they were two "master" and "devel" branches), with the admins periodically approving and merging the unstable page into the official one. Thanks to the recently introduced [[Special:MergeHistory]] tool, this job could be easier nowadays. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:06, 20 February 2015 (UTC)<br />
<br />
::That sounds like a good option. Working hypothesis: to make users accustomed to the idea, we could now add a note at the top of the BG, suggesting to first discuss changes on the talk page. After the merger this note would then point to the "development" page. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 20:39, 16 March 2015 (UTC)<br />
<br />
:::I think that [[Special:MergeHistory]] is too primitive tool for this, AFAIK its only way of operation is "merge all revisions ''up to'' specified one", i.e. there is no ''cherry-picking'' of feasible revisions. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 20:50, 16 March 2015 (UTC)<br />
<br />
::::@Alad I'm still thinking about it, I'm not sure whether having 2 protected installation guides would be too confusing. The branch method would certainly be well suited if we really ended up merging the guides into one.<br />
::::@Lahwaacz The way it would work would be (''master'' is protected, contains the whole revisions history and ''will not receive direct edits'' by anyone, including admins):<br />
:::::# ''develop'' is initialized with a simple copy of the latest revision of ''master''<br />
:::::# Some users make some edits to ''develop''<br />
:::::# The wiki staff amends/undos ''develop'' as necessary with additional edits (like it happens now in the only branch)<br />
:::::# Once ''develop'' is considered in a good state, [[Special:MergeHistory]] can be used safely, no need for cherry-picking<br />
:::::# Go back to 1 (at this step ''develop'' is a redirect to ''master'')<br />
::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:09, 17 March 2015 (UTC)<br />
<br />
::::A simpler alternative with the same effect would be maintaining a link that points to the latest officially approved revision in the history of the article, for example in a Note in the intro. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:13, 17 March 2015 (UTC)<br />
<br />
:::::Take your time, it will take a lot more work to get the BG anywhere near ready for merging. A link with note sounds viable as well; we could add a table with different options below. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 22:08, 17 March 2015 (UTC)<br />
<br />
::::::To add another suggestion, the Talk page of both guides works well in implementing and discussing changes, ''when used''. Often, you see remarks scattered throughout IRC and the forums. As such, we could expand the scope by opening a new thread in the forums, e.g "The Installation Guide thread" and ask it to be made sticky. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 17:25, 27 August 2015 (UTC)<br />
::::::We could even suggest users to make a (partial) copy in their user pages to propose their changes. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:11, 31 August 2015 (UTC)<br />
<br />
== Linked to 'parted' Manual doesn't list ext3 or ext4 for fs-type ==<br />
<br />
Hi guys. Recent Arch convert here. Loving it. No bloat! Noticed this during Beginners Guid install though:<br />
<br />
In the section on using parted ( [[Beginners%27_guide#Partition_schemes]] ), it links to the Gnu parted manual at [http://www.gnu.org/software/parted/manual/parted.html#mkpart http://www.gnu.org/software/parted/manual/parted.html#mkpart] for fs-types, but the (rather dated?) manual doesn't list ext3 or ext4. At this point I 'guessed' ext2 was the right choice... Only to find that LATER in the 'Beginners Guide' page it recommended ext4. Damn! Wasn't sure if I had to go back and re-do. Seemed not. But anyway, confusing for 'Beginners'. Anyway, dare not edit the wiki being an Arch noob at this point. Keep up the good work! Cheers. -- [[User:Peterg4000|Peterg4000]] ([[User talk:Peterg4000|talk]]) 00:53, 7 April 2015 (UTC)<br />
<br />
:Yes, this is a rather confusing concept: the file system type associated to a partition is a different thing from the file system that you later use to format that partition... It's explained in a bit clearer way in [[Wikipedia:Disk_partitioning#PC_partition_types]], but we should probably explain it better here too.<br />
:In theory, using "ext2", "ext3" or "ext4" when you use {{ic|(parted) mkpart}} shouldn't make any difference at all, as they all set the same partition type code. What does make a difference is the file system you choose when you actually format the partition in [[Beginners'_guide#Create_filesystems]].<br />
:Of course it's wise to make sure the ''fs-type'' corresponds to the file system that is going to be used, but even though I've never tested it, I guess you could use e.g. "NTFS" for ''fs-type'' and still be able to format the partition with ext4 or whatever file system you want.<br />
:— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:49, 7 April 2015 (UTC)<br />
<br />
:: Oh, so for ext3/4 one should just set fs-type to ext2 in parted (etc). Lesson learnt. A one liner would be good saying something like "If you don't know any better, set fs-type to ext2 (Which is the correct option for ext2/3/4), and then format with ext4 below." -- [[User:Peterg4000|Peterg4000]] ([[User talk:Peterg4000|talk]]) 23:32, 7 April 2015 (UTC)<br />
<br />
:::We needed something more generic and educational, I've added [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&action=historysubmit&diff=368977&oldid=368819], I hope it's clear enough, please re-open the discussion if it's not :) — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 07:17, 8 April 2015 (UTC)<br />
<br />
::::Looks great. Loving the Arch way, community, Wiki etc. Cheers. -- [[User:Peterg4000|Peterg4000]] ([[User talk:Peterg4000|talk]]) 08:49, 8 April 2015 (UTC)<br />
<br />
::::Actually, parted 3.2 has an explicit label for ext4: {{bc|<nowiki><br />
(parted) help mkpart <br />
mkpart PART-TYPE [FS-TYPE] START END make a partition<br />
...<br />
FS-TYPE is one of: btrfs, nilfs2, </nowiki>'''ext4, ext3'''<nowiki>, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp, linux-swap(v1), linux-swap(v0),<br />
ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6,<br />
affs5, affs4, affs3, affs2, affs1, affs0, linux-swap, linux-swap(new), linux-swap(old)<br />
...<br />
</nowiki>}}<br />
::::If they are all mapped to the same partition code is another matter, so I'm fine with the current wording. Alternatively we could leave out FS-TYPE completely, after all it is optional (but this is not reflected in the BG).<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:41, 8 April 2015 (UTC)<br />
<br />
:::::Do we want to reopen and investigate this further? Thanks for reminding of the help command, however I can find many sources that seem to confirm that many Linux native file systems (but not all of the above!) map to 0x83: [http://www.win.tue.nl/~aeb/partitions/partition_types-1.html] [http://askubuntu.com/questions/230930/whats-the-difference-of-partition-type-and-filesystem-type] [http://www.tldp.org/HOWTO/Partition-Mass-Storage-Definitions-Naming-HOWTO/x190.html] [http://thestarman.pcministry.com/asm/mbr/PartTypes.htm] [http://datarecovery.com/rd/hexadecimal-flags-for-partition-type/]. Unfortunately, as [[Wikipedia:Partition_type#Overview]] says, these codes are not standardized, so we won't be able to find an official reference. Last thing, quoting the [http://www.gnu.org/software/parted/manual/parted.html#mkpart manual], " fs-type is required for data partitions (i.e., non-extended partitions)", so I wouldn't leave it out as optional. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 09:46, 9 April 2015 (UTC)<br />
<br />
::::::The clearest would either be {{ic|mkpart primary linux}} or {{ic|mkpartfs ext4}} but I doubt either is supported... -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:47, 9 April 2015 (UTC)<br />
<br />
:::::::I doubt too, I've [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=369201&oldid=368977 replaced] the link to the manual with "help mkpart". — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:21, 10 April 2015 (UTC)<br />
<br />
:::::::I wasn't sure where to put this as I'm also new and it's really minor, but also in the parted section when making partitions it says to put 'm' for MiB, this should probably be updated as in my install just 'm' set my sizes to MB not MiB. Suggest updating or preferably instructing the user to define units when entering parted: so set units MiB or GiB or whatever so that just numbers can be used afterwards in creating partitions.[[User:Jjex22|Jjex22]] ([[User talk:Jjex22|talk]]) 05:04, 27 August 2015 (UTC)<br />
<br />
== Replace parted with cfdisk/cgdisk ==<br />
So, just wanna throw this out there for discussion. I've always found cfdisk/cgdisk to be much more beginner-friendly and intuitive than parted. Since this is the "Beginner's Guide" wouldn't it make sense to recommend using these tools? At the very least, it might be good to mention that they are visual partitioning tools when they are listed in the "partitioning tools" section. Thoughts? -- [[User:A Future Pilot|A Future Pilot]] ([[User talk:A Future Pilot|talk]]) 14:21, 13 July 2015 (UTC)<br />
<br />
:Related: [https://wiki.archlinux.org/index.php?title=Talk:Beginners%27_guide&oldid=354845#Partitioning]<br />
:I personally wouldn't mind revisiting the topic on fdisk vs. parted (unsure on the benefits of cfdisk or cgdisk - they're not "visual" besides a more-or-less clunky table format, and fdisk has a print switch). This however implies merging Parted content to [[parted]] as mentioned in [[#Plan]]. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:53, 13 July 2015 (UTC)<br />
<br />
::This could be done. The recommendations were different in the past:<br />
::* [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&oldid=259921#Example 31st May 2013] - cfdisk/cgdisk used here<br />
::* [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&oldid=321625#Prepare_the_storage_drive 26th June 2014] - cgdisk & fdisk used here<br />
::are just a couple of examples. -- [[User:Chazza|Chazza]] ([[User talk:Chazza|talk]]) 15:17, 13 July 2015 (UTC)<br />
<br />
:::I personally also favor (c)fdisk. I think it both are very clear for beginners, and they can handle both MBR and GPT (no need for (c)gdisk).<br />
:::In any case, I think we should choose a tool which can handle both GPT and MBR partitioning schemes, because otherwise things will get messy again. This is one of the reasons why we changed to parted: it supports both (and back then, there was some question about the stability of fdisk's GPT support, but I'm sure it is fine now; I've personally never has issues). [[User:Lonaowna|Lonaowna]] ([[User talk:Lonaowna|talk]]) 17:14, 13 July 2015 (UTC)<br />
<br />
::::This is obviously too subjective from those being used to one specific tool. I personally find parted to be easier to understand because you write the whole commands instead of just a couple of meaningless letters. Granted, all tools have a help page built in, provide a detailed man page and there is a bunch of "tutorials" for every possible scenario. So, is it even possible to select the "most beginner-friendly" tool or should we decide based on different factor? In any case, there should be only one tool described in detail in the BG and alternatives should be linked to. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 17:23, 13 July 2015 (UTC)<br />
<br />
:::::I agree with your last point, that there should only be one tool described in the BG.<br />
:::::But I cannot see how we can choose one on other criteria than "beginner-friendly", as all candidates should be able to provide the same functionality. What other factors are there to decide on?<br />
:::::The only I can think of is that fdisk ({{pkg|util-linux}}) is in [core] and {{Grp|base}}, and {{pkg|parted}} is not. But both are on the installation ISO, so I'm not sure if that matters at all.<br />
:::::I am afraid that there is no real criterion to decide by, except for "beginner/user-friendliness", which is indeed subjective. [[User:Lonaowna|Lonaowna]] ([[User talk:Lonaowna|talk]]) 21:22, 13 July 2015 (UTC)<br />
<br />
::::::We could circumvent the issue by adding detailed examples to the articles in question, rather than describing one particular tool in the BG. In addition, we could add a few sentences outlining basic differences between the tools. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:09, 14 July 2015 (UTC)<br />
<br />
:::::::As said, the BG switched from fdisk to parted only a few months ago (which in wiki terms means "yesterday"), so we can't keep going back and forth like in a loop. At this point, I support Alad's proposal above to move the examples to the specialized articles, which also goes in the [[#Unification]] direction (and this discussion itself is yet another argument in support of that plan). — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 11:49, 15 July 2015 (UTC)<br />
<br />
:::::::: I would like to concur with Alad and Kynikos on this. It should be up to the user to choose the appropriate tool, and the information from the BG should be merged into the [[GNU Parted]] article, which keeps the BG moving towards [[#Unification]]. [[User:Pid1|Pid1]] ([[User talk:Pid1|talk]]) 22:50, 25 July 2015 (UTC)<br />
<br />
:::::::::As proposed in [[Talk:Partitioning#remove_gdisk_instructions_for_install_medium_2013-11]], I've split [[fdisk]]: if the BG will become partitioning-tool-agnostic, that article will have to be improved as well. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:13, 29 July 2015 (UTC)<br />
<br />
== Replace systemd-boot with GRUB (UEFI) ==<br />
<br />
I'm curious if we could expand the GRUB section with a few commands for UEFI/GPT, rather than have a complete section on systemd-boot. I'm aware systemd-boot is the "default" on the ArchISO, but we don't use syslinux for BIOS/MBR installs either. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 18:30, 24 August 2015 (UTC)<br />
<br />
:Implemented [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&type=revision&diff=394027&oldid=394017]. There are a few rough edges left, but I think this can be closed. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 07:24, 27 August 2015 (UTC)<br />
<br />
::Is there any good reason for this besides the fact that it simplifies the guide? Also, the information that the EFI partition has to be at least 512MB large is just wrong. That should be removed. [[User:Protake|Protake]] ([[User talk:Protake|talk]]) 13:49, 29 August 2015 (UTC)<br />
<br />
:::Simplifying the guide / reducing duplicated efforts is reason enough. If people want to use a different boot loader, they can use the relevant articles.<br />
:::As to the ESP, we could link to [[Unified_Extensible_Firmware_Interface#EFI_System_Partition]] for details on requirements. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:01, 29 August 2015 (UTC)<br />
<br />
::::I've weakened the wording on recommended size [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=396531&oldid=396530] [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=396799&oldid=396531] [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&action=historysubmit&type=revision&diff=396808&oldid=396799]. Do you think this is enough, or should we explicitely mention a lower value? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:02, 31 August 2015 (UTC)<br />
<br />
:Personally, I think this is a really bad idea. It gives the impression that GRUB is the recommended bootloader, which is most definitely NOT the case for UEFI.<br />
:[[User:Scimmia|Scimmia]] ([[User talk:Scimmia|talk]]) 02:53, 5 September 2015 (UTC)<br />
<br />
::Thanks for pointing that out. I've replaced it, and also got rid of the arbitrary 512 MiB size. [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&type=revision&diff=398375&oldid=398253] As mentioned in the summary, this is better explained in the ESP article, and [[Beginners' guide#Prepare the storage devices]] already has a matching example.<br />
::Further thoughts ? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:50, 5 September 2015 (UTC)<br />
<br />
:::Thanks, using systemd-boot as an example is definitely better than using GRUB. Still not really ideal, IMO, but I don't have a better idea. I understand the need to have an example here.<br />
:::[[User:Scimmia|Scimmia]] ([[User talk:Scimmia|talk]]) 14:59, 8 September 2015 (UTC)<br />
<br />
== "See ''foo''" vs "See the ''foo'' article" ==<br />
<br />
This revision [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=400266&oldid=400243] added a new mention of "See the ''foo'' article", rather than the more common "See ''foo''". I'd argue former is the better form, and when the guide is viewed from a .txt (if the BG/IG merge completes), the longer wording makes sense as well. Are there opinions against using the longer form throughout the BG? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 00:13, 18 September 2015 (UTC)<br />
<br />
:I'm neutral, so that doesn't count as an opinion against ^^ That said, the long form can only be used with links to entire articles, but more difficultly with links to specific sections such as "See also [[Pacman#pacman crashes the official installation media]]", since in those cases a more natural-sounding long form should be something like "See also the 'pacman crashes the official installation media' section of the [[Pacman]] article", I think, which is clearly ugly to see and use, so consistency is a bit hard to reach. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:13, 18 September 2015 (UTC)<br />
<br />
::I guess the proper solution would be to incorporate links in the article text where possible. "See X" gets repetitive fast, anyway. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:44, 29 September 2015 (UTC)<br />
<br />
== Redirects to sections ==<br />
<br />
:''[Moved from [[User talk:Alad]]. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 00:17, 18 September 2015 (UTC)]''<br />
<br />
Are you sure about [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=next&oldid=393417 this]? I don't think javascript has anything to do with this, it should be the browser's feature. At least here with firefox + noscript everything works fine... -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:47, 23 August 2015 (UTC)<br />
<br />
:Odd, it didn't work for me (also FF/Noscript) and someone on IRC had a similar issue... I'll try again (with Chromium) and report back. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 03:43, 24 August 2015 (UTC)<br />
<br />
::Funny (not so much...), it should be [https://phabricator.wikimedia.org/T53736 #T53736] :( For example I can reproduce it on Firefox by disabling JS with the [https://addons.mozilla.org/en-us/firefox/addon/web-developer/ Web Developer] extension. What do we do, do we really start avoiding redirects to sections?? I'm against, I'd rather wait for [https://phabricator.wikimedia.org/T53736#556866 some kind] of fix upstream instead. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:55, 24 August 2015 (UTC)<br />
<br />
:::Oops, I tested it twice with and without javascript and of course the second time the URL was already mangled by the javascript from the first time. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:30, 24 August 2015 (UTC)<br />
<br />
==<s> Incorrect jumplink? </s>==<br />
<br />
Is the "#Configure_the_base_system" jumplink supposed to go to "#Configuration"? -- [[User:Jedihawk|Jedihawk]] ([[User talk:Jedihawk|talk]]) 22:37, 17 October 2015 (UTC)<br />
<br />
:Fixed, thank you. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 23:09, 17 October 2015 (UTC)<br />
<br />
Might have found another one: Near the end, "#Wireless" points to it's own section (just a few lines above), rather than "#Connect_to_the_Internet" up above. Is that right? -- [[User:Jedihawk|Jedihawk]] ([[User talk:Jedihawk|talk]]) 00:12, 18 October 2015 (UTC)<br />
<br />
:Sorry about that. How about now? [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=405375&oldid=405365] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 00:27, 18 October 2015 (UTC)<br />
<br />
::Sure sure, that seems fine. Thanks. -- [[User:Jedihawk|Jedihawk]] ([[User talk:Jedihawk|talk]]) 00:46, 18 October 2015 (UTC)<br />
<br />
:::I've checked all the current jumplinks with Wiki Monkey, and they're all good, closing. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:13, 19 October 2015 (UTC)<br />
<br />
== update packages during installation ==<br />
<br />
Can we add "pacman -Syu" to the guide? And to the Installation guide.<br />
<br />
I guess it needs to be done after "Change root" and before "Install a boot loader".<br />
<br />
On 2015-10-26 I installed Arch from the iso of 2015-10-01, and got an error when installing xorg-server because the package list was out-of-date. I had to ask for help; see https://bbs.archlinux.org/viewtopic.php?pid=1573761</div>J77hhttps://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=263230Beginners' guide2013-06-18T09:56:12Z<p>J77h: /* GRUB */ add link: Install_to_GPT_BIOS_boot_partition</p>
<hr />
<div><noinclude><br />
[[Category:Getting and installing Arch]]<br />
[[Category:About Arch]]<br />
[[ar:Beginners' Guide/Installation]]<br />
[[da:Beginners' Guide/Installation]]<br />
[[es:Beginners' Guide/Installation]]<br />
[[hr:Beginners' Guide/Installation]]<br />
[[hu:Beginners' Guide/Installation]]<br />
[[it:Beginners' Guide/Installation]]<br />
[[ja:Beginners' Guide/Installation]]<br />
[[ko:Beginners' Guide/Installation]]<br />
[[nl:Beginners' Guide/Installatie]]<br />
[[pl:Beginners' Guide/Installation]]<br />
[[pt:Beginners' Guide/Installation]]<br />
[[ro:Ghidul începătorilor/Instalare]]<br />
[[ru:Beginners' Guide/Installation]]<br />
[[sr:Beginners' Guide/Installation]]<br />
[[zh-CN:Beginners' Guide/Installation]]<br />
[[zh-TW:Beginners' Guide/Installation]]<br />
{{Tip|This is part of a multi-page article for The Beginners' Guide. '''[[Beginners' Guide|Click here]]''' if you would rather read the guide in its entirety.}}<br />
</noinclude><br />
== Installation ==<br />
<br />
You are now presented with a shell prompt, automatically logged in as root.<br />
<br />
=== Change the language ===<br />
<br />
{{Tip|These are optional for the majority of users. Useful only if you plan on writing in your own language in any of the configuration files, if you use diacritical marks in the Wi-Fi password, or if you would like to receive system messages (e.g. possible errors) in your own language.}}<br />
<br />
By default, the keyboard layout is set to {{ic|us}}. If you have a non-[[Wikipedia:File:KB United States-NoAltGr.svg|US]] keyboard layout, run:<br />
<br />
# loadkeys ''layout''<br />
<br />
...where ''layout'' can be {{ic|fr}}, {{ic|uk}}, {{ic|dvorak}}, {{ic|be-latin1}}, etc. See [[KEYMAP#Keyboard layouts|here]] for a comprehensive list.<br />
<br />
The font should also be changed, because most languages use more glyphs than the 26 letter [[Wikipedia:English alphabet|English alphabet]]. Otherwise some foreign characters may show up as white squares or as other symbols. Note that the name is case-sensitive, so please type it ''exactly'' as you see it:<br />
<br />
# setfont Lat2-Terminus16<br />
<br />
By default, the language is set to English (US). If you would like to change the language for the install process ''(German, in this example)'', remove the {{ic|#}} in front of the [http://www.greendesktiny.com/support/knowledgebase_detail.php?ref=EUH-483 locale] you want from {{ic|/etc/locale.gen}}, along with English (US). Please choose the {{ic|UTF-8}} entry.<br />
<br />
Use {{Keypress|Ctrl+X}} to exit, and when prompted to save changes, press {{Keypress|Y}} and {{Keypress|Enter}} to use the same filename.<br />
<br />
{{hc|# nano /etc/locale.gen|<br />
en_US.UTF-8 UTF-8<br />
de_DE.UTF-8 UTF-8}}<br />
<br />
# locale-gen<br />
# export LANG=de_DE.UTF-8<br />
<br />
Remember, {{Keypress|LAlt+LShift}} activates and deactivates the keymap.<br />
<br />
=== Establish an internet connection ===<br />
<br />
{{Warning|As of v197, udev no longer assigns network interface names according to the wlanX and ethX naming scheme. If you are coming from a different distribution or are reinstalling Arch and not aware of the new interface naming style, please do not assume that your wireless interface is named wlan0, or that your wired interface is named eth0. You can use the command {{ic|ip link}} to discover the names of your interfaces.}}<br />
<br />
The {{ic|dhcpcd}} network daemon starts automatically during boot and it will attempt to start a wired connection. Try to ping a server to see if a connection was established. For example, Google's DNS servers:<br />
<br />
{{hc|# ping -c 3 www.google.com|2=<br />
PING www.l.google.com (74.125.132.105) 56(84) bytes of data.<br />
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms<br />
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms<br />
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms}}<br />
<br />
If you get a {{ic|ping: unknown host}} error, first check if there is an issue with your cable or wireless signal strength. If not, you will need to set up the network manually, as explained below. Once a connection is established move on to [[#Prepare the storage drive|Prepare the storage drive]].<br />
<br />
==== Wired ====<br />
<br />
Follow this procedure if you need to set up a wired connection via a static IP address.<br />
<br />
First, disable the dhcpcd service which was started automatically at boot:<br />
<br />
# systemctl stop dhcpcd.service<br />
<br />
Identify the name of your Ethernet interface.<br />
<br />
{{hc|# ip link|<br />
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT<br />
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<br />
2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000<br />
link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff<br />
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000<br />
link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff}}<br />
<br />
In this example, the Ethernet interface is {{ic|enp2s0f0}}. If you are unsure, your Ethernet interface is likely to start with the letter "e", and unlikely to be "lo" or start with the letter "w". You can also use {{ic|iwconfig}} and see which interfaces are not wireless:<br />
<br />
{{hc|# iwconfig|2=<br />
enp2s0f0 no wireless extensions.<br />
wlp3s0 IEEE 802.11bgn ESSID:"NETGEAR97"<br />
Mode:Managed Frequency:2.427 GHz Access Point: 2C:B0:5D:9C:72:BF<br />
Bit Rate=65 Mb/s Tx-Power=16 dBm<br />
Retry long limit:7 RTS thr:off Fragment thr:off<br />
Power Management:on<br />
Link Quality=61/70 Signal level=-49 dBm<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:430 Missed beacon:0<br />
lo no wireless extensions.}}<br />
<br />
In this example, neither {{ic|enp2s0f0}} nor the loopback device have wireless extensions, meaning {{ic|enp2s0f0}} is our Ethernet interface.<br />
<br />
You also need to know these settings:<br />
<br />
* Static IP address.<br />
* Subnet mask.<br />
* Gateway's IP address.<br />
* Name servers' (DNS) IP addresses.<br />
* Domain name (unless you are on a local LAN, in which case you can make it up).<br />
<br />
Activate the connected Ethernet interface (e.g. {{ic|enp2s0f0}}):<br />
<br />
# ip link set enp2s0f0 up<br />
<br />
Add the address:<br />
<br />
# ip addr add ''ip_address''/''subnetmask'' dev ''interface_name''<br />
<br />
For example:<br />
<br />
# ip addr add 192.168.1.2/24 dev enp2s0f0<br />
<br />
For more options, run {{ic|man ip}}.<br />
<br />
Add your gateway like this, substituting your own gateway's IP address:<br />
<br />
# ip route add default via ''ip_address''<br />
<br />
For example:<br />
<br />
# ip route add default via 192.168.1.1<br />
<br />
Edit {{ic|resolv.conf}}, substituting your name servers' IP addresses and your local domain name:<br />
<br />
{{hc|# nano /etc/resolv.conf|<br />
nameserver 61.23.173.5<br />
nameserver 61.95.849.8<br />
search example.com}}<br />
<br />
{{Note|Currently, you may include a maximum of three {{ic|nameserver}} lines.}}<br />
<br />
You should now have a working network connection. If you do not, check the detailed [[Network Configuration]] page.<br />
<br />
==== Wireless ====<br />
<br />
Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process.<br />
<br />
First, identify the name of your wireless interface.<br />
<br />
{{hc|# iw dev|2=<br />
phy#0<br />
Interface wlp3s0<br />
ifindex 3<br />
wdev 0x1<br />
addr 00:21:6a:5e:52:bc<br />
type managed<br />
}}<br />
<br />
In this example, {{ic|wlp3s0}} is the available wireless interface. If you are unsure, your wireless interface is likely to start with the letter "w", and unlikely to be "lo" or start with the letter "e". <br />
<br />
{{Note|If you do not see output similar to this, then your wireless driver has not been loaded. If this is the case, you must load the driver yourself. Please see [[Wireless Setup]] for more detailed information.}}<br />
<br />
Bring the interface up with:<br />
<br />
# ip link set wlp3s0 up<br />
<br />
A small percentage of wireless chipsets also require firmware, in addition to a corresponding driver. If you get output like {{ic|SIOCSIFFLAGS: No such file or directory}}, this means you will need to manually load the firmware. If unsure, invoke {{ic|dmesg}} to query the kernel log for a firmware request from the wireless chipset. For example, if you have an Intel chipset which requires and has requested firmware from the kernel at boot:<br />
<br />
{{hc|# dmesg <nowiki>|</nowiki> grep firmware|<br />
firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
If there is no output, it may be concluded that the system's wireless chipset does not require firmware.<br />
<br />
{{Warning|Wireless chipset firmware packages (for cards which require them) are pre-installed under {{ic|/usr/lib/firmware}} in the live environment (on CD/USB stick) '''but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it!''' Package installation is covered later in this guide. Ensure installation of both your wireless module and firmware before rebooting! See [[Wireless Setup]] if you are unsure about the requirement of corresponding firmware installation for your particular chipset.}}<br />
<br />
Next, use {{Pkg|netctl}}'s {{ic|wifi-menu}} to connect to a network:<br />
<br />
# wifi-menu wlp3s0<br />
<br />
You should now have a working network connection. If you do not, check the detailed [[Wireless Setup]] page.<br />
<br />
Alternatively, use {{ic|iw dev wlp3s0 scan <nowiki>|</nowiki> grep SSID}} to scan for available networks, then connect to a network with:<br />
<br />
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "''ssid''" "''psk''")<br />
<br />
You need to replace ''ssid'' with the name of your network (e.g. "Linksys etc...") and ''psk'' with your wireless password, '''leaving the quotes around the network name and password.'''<br />
<br />
Finally, you have to give your interface an IP address. This can be set manually or using the dhcp:<br />
<br />
# dhcpd wlp3s0<br />
<br />
==== Analog modem, ISDN or PPoE DSL ====<br />
<br />
For xDSL, dial-up and ISDN connections, see [[Direct Modem Connection]].<br />
<br />
==== Behind a proxy server ====<br />
<br />
If you are behind a proxy server, you will need to export the {{ic|http_proxy}} and {{ic|ftp_proxy}} environment variables. See [[Proxy settings]] for more information.<br />
<br />
=== Prepare the storage drive ===<br />
<br />
{{Warning|Partitioning can destroy data. You are '''strongly''' cautioned and advised to backup any critical data before proceeding.}}<br />
<br />
Absolute beginners are encouraged to use a graphical partitioning tool. [http://gparted.sourceforge.net/download.php GParted] is a good example, and is [http://gparted.sourceforge.net/livecd.php provided as a "live" CD]. It is also included on live CDs of most Linux distributions such as [[Wikipedia:Ubuntu (operating system)|Ubuntu]] and [[Wikipedia:Linux Mint|Linux Mint]]. A drive should first be [[partitioning|partitioned]] and the partitions should be formatted with a [[File Systems|file system]] before rebooting.<br />
<br />
The recommendation for a system that will boot via UEFI rather than MBR legacy boot is to format the drive using a GPT partition table. This means that if the drive was previously already partitioned with an MBR (MSDOS) partition table it will now have a new partition table created which will destroy all other data on the drive. Once the new partition table has been created on a drive, only then can individual partitions be created with any chosen format type. When using Gparted, selecting the option to create a new partition table gives an "msdos" partition table by default. If you are intending to follow the advice to create a GPT partition table then you need to choose "Advanced" and then select "gpt" from the drop-down menu. This cannot be done if you have a pre-existing Windows installation on the drive which you wish not to destroy. It is therefore extremely important to not change the partition table to GPT if you intend on having a dual boot system. Leave the Windows install untouched and try to get the Linux install working with UEFI on a drive that contains an MBR (legacy) partition table. <br />
<br />
In addition, some newer computers come pre-installed with Windows 8 which will be using Secure Boot. Arch Linux currently does not support Secure Boot, but some Windows 8 installations have been seen not to boot if Secure Boot is turned off in the BIOS. In some cases it is necessary to turn off both Secure Boot as well as Fastboot in the BIOS options in order to allow Windows 8 to boot without Secure Boot. However there are potential security risks in turning off Secure Boot for booting up Windows 8. Therefore, it may be a better option to keep the Windows 8 install intact and have an independent hard drive for the Linux install - which can then be partitioned from scratch using a GPT partition table. Once that is done, creating several ext4/FAT32/swap partitions on the second drive may be a better way forward if the computer has two drives available. This is often not easy or possible on a small laptop. Currently, Secure Boot is still not in a fully stable state for reliable operation, even for Linux distributions that support it.<br />
<br />
See [[Swap]] for details if you wish to set up a swap partition or swap file. A swap file is easier to resize than a partition and can be created at any point after installation, but cannot be used with a Btrfs filesystem.<br />
<br />
If you have already done so, proceed to [[#Mount the partitions|Mount the partitions]].<br />
<br />
Otherwise, see the following example.<br />
<br />
==== Example ====<br />
<br />
The Arch Linux install media includes the following partitioning tools: {{ic|fdisk}}, {{ic|gdisk}}, {{ic|cfdisk}}, {{ic|cgdisk}}, {{ic|parted}}.<br />
<br />
{{Tip|Use the {{ic|lsblk}} command to list the hard disks attached to your system, along with the sizes of their existing partitions. This will help you to be confident you are partitioning the right disk.}}<br />
<br />
{{Box BLUE|Notes regarding [[UEFI]] boot:|<br />
* If you have a UEFI motherboard, you will need to create an extra [[Unified Extensible Firmware Interface#EFI_System_Partition|UEFI System Partition]].<br />
* It is recommended to always use GPT for UEFI boot, as some UEFI firmwares do not allow UEFI-MBR boot.}}<br />
<br />
{{Box BLUE|Notes regarding [[GPT]] partitioning:|<br />
* If you are not dual booting with Windows, then it is advisable to use GPT instead of MBR. Read [[GPT]] for a list of advantages.<br />
* If you have a BIOS motherboard (or plan on booting in BIOS compatibility mode) and you want to setup GRUB on a GPT-partitioned drive, you will need to create an extra [[GRUB#GUID Partition Table (GPT) specific instructions|BIOS Boot Partition]] of size 1007 KiB and {{ic|EF02}} type code. Syslinux does not need one.<br />
* Some BIOS systems may have issues with GPT. See http://mjg59.dreamwidth.org/8035.html and http://rodsbooks.com/gdisk/bios.html for more info and possible workarounds.}}<br />
<br />
{{Note|If you are installing to a USB flash key, see [[Installing Arch Linux on a USB key]].}}<br />
<br />
The example system will contain a 15 GB root partition, and a [[Partitioning#/home|home]] partition for the remaining space. Choose either [[MBR]] or [[GPT]]. Do not choose both!<br />
<br />
It should be emphasized that partitioning is a personal choice and that this example is only for illustrative purposes. See [[Partitioning]].<br />
<br />
{| class="wikitable"<br />
|-<br />
| rowspan="2" | '''MBR'''<br />
| rowspan="2"| {{ic|cfdisk&nbsp;/dev/sda}}<br />
| '''Root:'''<br />
<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for Primary – type in "15360" – {{Keypress|Enter}} for Beginning – {{Keypress|Enter}} for Bootable.<br />
|-<br />
|<br />
'''Home:'''<br />
<br />
* Press the down arrow to move to the free space area.<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for Primary – {{Keypress|Enter}} to use the rest of the drive (or you could type in the desired size).<br />
|-<br />
| rowspan="2" | '''GPT'''<br />
| rowspan="2"| {{ic|cgdisk&nbsp;/dev/sda}}<br />
| '''Root:'''<br />
<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for the first sector (2048) – type in "15G" – {{Keypress|Enter}} for the default hex code (8300) – {{Keypress|Enter}} for a blank partition name.<br />
|-<br />
| '''Home:'''<br />
<br />
* Press the down arrow a couple of times to move to the larger free space area.<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for the first sector – {{Keypress|Enter}} to use the rest of the drive (or you could type in the desired size; for example "30G") – {{Keypress|Enter}} for the default hex code (8300) – {{Keypress|Enter}} for a blank partition name.<br />
|}<br />
<br />
If you chose MBR, here is what it should look like:<br />
<br />
Name Flags Part Type FS Type [Label] Size (MB)<br />
-----------------------------------------------------------------------<br />
sda1 Boot Primary Linux 15360<br />
sda2 Primary Linux 133000*<br />
<br />
If you chose GPT, here is what it should look like:<br />
<br />
Part. # Size Partition Type Partition Name<br />
----------------------------------------------------------------<br />
1007.0 KiB free space<br />
1 15.0 GiB Linux filesystem<br />
2 123.45 GiB Linux filesystem<br />
<br />
Double check and make sure that you are happy with the partition sizes as well as the partition table layout before continuing.<br />
<br />
If you would like to start over, you can simply select Quit (or press {{Keypress|Q}}) to exit without saving changes and then restart cfdisk (or cgdisk).<br />
<br />
If you are satisfied, choose Write (or press {{Keypress|Shift+W}}) to finalize and to write the partition table to the drive. Type "yes" and choose Quit (or press {{Keypress|Q}}) to exit without making any more changes.<br />
<br />
Simply partitioning is not enough; the partitions also need a [[File Systems|filesystem]]. To format the partitions with an ext4 filesystem:<br />
<br />
{{Warning|Double check and triple check that it is actually {{ic|/dev/sda1}} and {{ic|/dev/sda2}} that you want to format. You can use {{ic|lsblk}} to help with this.}}<br />
<br />
# mkfs.ext4 /dev/sda1<br />
# mkfs.ext4 /dev/sda2<br />
<br />
If you have made a partition dedicated to swap (code 82), do not forget to format and activate it with:<br />
<br />
# mkswap /dev/sda''X''<br />
# swapon /dev/sda''X''<br />
<br />
=== Mount the partitions ===<br />
<br />
Each partition is identified with a number suffix. For example, {{ic|sda1}} specifies the first partition of the first drive, while {{ic|sda}} designates the entire drive.<br />
<br />
To display the current partition layout:<br />
<br />
# lsblk /dev/sda<br />
<br />
{{Note|Do not mount more than one partition to the same directory. And pay attention, because the mounting order is important.}}<br />
<br />
First, mount the root partition on {{ic|/mnt}}. Following the example when using {{ic|cfdisk}} above (yours may be different), it would be:<br />
<br />
# mount /dev/sda1 /mnt<br />
<br />
Then mount the home partition and any other separate partition ({{ic|/boot}}, {{ic|/var}}, etc), if you have any:<br />
<br />
# mkdir /mnt/home<br />
# mount /dev/sda2 /mnt/home<br />
<br />
In case you have a UEFI motherboard, mount the UEFI partition:<br />
<br />
# mkdir -p /mnt/boot/efi<br />
# mount /dev/sda''X'' /mnt/boot/efi<br />
<br />
=== Select a mirror ===<br />
<br />
Before installing, you may want to edit the {{ic|mirrorlist}} file and place your preferred mirror first. A copy of this file will be installed on your new system by {{ic|pacstrap}} as well, so it is worth getting it right.<br />
<br />
{{hc|# nano /etc/pacman.d/mirrorlist|<br />
##<br />
## Arch Linux repository mirrorlist<br />
## Sorted by mirror score from mirror status page<br />
## Generated on 2012-MM-DD<br />
##<br />
<br />
<nowiki>Server = http://mirror.example.xyz/archlinux/$repo/os/$arch</nowiki><br />
...}}<br />
<br />
* {{Keypress|Alt+6}} to copy a {{ic|Server}} line.<br />
* {{Keypress|PageUp}} key to scroll up.<br />
* {{Keypress|Ctrl+U}} to paste it at the top of the list.<br />
* {{Keypress|Ctrl+X}} to exit, and when prompted to save changes, press {{Keypress|Y}} and {{Keypress|Enter}} to use the same filename.<br />
<br />
If you want, you can make it the ''only'' mirror available by getting rid of everything else (using {{Keypress|Ctrl+K}}), but it is usually a good idea to have a few more, in case the first one goes offline.<br />
<br />
{{Tip|<br />
* Use the [https://www.archlinux.org/mirrorlist/ Mirrorlist Generator] to get an updated list for your country. HTTP mirrors are faster than FTP, because of something called [[Wikipedia:Keepalive|keepalive]]. With FTP, pacman has to send out a signal each time it downloads a package, resulting in a brief pause. For other ways to generate a mirror list, see [[Mirrors#Sorting mirrors|Sorting mirrors]] and [[Reflector]].<br />
* [https://archlinux.org/mirrors/status/ Arch Linux MirrorStatus] reports various aspects about the mirrors such as network problems with mirrors, data collection problems, the last time mirrors have been synced, etc.}}<br />
<br />
{{Note|<br />
* Whenever in the future you change your list of mirrors, always remember to force pacman to refresh all package lists with {{ic|pacman -Syy}}. This is considered to be good practice and will avoid possible headaches. See [[Mirrors]] for more information.<br />
* If you are using an older installation medium, your mirrorlist might be outdated, which might lead to problems when updating Arch Linux (see {{Bug|22510}}). Therefore it is advised to obtain the latest mirror information as described above.<br />
* Some issues have been reported in the [https://bbs.archlinux.org/ Arch Linux forums] regarding network problems that prevent pacman from updating/synchronizing repositories (see [https://bbs.archlinux.org/viewtopic.php?id&#61;68944] and [https://bbs.archlinux.org/viewtopic.php?id&#61;65728]). When installing Arch Linux natively, these issues have been resolved by replacing the default pacman file downloader with an alternative (see [[Improve Pacman Performance]] for more details). When installing Arch Linux as a guest OS in [[VirtualBox]], this issue has also been addressed by using "Host interface" instead of "NAT" in the machine properties.}}<br />
<br />
=== Install the base system ===<br />
<br />
The base system is installed using the [https://github.com/falconindy/arch-install-scripts/blob/master/pacstrap.in pacstrap] script.<br />
<br />
The {{ic|-i}} switch can be omitted if you wish to install every package from the ''base'' group without prompting.<br />
<br />
# pacstrap -i /mnt base<br />
<br />
{{Note|If pacman fails to verify your packages, check the system time with {{ic|cal}}. If the system date is invalid (e.g. it shows the year 2010), signing keys will be considered expired (or invalid), signature checks on packages will fail and installation will be interrupted. Make sure to correct the system time, either by doing so manually or with the {{Pkg|ntp}} client, and retry running the pacstrap command. Refer to [[Time]] page for more information on correcting system time.}}<br />
<br />
{{Note|If pacman complains that {{ic|error: failed to commit transaction (invalid or corrupted package)}}, run the following command:<br />
# pacman-key --init && pacman-key --populate archlinux<br />
}}<br />
<br />
This will give you a basic Arch system. Other packages can be installed later using [[pacman]].<br />
<br />
=== Generate an fstab ===<br />
<br />
Generate an [[fstab]] file with the following command. UUIDs will be used because they have certain advantages (see [[fstab#Identifying filesystems]]). If you would prefer to use labels instead, replace the {{ic|-U}} option with {{ic|-L}}.<br />
<br />
# genfstab -U -p /mnt >> /mnt/etc/fstab<br />
# nano /mnt/etc/fstab<br />
<br />
{{Warning|The fstab file should always be checked after generating it. If you encounter errors running genfstab or later in the install process, do '''not''' run genfstab again; just edit the fstab file.}}<br />
<br />
A few considerations:<br />
<br />
* Only the root ({{ic|/}}) partition needs {{ic|1}} for the last field. Everything else should have either {{ic|2}} or {{ic|0}} (see [[fstab#Field definitions]]).<br />
<br />
=== Chroot and configure the base system ===<br />
<br />
Next, we [[chroot]] into our newly installed system:<br />
<br />
# arch-chroot /mnt<br />
<br />
{{Note|Use {{ic|arch-chroot /mnt /bin/bash}} to chroot into a bash shell.}}<br />
At this stage of the installation, you will configure the primary configuration files of your Arch Linux base system. These can either be created if they do not exist, or edited if you wish to change the defaults.<br />
<br />
Closely following and understanding these steps is of key importance to ensure a properly configured system.<br />
<br />
==== Locale ====<br />
<br />
Locales are used by '''glibc''' and other locale-aware programs or libraries for rendering text, correctly displaying regional monetary values, time and date formats, alphabetic idiosyncrasies, and other locale-specific standards.<br />
<br />
There are two files that need editing: {{ic|locale.gen}} and {{ic|locale.conf}}.<br />
<br />
* The {{ic|locale.gen}} file is empty by default (everything is commented out) and you need to remove the {{ic|#}} in front of the line(s) you want. You may uncomment more lines than just English (US), as long as you choose their {{ic|UTF-8}} encoding:<br />
<br />
{{hc|# nano /etc/locale.gen|<br />
en_US.UTF-8 UTF-8<br />
de_DE.UTF-8 UTF-8}}<br />
<br />
# locale-gen<br />
<br />
This will run on every '''glibc''' upgrade, generating all the locales specified in {{ic|/etc/locale.gen}}.<br />
<br />
* The {{ic|locale.conf}} file does not exist by default. Setting only {{ic|LANG}} should be enough. It will act as the default value for all other variables.<br />
<br />
# echo LANG=en_US.UTF-8 > /etc/locale.conf<br />
# export LANG=en_US.UTF-8<br />
<br />
{{Note|If you set some other language than English (US) at the beginning of the install, the above commands would be something like:<br />
# echo LANG<nowiki>=</nowiki>de_DE.UTF-8 > /etc/locale.conf<br />
# export LANG<nowiki>=</nowiki>de_DE.UTF-8<br />
}}<br />
<br />
To use other locales for other {{ic|LC_*}} variables, run {{ic|locale}} to see the available options and add them to {{ic|locale.conf}}. It is not recommended to set the {{ic|LC_ALL}} variable. An advanced example can be found [[Locale#Setting_system-wide_locale|here]].<br />
<br />
==== Console font and keymap ====<br />
<br />
If you set a keymap at [[#Change_the_language|the beginning]] of the install process, load it now, as well, because the environment has changed. For example:<br />
<br />
# loadkeys ''de-latin1''<br />
# setfont Lat2-Terminus16<br />
<br />
To make them available after reboot, edit {{ic|vconsole.conf}}:<br />
<br />
{{hc|# nano /etc/vconsole.conf|2=<br />
KEYMAP=de-latin1<br />
FONT=Lat2-Terminus16<br />
}}<br />
<br />
* {{ic|KEYMAP}} – Please note that this setting is only valid for your TTYs, not any graphical window managers or Xorg.<br />
<br />
* {{ic|FONT}} – Available alternate console fonts reside in {{ic|/usr/share/kbd/consolefonts/}}. The default (blank) is safe, but some foreign characters may show up as white squares or as other symbols. It is recommended that you change it to {{ic|Lat2-Terminus16}}, because according to {{ic|/usr/share/kbd/consolefonts/README.Lat2-Terminus16}}, it claims to support "about 110 language sets".<br />
<br />
* Possible option {{ic|FONT_MAP}} – Defines the console map to load at boot. Read {{ic|man setfont}}. Removing it or leaving it blank is safe.<br />
<br />
See [[Fonts#Console_fonts|Console fonts]] and {{ic|man vconsole.conf}} for more information.<br />
<br />
==== Time zone ====<br />
<br />
Available time zones and subzones can be found in the {{ic|/usr/share/zoneinfo/<Zone>/<SubZone>}} directories.<br />
<br />
To view the available <Zone>, check the directory {{ic|/usr/share/zoneinfo/}}:<br />
<br />
# ls /usr/share/zoneinfo/<br />
<br />
Similarly, you can check the contents of directories belonging to a <SubZone>:<br />
<br />
# ls /usr/share/zoneinfo/Europe<br />
<br />
Create a symbolic link {{ic|/etc/localtime}} to your zone file {{ic|/usr/share/zoneinfo/<Zone>/<SubZone>}} using this command:<br />
<br />
# ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime<br />
<br />
'''Example:'''<br />
<br />
# ln -s /usr/share/zoneinfo/Europe/Minsk /etc/localtime<br />
<br />
==== Hardware clock ====<br />
<br />
Set the hardware clock mode uniformly between your operating systems. Otherwise, they may overwrite the hardware clock and cause time shifts.<br />
<br />
You can generate {{ic|/etc/adjtime}} automatically by using one of the following commands:<br />
<br />
* '''UTC''' (recommended)<br />
<br />
: {{Note|Using [[Wikipedia:Coordinated Universal Time|UTC]] for the hardware clock does not mean that software will display time in UTC.}}<br />
<br />
: {{bc|# hwclock --systohc --utc}}<br />
<br />
To synchronize your "UTC" time over the internet, see [[Network Time Protocol daemon|NTPd]].<br />
<br />
* '''localtime''' (discouraged; used by default in Windows)<br />
<br />
: {{Warning|Using ''localtime'' may lead to several known and unfixable bugs. However, there are no plans to drop support for ''localtime''.}}<br />
<br />
: {{bc|# hwclock --systohc --localtime}}<br />
<br />
If you have (or planning on having) a dual boot setup with Windows:<br />
<br />
* Recommended: Set both Arch Linux and Windows to use UTC. A quick [[Time#UTC in Windows|registry fix]] is needed. Also, be sure to prevent Windows from synchronizing the time on-line, because the hardware clock will default back to ''localtime''.<br />
<br />
* Not recommended: Set Arch Linux to ''localtime'' and disable any time-related services, like [[Network Time Protocol daemon|NTPd]] . This will let Windows take care of hardware clock corrections and you will need to remember to boot into Windows at least two times a year (in Spring and Autumn) when [[Wikipedia:Daylight saving time|DST]] kicks in. So please do not ask on the forums why the clock is one hour behind or ahead if you usually go for days or weeks without booting into Windows.<br />
<br />
==== Kernel modules ====<br />
<br />
{{Tip|This is just an example, you do not need to set it. All needed modules are automatically loaded by udev, so you will rarely need to add something here. Only add modules that you know are missing.}}<br />
<br />
For kernel modules to load during boot, place a {{ic|*.conf}} file in {{ic|/etc/modules-load.d/}}, with a name based on the program that uses them.<br />
<br />
{{hc|# nano /etc/modules-load.d/virtio-net.conf|<br />
# Load 'virtio-net.ko' at boot.<br />
<br />
virtio-net}}<br />
<br />
If there are more modules to load per {{ic|*.conf}}, the module names can be separated by newlines. A good example are the [[VirtualBox#Arch Linux guests|VirtualBox Guest Additions]].<br />
<br />
Empty lines and lines starting with {{ic|#}} or {{ic|;}} are ignored.<br />
<br />
==== Hostname ====<br />
<br />
Set the [[Wikipedia:hostname|hostname]] to your liking (e.g. ''arch''):<br />
<br />
# echo ''myhostname'' > /etc/hostname<br />
<br />
{{Note|There is no need to edit {{ic|/etc/hosts}}.}}<br />
<br />
=== Configure the network ===<br />
<br />
You need to configure the network again, but this time for your newly installed environment. The procedure and prerequisites are very similar to the one described [[#Establish an internet connection|above]], except we are going to make it persistent and automatically run at boot.<br />
<br />
{{Note|For more in-depth information on network configration, visit [[Network Configuration]] and [[Wireless Setup]].}}<br />
<br />
{{Note|If you would like to use the old interface naming scheme (ie. eth* and wlan*) you can accomplish this by creating an empty file at {{ic|/etc/udev/rules.d/80-net-name-slot.rules}} which will mask the file of the same name located under {{ic|/usr/lib/udev/rules.d}} (alternatively, instead of an empty file, using a symlink to {{ic|/dev/null}} is also an acceptable masking method).}}<br />
<br />
==== Wired ====<br />
<br />
===== Dynamic IP =====<br />
<br />
; Using dhcpcd<br />
<br />
If you only use a single fixed wired network connection, you do not need a network management service and can simply enable the {{ic|dhcpcd}} service. Here, {{ic|''interface_name''}} is your wired interface:<br />
<br />
# systemctl enable dhcpcd@''interface_name''.service<br />
<br />
; Using netctl<br />
<br />
Copy a sample profile from {{ic|/etc/netctl/examples}} to {{ic|/etc/netctl}}:<br />
<br />
# cd /etc/netctl<br />
# cp examples/ethernet-dhcp my-network<br />
<br />
Edit the profile as needed (modify {{ic|Interface}}):<br />
<br />
# nano my-network<br />
<br />
Enable the {{ic|my-network}} profile:<br />
<br />
# netctl enable my-network<br />
<br />
; Using netctl-ifplugd<br />
<br />
Alternatively, you can use {{ic|netctl-ifplugd}}, which gracefully handles dynamic connections to new networks:<br />
<br />
Install {{Pkg|ifplugd}}, which is required for {{ic|netctl-ifplugd}}:<br />
<br />
# pacman -S ifplugd<br />
<br />
Then enable for interface that you want:<br />
<br />
# systemctl enable netctl-ifplugd@<interface>.service<br />
<br />
{{Tip|[[Netctl]] also provides {{ic|netctl-auto}}, which can be used to handle wired profiles in conjunction with {{ic|netctl-ifplugd}}.}}<br />
<br />
===== Static IP =====<br />
<br />
; Using netctl<br />
<br />
Copy a sample profile from {{ic|/etc/netctl/examples}} to {{ic|/etc/netctl}}:<br />
<br />
# cd /etc/netctl<br />
# cp examples/ethernet-static my-network<br />
<br />
Edit the profile as needed (modify {{ic|Interface}}, {{ic|Address}}, {{ic|Gateway}} and {{ic|DNS}}):<br />
<br />
# nano my-network<br />
<br />
* Notice the {{ic|/24}} in {{ic|Address}} which is the [[wikipedia:Classless Inter-Domain Routing#CIDR notation|CIDR notation]] of a {{ic|255.255.255.0}} netmask<br />
<br />
Enable above created profile to start it at every boot:<br />
<br />
# netctl enable my-network<br />
<br />
==== Wireless ====<br />
<br />
{{Note|If your wireless adapter requires a firmware (as described in the above [[#Wireless|Establish an internet connection]] section and also [[Wireless Setup#Drivers and firmware|here]]), install the package containing your firmware. Most of the time, the {{Pkg|linux-firmware}} package will contain the needed firmware. Though for some devices, the required firmware might be in its own package. For example:<br />
{{bc|# pacman -S zd1211-firmware}}<br />
See [[Wireless Setup]] for more info.}}<br />
<br />
Install {{pkg|iw}}, {{pkg|wpa_supplicant}} and {{pkg|wpa_actiond}} which you will need to connect to a network:<br />
<br />
# pacman -S iw wpa_supplicant wpa_actiond<br />
<br />
===== Adding wireless networks =====<br />
; Using wifi-menu<br />
<br />
Install {{pkg|dialog}}, which is required for {{ic|wifi-menu}}:<br />
<br />
# pacman -S dialog<br />
<br />
After finishing the rest of this installation and rebooting, you can connect to the network with {{ic|wifi-menu ''interface_name''}} (where {{ic|''interface_name''}} is the interface of your wireless chipset).<br />
<br />
# wifi-menu ''interface_name''<br />
<br />
{{Warning|This must be done *after* your reboot when you are no longer chrooted. The process spawned by this command will conflict with the one you have running outside of the chroot. Alternatively, you could just configure a network profile manually using the following templates so that you do not have to worry about using {{ic|wifi-menu}} at all.}}<br />
<br />
; Using manual netctl profiles<br />
<br />
Copy a network profile from {{ic|/etc/netctl/examples}} to {{ic|/etc/netctl}}:<br />
<br />
# cd /etc/netctl<br />
# cp examples/wireless-wpa my-network<br />
<br />
Edit the profile as needed (modify {{ic|Interface}}, {{ic|ESSID}} and {{ic|Key}}):<br />
<br />
# nano my-network<br />
<br />
===== Connect automaticly to known networks =====<br />
Enable the {{ic|netctl-auto}} service, which will connect to known networks and gracefully handle roaming and disconnects:<br />
<br />
# systemctl enable netctl-auto@''interface_name''.service<br />
<br />
{{Tip|[[Netctl]] also provides {{ic|netctl-ifplugd}}, which can be used to handle wired profiles in conjunction with {{ic|netctl-auto}}.}}<br />
<br />
==== Analog modem, ISDN or PPoE DSL ====<br />
<br />
For xDSL, dial-up and ISDN connections, see [[Direct Modem Connection]].<br />
<br />
=== Create an initial ramdisk environment ===<br />
<br />
{{Tip|Most users can skip this step and use the defaults provided in {{ic|mkinitcpio.conf}}. The initramfs image (from the {{ic|/boot}} folder) has already been generated based on this file when the {{Pkg|linux}} package (the Linux kernel) was installed earlier with {{ic|pacstrap}}.}}<br />
<br />
Here you need to set the right [[Mkinitcpio#HOOKS|hooks]] if the root is on a USB drive, if you use RAID, LVM, or if {{ic|/usr}} is on a separate partition.<br />
<br />
Edit {{ic|/etc/mkinitcpio.conf}} as needed and re-generate the initramfs image with:<br />
<br />
# mkinitcpio -p linux<br />
<br />
{{Note|Arch VPS installations on QEMU (e.g. when using {{ic|virt-manager}}) may need {{ic|virtio}} modules in {{ic|mkinitcpio.conf}} to be able to boot.<br />
<br />
{{hc|# nano /etc/mkinitcpio.conf|2=<br />
MODULES="virtio virtio_blk virtio_pci virtio_net"}}}}<br />
<br />
=== Set the root password ===<br />
<br />
Set the root password with:<br />
<br />
# passwd<br />
<br />
=== Install and configure a bootloader ===<br />
<br />
==== For BIOS motherboards ====<br />
<br />
For BIOS systems, two bootloaders are available: Syslinux and GRUB. Choose the bootloader as per your convenience.<br />
<br />
* Syslinux is (currently) limited to loading only files from the partition where it was installed. Its configuration file is considered to be easier to understand. An example configuration can be found [https://bbs.archlinux.org/viewtopic.php?pid=1109328#p1109328 here].<br />
<br />
* GRUB is more feature-rich and supports more complex scenarios. Its configuration file(s) is more similar to a scripting language, which may be difficult for beginners to manually write. It is recommended that they automatically generate one.<br />
<br />
{{Note|Some BIOS systems may have issues with GPT. See http://mjg59.dreamwidth.org/8035.html and http://rodsbooks.com/gdisk/bios.html for more info and possible workarounds.}}<br />
<br />
===== Syslinux =====<br />
<br />
{{Note|If you opted for a GUID partition table for your hard drive earlier, you need to install the {{Pkg|gptfdisk}} package now for this next step to work, assuming you haven't installed it already.}}<br />
<br />
Install the {{Pkg|syslinux}} package and then use the {{ic|syslinux-install_update}} script to automatically ''install'' the bootloader ({{ic|-i}}), mark the partition ''active'' by setting the boot flag ({{ic|-a}}), and install the ''MBR'' boot code ({{ic|-m}}):<br />
<br />
# pacman -S syslinux<br />
# syslinux-install_update -i -a -m<br />
<br />
Configure {{ic|syslinux.cfg}} to point to the right root partition. This step is vital. If it points to the wrong partition, Arch Linux will not boot. Change {{ic|/dev/sda3}} to reflect your root partition ''(if you partitioned your drive as in [[#Prepare the storage drive|the example]], your root partition is sda1)''. Do the same for the fallback entry.<br />
<br />
{{hc|# nano /boot/syslinux/syslinux.cfg|2=<br />
...<br />
LABEL arch<br />
...<br />
APPEND root=/dev/sda3 ro<br />
...}}<br />
<br />
For more information on configuring and using Syslinux, see [[Syslinux]].<br />
<br />
===== GRUB =====<br />
<br />
Install the {{Pkg|grub-bios}} package and then run {{ic|grub-install}} to install the bootloader:<br />
<br />
{{Note|Change {{ic|/dev/sda}} to reflect the drive you installed Arch on. Do not append a partition number (do not use {{ic|sda''X''}}).}}<br />
<br />
{{Note|For GPT-partitioned drives on BIOS motherboards, you also need a "BIOS Boot Partition". See [[GRUB#GUID Partition Table (GPT) specific instructions|GPT-specific instructions]] and [[GRUB#Install_to_GPT_BIOS_boot_partition|Install to GPT BIOS boot partition]] in the GRUB page.}}<br />
<br />
# pacman -S grub-bios<br />
# grub-install --recheck /dev/sda<br />
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo<br />
<br />
{{Note| If it is an installation on virtualbox as guest, while running grub-install command as in above, you might get an error like "/usr/sbin/grub-bios-setup: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible". Executing {{ic|parted -s /dev/sda set 1 bios_grub on}} and then retrying ''grub-install'' should solve the problem.}}<br />
<br />
While using a manually created {{ic|grub.cfg}} is absolutely fine, it is recommended that beginners automatically generate one:<br />
<br />
{{Tip|To automatically search for other operating systems on your computer, install {{Pkg|os-prober}} ({{ic|pacman -S os-prober}}) before running the next command.}}<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For more information on configuring and using GRUB, see [[GRUB]].<br />
<br />
==== For UEFI motherboards ====<br />
<br />
For UEFI boot, the drive needs to be GPT-partitioned and an "[[Unified Extensible Firmware Interface#EFI System Partition|UEFI System Partition]]" (512 MiB or larger, type {{ic|EF00}}, formatted with FAT32) must be present and mounted on {{ic|/boot/efi}}. If you have followed this guide from the beginning, you have already done all of these.<br />
<br />
While there are other [[UEFI Bootloaders|UEFI bootloaders]] available, using EFISTUB is recommended. Below are instructions for setting up EFISTUB and GRUB (of course you choose only one of them).<br />
<br />
{{Note|Syslinux does not yet support UEFI.}}<br />
<br />
===== EFISTUB =====<br />
<br />
The Linux kernel can act as its own bootloader using EFISTUB. This is the UEFI boot method recommended by developers and simpler compared to {{ic|grub-efi-x86_64}}. The steps below set up rEFInd to provide a menu for EFISTUB kernels, as well as for booting other UEFI bootloaders. Alternative EFISTUB boot managers can be found on the page [[UEFI Bootloaders#Booting EFISTUB]]. Both rEFInd and [[gummiboot]] can detect Windows UEFI bootloaders in case of dual-boot.<br />
<br />
1. Mount the UEFI System Partition on {{ic|/mnt/boot/efi}} and chroot back into {{ic|/mnt}}.<br />
<br />
2. [[UEFI Bootloaders#Setting up EFISTUB|Copy the kernel and initramfs files]] to {{ic|/mnt/boot/efi}}:<br />
<br />
# mkdir -p /boot/efi/EFI/arch/<br />
# cp /boot/vmlinu'''z'''-linux /boot/efi/EFI/arch/vmlinuz-arch'''.efi'''<br />
# cp /boot/initramfs-linux.img /boot/efi/EFI/arch/initramfs-arch.img<br />
# cp /boot/initramfs-linux-fallback.img /boot/efi/EFI/arch/initramfs-arch-fallback.img<br />
{{note| If you are going to use rEFInd and you want it to detect kernels in {{ic|/boot}} automatically, you can skip this step}}<br />
<br />
Every time the kernel and initramfs files are updated in {{ic|/boot}}, they need to be updated in {{ic|/boot/efi/EFI/arch}}. This can be automated [[UEFI Bootloaders#Systemd|using systemd]].<br />
<br />
3. For the rEFInd boot manager, install the {{Pkg|refind-efi}} and {{Pkg|efibootmgr}} packages:<br />
<br />
# pacman -S refind-efi<br />
{{note| efibootmgr gets installed as a dependency}}<br />
<br />
4. Install rEFInd to the UEFI System Partition (summarized from [[UEFI Bootloaders#Using rEFInd]]):<br />
<br />
# mkdir -p /boot/efi/EFI/refind<br />
# cp /usr/lib/refind/refind_x64.efi /boot/efi/EFI/refind/refind_x64.efi<br />
# cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/refind/refind.conf<br />
# cp -r /usr/share/refind/icons /boot/efi/EFI/refind/icons<br />
# cp -r /usr/lib/refind/drivers_x64 /boot/efi/EFI/refind/drivers<br />
<br />
5. Create a {{ic|refind_linux.conf}} file with the kernel parameters to be used by rEFInd:<br />
<br />
{{note| If you don't want rEFInd to automatically detect the kernel, you have to place {{ic|refind_linux.conf}} where you copied the kernel and initramfs files.}}<br />
# cp /usr/lib/refind/config/refind_linux.conf /boot/refind_linux.conf<br />
# nano /boot/refind_linux.conf<br />
Edit the {{ic|PARTUUID}} value to match the UUID of your root partition. You can find out what the UUID is by using {{ic|$ ls -l /dev/disk/by-partuuid/}}. <br />
If you don't want to use the UUID, you can set {{ic|root&#61;/dev/sdXY}}. This refers to the root partition, not the boot partition, if you created them separately. <br />
You also need to set the {{ic|rootfstype}}. If you use ext4 on the root partition, it looks like this: {{ic|rootfstype&#61;ext4}}<br />
<br />
6. Add rEFInd to UEFI boot menu using [[UEFI#efibootmgr|efibootmgr]]. Replace X and Y with the drive and partition of the UEFI System Partition. For example, in {{ic|/dev/sdc5}}, X is "c" and Y is "5".<br />
<br />
{{Warning|Using {{ic|efibootmgr}} on Apple Macs may brick the firmware and may need reflash of the motherboard ROM. For Macs, use {{AUR|mactel-boot}}, or "bless" from within OS X.}}<br />
<br />
# modprobe efivars<br />
# efibootmgr -c -d /dev/sdX -p Y -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'<br />
<br />
{{Note|On some systems, the above command will not work properly. It will execute without any visible error, but the UEFI boot menu will not have been correctly updated with a new entry. To determine whether the command executed properly, run {{ic|efibootmgr}} without any arguments and see if a new entry has appeared in the list displayed. If there is no new entry, then it will not be possible to enter rEFInd upon reboot, as the UEFI boot menu has been left unchanged. In this case, you will instead have to enter the UEFI shell and manually add an entry to the UEFI boot menu with the {{ic|bcfg}} command, as described [[Unified Extensible Firmware Interface#bcfg|here]].}}<br />
<br />
{{Note|On some ASUS motherboards, there is an EFI bug that always reports {{ic|MaxVariableSize&#61;0}}. Combined with a recent kernel that enforces checks on this value, this prevents {{ic|efibootmgr}} from setting new EFI variables. These motherboards do not support the UEFI Shell v2, so you cannot use the {{ic|bcfg}} method either. To work around this, add {{ic|efi_no_storage_paranoia}} to the kernel command line. You can do this by pressing "e" at the bootloader menu.}}<br />
<br />
===== GRUB =====<br />
<br />
Install the {{Pkg|grub-efi-x86_64}} and {{Pkg|efibootmgr}} packages and then run {{ic|grub-install}} to install the bootloader:<br />
<br />
{{Note|In case you have a system with 32-bit EFI, like pre-2008 Apple Macs, install {{ic|grub-efi-i386}} instead of {{ic|grub-efi-x86_64}}.}}<br />
<br />
# pacman -S grub-efi-x86_64 efibootmgr<br />
# grub-install --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck<br />
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo<br />
<br />
Next, while using a manually created {{ic|grub.cfg}} is absolutely fine, it is recommended that beginners automatically generate one:<br />
<br />
{{Tip|To automatically search for other operating systems on your computer, install {{Pkg|os-prober}} ({{ic|pacman -S os-prober}}) before running the next command.}}<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
{{Note|{{ic|grub-install}} should create a new entry in the UEFI boot menu. If it does not, you will instead have to enter the UEFI shell and manually add an entry to the UEFI boot menu with the {{ic|bcfg}} command, as described [[Unified Extensible Firmware Interface#bcfg|here]].}}<br />
<br />
For more information on configuring and using GRUB, see [[GRUB]].<br />
<br />
=== Unmount the partitions and reboot ===<br />
<br />
Exit from the chroot environment:<br />
<br />
# exit<br />
<br />
Since the partitions are mounted under {{ic|/mnt}}, we use the following command to unmount them:<br />
<br />
# umount /mnt/{boot,home,}<br />
<br />
Reboot the computer:<br />
<br />
# reboot<br />
<br />
{{Tip|If you face error "/sbin/init does not exist" on next boot, look for systemd binary path and pass it as kernel argument while booting up. For example, "init &#61; /usr/lib/systemd/systemd" }}<br />
{{Tip|Be sure to remove the installation media, otherwise you will boot back into it.}}<noinclude><br />
{{Beginners' Guide navigation}}</noinclude></div>J77hhttps://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=263222Beginners' guide2013-06-18T09:36:19Z<p>J77h: /* GRUB */ For GPT-BIOS, use installation directions on GRUB page.</p>
<hr />
<div><noinclude><br />
[[Category:Getting and installing Arch]]<br />
[[Category:About Arch]]<br />
[[ar:Beginners' Guide/Installation]]<br />
[[da:Beginners' Guide/Installation]]<br />
[[es:Beginners' Guide/Installation]]<br />
[[hr:Beginners' Guide/Installation]]<br />
[[hu:Beginners' Guide/Installation]]<br />
[[it:Beginners' Guide/Installation]]<br />
[[ja:Beginners' Guide/Installation]]<br />
[[ko:Beginners' Guide/Installation]]<br />
[[nl:Beginners' Guide/Installatie]]<br />
[[pl:Beginners' Guide/Installation]]<br />
[[pt:Beginners' Guide/Installation]]<br />
[[ro:Ghidul începătorilor/Instalare]]<br />
[[ru:Beginners' Guide/Installation]]<br />
[[sr:Beginners' Guide/Installation]]<br />
[[zh-CN:Beginners' Guide/Installation]]<br />
[[zh-TW:Beginners' Guide/Installation]]<br />
{{Tip|This is part of a multi-page article for The Beginners' Guide. '''[[Beginners' Guide|Click here]]''' if you would rather read the guide in its entirety.}}<br />
</noinclude><br />
== Installation ==<br />
<br />
You are now presented with a shell prompt, automatically logged in as root.<br />
<br />
=== Change the language ===<br />
<br />
{{Tip|These are optional for the majority of users. Useful only if you plan on writing in your own language in any of the configuration files, if you use diacritical marks in the Wi-Fi password, or if you would like to receive system messages (e.g. possible errors) in your own language.}}<br />
<br />
By default, the keyboard layout is set to {{ic|us}}. If you have a non-[[Wikipedia:File:KB United States-NoAltGr.svg|US]] keyboard layout, run:<br />
<br />
# loadkeys ''layout''<br />
<br />
...where ''layout'' can be {{ic|fr}}, {{ic|uk}}, {{ic|dvorak}}, {{ic|be-latin1}}, etc. See [[KEYMAP#Keyboard layouts|here]] for a comprehensive list.<br />
<br />
The font should also be changed, because most languages use more glyphs than the 26 letter [[Wikipedia:English alphabet|English alphabet]]. Otherwise some foreign characters may show up as white squares or as other symbols. Note that the name is case-sensitive, so please type it ''exactly'' as you see it:<br />
<br />
# setfont Lat2-Terminus16<br />
<br />
By default, the language is set to English (US). If you would like to change the language for the install process ''(German, in this example)'', remove the {{ic|#}} in front of the [http://www.greendesktiny.com/support/knowledgebase_detail.php?ref=EUH-483 locale] you want from {{ic|/etc/locale.gen}}, along with English (US). Please choose the {{ic|UTF-8}} entry.<br />
<br />
Use {{Keypress|Ctrl+X}} to exit, and when prompted to save changes, press {{Keypress|Y}} and {{Keypress|Enter}} to use the same filename.<br />
<br />
{{hc|# nano /etc/locale.gen|<br />
en_US.UTF-8 UTF-8<br />
de_DE.UTF-8 UTF-8}}<br />
<br />
# locale-gen<br />
# export LANG=de_DE.UTF-8<br />
<br />
Remember, {{Keypress|LAlt+LShift}} activates and deactivates the keymap.<br />
<br />
=== Establish an internet connection ===<br />
<br />
{{Warning|As of v197, udev no longer assigns network interface names according to the wlanX and ethX naming scheme. If you are coming from a different distribution or are reinstalling Arch and not aware of the new interface naming style, please do not assume that your wireless interface is named wlan0, or that your wired interface is named eth0. You can use the command {{ic|ip link}} to discover the names of your interfaces.}}<br />
<br />
The {{ic|dhcpcd}} network daemon starts automatically during boot and it will attempt to start a wired connection. Try to ping a server to see if a connection was established. For example, Google's DNS servers:<br />
<br />
{{hc|# ping -c 3 www.google.com|2=<br />
PING www.l.google.com (74.125.132.105) 56(84) bytes of data.<br />
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms<br />
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms<br />
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms}}<br />
<br />
If you get a {{ic|ping: unknown host}} error, first check if there is an issue with your cable or wireless signal strength. If not, you will need to set up the network manually, as explained below. Once a connection is established move on to [[#Prepare the storage drive|Prepare the storage drive]].<br />
<br />
==== Wired ====<br />
<br />
Follow this procedure if you need to set up a wired connection via a static IP address.<br />
<br />
First, disable the dhcpcd service which was started automatically at boot:<br />
<br />
# systemctl stop dhcpcd.service<br />
<br />
Identify the name of your Ethernet interface.<br />
<br />
{{hc|# ip link|<br />
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT<br />
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<br />
2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000<br />
link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff<br />
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000<br />
link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff}}<br />
<br />
In this example, the Ethernet interface is {{ic|enp2s0f0}}. If you are unsure, your Ethernet interface is likely to start with the letter "e", and unlikely to be "lo" or start with the letter "w". You can also use {{ic|iwconfig}} and see which interfaces are not wireless:<br />
<br />
{{hc|# iwconfig|2=<br />
enp2s0f0 no wireless extensions.<br />
wlp3s0 IEEE 802.11bgn ESSID:"NETGEAR97"<br />
Mode:Managed Frequency:2.427 GHz Access Point: 2C:B0:5D:9C:72:BF<br />
Bit Rate=65 Mb/s Tx-Power=16 dBm<br />
Retry long limit:7 RTS thr:off Fragment thr:off<br />
Power Management:on<br />
Link Quality=61/70 Signal level=-49 dBm<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:430 Missed beacon:0<br />
lo no wireless extensions.}}<br />
<br />
In this example, neither {{ic|enp2s0f0}} nor the loopback device have wireless extensions, meaning {{ic|enp2s0f0}} is our Ethernet interface.<br />
<br />
You also need to know these settings:<br />
<br />
* Static IP address.<br />
* Subnet mask.<br />
* Gateway's IP address.<br />
* Name servers' (DNS) IP addresses.<br />
* Domain name (unless you are on a local LAN, in which case you can make it up).<br />
<br />
Activate the connected Ethernet interface (e.g. {{ic|enp2s0f0}}):<br />
<br />
# ip link set enp2s0f0 up<br />
<br />
Add the address:<br />
<br />
# ip addr add ''ip_address''/''subnetmask'' dev ''interface_name''<br />
<br />
For example:<br />
<br />
# ip addr add 192.168.1.2/24 dev enp2s0f0<br />
<br />
For more options, run {{ic|man ip}}.<br />
<br />
Add your gateway like this, substituting your own gateway's IP address:<br />
<br />
# ip route add default via ''ip_address''<br />
<br />
For example:<br />
<br />
# ip route add default via 192.168.1.1<br />
<br />
Edit {{ic|resolv.conf}}, substituting your name servers' IP addresses and your local domain name:<br />
<br />
{{hc|# nano /etc/resolv.conf|<br />
nameserver 61.23.173.5<br />
nameserver 61.95.849.8<br />
search example.com}}<br />
<br />
{{Note|Currently, you may include a maximum of three {{ic|nameserver}} lines.}}<br />
<br />
You should now have a working network connection. If you do not, check the detailed [[Network Configuration]] page.<br />
<br />
==== Wireless ====<br />
<br />
Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process.<br />
<br />
First, identify the name of your wireless interface.<br />
<br />
{{hc|# iw dev|2=<br />
phy#0<br />
Interface wlp3s0<br />
ifindex 3<br />
wdev 0x1<br />
addr 00:21:6a:5e:52:bc<br />
type managed<br />
}}<br />
<br />
In this example, {{ic|wlp3s0}} is the available wireless interface. If you are unsure, your wireless interface is likely to start with the letter "w", and unlikely to be "lo" or start with the letter "e". <br />
<br />
{{Note|If you do not see output similar to this, then your wireless driver has not been loaded. If this is the case, you must load the driver yourself. Please see [[Wireless Setup]] for more detailed information.}}<br />
<br />
Bring the interface up with:<br />
<br />
# ip link set wlp3s0 up<br />
<br />
A small percentage of wireless chipsets also require firmware, in addition to a corresponding driver. If you get output like {{ic|SIOCSIFFLAGS: No such file or directory}}, this means you will need to manually load the firmware. If unsure, invoke {{ic|dmesg}} to query the kernel log for a firmware request from the wireless chipset. For example, if you have an Intel chipset which requires and has requested firmware from the kernel at boot:<br />
<br />
{{hc|# dmesg <nowiki>|</nowiki> grep firmware|<br />
firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
If there is no output, it may be concluded that the system's wireless chipset does not require firmware.<br />
<br />
{{Warning|Wireless chipset firmware packages (for cards which require them) are pre-installed under {{ic|/usr/lib/firmware}} in the live environment (on CD/USB stick) '''but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it!''' Package installation is covered later in this guide. Ensure installation of both your wireless module and firmware before rebooting! See [[Wireless Setup]] if you are unsure about the requirement of corresponding firmware installation for your particular chipset.}}<br />
<br />
Next, use {{Pkg|netctl}}'s {{ic|wifi-menu}} to connect to a network:<br />
<br />
# wifi-menu wlp3s0<br />
<br />
You should now have a working network connection. If you do not, check the detailed [[Wireless Setup]] page.<br />
<br />
Alternatively, use {{ic|iw dev wlp3s0 scan <nowiki>|</nowiki> grep SSID}} to scan for available networks, then connect to a network with:<br />
<br />
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "''ssid''" "''psk''")<br />
<br />
You need to replace ''ssid'' with the name of your network (e.g. "Linksys etc...") and ''psk'' with your wireless password, '''leaving the quotes around the network name and password.'''<br />
<br />
Finally, you have to give your interface an IP address. This can be set manually or using the dhcp:<br />
<br />
# dhcpd wlp3s0<br />
<br />
==== Analog modem, ISDN or PPoE DSL ====<br />
<br />
For xDSL, dial-up and ISDN connections, see [[Direct Modem Connection]].<br />
<br />
==== Behind a proxy server ====<br />
<br />
If you are behind a proxy server, you will need to export the {{ic|http_proxy}} and {{ic|ftp_proxy}} environment variables. See [[Proxy settings]] for more information.<br />
<br />
=== Prepare the storage drive ===<br />
<br />
{{Warning|Partitioning can destroy data. You are '''strongly''' cautioned and advised to backup any critical data before proceeding.}}<br />
<br />
Absolute beginners are encouraged to use a graphical partitioning tool. [http://gparted.sourceforge.net/download.php GParted] is a good example, and is [http://gparted.sourceforge.net/livecd.php provided as a "live" CD]. It is also included on live CDs of most Linux distributions such as [[Wikipedia:Ubuntu (operating system)|Ubuntu]] and [[Wikipedia:Linux Mint|Linux Mint]]. A drive should first be [[partitioning|partitioned]] and the partitions should be formatted with a [[File Systems|file system]] before rebooting.<br />
<br />
The recommendation for a system that will boot via UEFI rather than MBR legacy boot is to format the drive using a GPT partition table. This means that if the drive was previously already partitioned with an MBR (MSDOS) partition table it will now have a new partition table created which will destroy all other data on the drive. Once the new partition table has been created on a drive, only then can individual partitions be created with any chosen format type. When using Gparted, selecting the option to create a new partition table gives an "msdos" partition table by default. If you are intending to follow the advice to create a GPT partition table then you need to choose "Advanced" and then select "gpt" from the drop-down menu. This cannot be done if you have a pre-existing Windows installation on the drive which you wish not to destroy. It is therefore extremely important to not change the partition table to GPT if you intend on having a dual boot system. Leave the Windows install untouched and try to get the Linux install working with UEFI on a drive that contains an MBR (legacy) partition table. <br />
<br />
In addition, some newer computers come pre-installed with Windows 8 which will be using Secure Boot. Arch Linux currently does not support Secure Boot, but some Windows 8 installations have been seen not to boot if Secure Boot is turned off in the BIOS. In some cases it is necessary to turn off both Secure Boot as well as Fastboot in the BIOS options in order to allow Windows 8 to boot without Secure Boot. However there are potential security risks in turning off Secure Boot for booting up Windows 8. Therefore, it may be a better option to keep the Windows 8 install intact and have an independent hard drive for the Linux install - which can then be partitioned from scratch using a GPT partition table. Once that is done, creating several ext4/FAT32/swap partitions on the second drive may be a better way forward if the computer has two drives available. This is often not easy or possible on a small laptop. Currently, Secure Boot is still not in a fully stable state for reliable operation, even for Linux distributions that support it.<br />
<br />
See [[Swap]] for details if you wish to set up a swap partition or swap file. A swap file is easier to resize than a partition and can be created at any point after installation, but cannot be used with a Btrfs filesystem.<br />
<br />
If you have already done so, proceed to [[#Mount the partitions|Mount the partitions]].<br />
<br />
Otherwise, see the following example.<br />
<br />
==== Example ====<br />
<br />
The Arch Linux install media includes the following partitioning tools: {{ic|fdisk}}, {{ic|gdisk}}, {{ic|cfdisk}}, {{ic|cgdisk}}, {{ic|parted}}.<br />
<br />
{{Tip|Use the {{ic|lsblk}} command to list the hard disks attached to your system, along with the sizes of their existing partitions. This will help you to be confident you are partitioning the right disk.}}<br />
<br />
{{Box BLUE|Notes regarding [[UEFI]] boot:|<br />
* If you have a UEFI motherboard, you will need to create an extra [[Unified Extensible Firmware Interface#EFI_System_Partition|UEFI System Partition]].<br />
* It is recommended to always use GPT for UEFI boot, as some UEFI firmwares do not allow UEFI-MBR boot.}}<br />
<br />
{{Box BLUE|Notes regarding [[GPT]] partitioning:|<br />
* If you are not dual booting with Windows, then it is advisable to use GPT instead of MBR. Read [[GPT]] for a list of advantages.<br />
* If you have a BIOS motherboard (or plan on booting in BIOS compatibility mode) and you want to setup GRUB on a GPT-partitioned drive, you will need to create an extra [[GRUB#GUID Partition Table (GPT) specific instructions|BIOS Boot Partition]] of size 1007 KiB and {{ic|EF02}} type code. Syslinux does not need one.<br />
* Some BIOS systems may have issues with GPT. See http://mjg59.dreamwidth.org/8035.html and http://rodsbooks.com/gdisk/bios.html for more info and possible workarounds.}}<br />
<br />
{{Note|If you are installing to a USB flash key, see [[Installing Arch Linux on a USB key]].}}<br />
<br />
The example system will contain a 15 GB root partition, and a [[Partitioning#/home|home]] partition for the remaining space. Choose either [[MBR]] or [[GPT]]. Do not choose both!<br />
<br />
It should be emphasized that partitioning is a personal choice and that this example is only for illustrative purposes. See [[Partitioning]].<br />
<br />
{| class="wikitable"<br />
|-<br />
| rowspan="2" | '''MBR'''<br />
| rowspan="2"| {{ic|cfdisk&nbsp;/dev/sda}}<br />
| '''Root:'''<br />
<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for Primary – type in "15360" – {{Keypress|Enter}} for Beginning – {{Keypress|Enter}} for Bootable.<br />
|-<br />
|<br />
'''Home:'''<br />
<br />
* Press the down arrow to move to the free space area.<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for Primary – {{Keypress|Enter}} to use the rest of the drive (or you could type in the desired size).<br />
|-<br />
| rowspan="2" | '''GPT'''<br />
| rowspan="2"| {{ic|cgdisk&nbsp;/dev/sda}}<br />
| '''Root:'''<br />
<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for the first sector (2048) – type in "15G" – {{Keypress|Enter}} for the default hex code (8300) – {{Keypress|Enter}} for a blank partition name.<br />
|-<br />
| '''Home:'''<br />
<br />
* Press the down arrow a couple of times to move to the larger free space area.<br />
* Choose New (or press {{Keypress|N}}) – {{Keypress|Enter}} for the first sector – {{Keypress|Enter}} to use the rest of the drive (or you could type in the desired size; for example "30G") – {{Keypress|Enter}} for the default hex code (8300) – {{Keypress|Enter}} for a blank partition name.<br />
|}<br />
<br />
If you chose MBR, here is what it should look like:<br />
<br />
Name Flags Part Type FS Type [Label] Size (MB)<br />
-----------------------------------------------------------------------<br />
sda1 Boot Primary Linux 15360<br />
sda2 Primary Linux 133000*<br />
<br />
If you chose GPT, here is what it should look like:<br />
<br />
Part. # Size Partition Type Partition Name<br />
----------------------------------------------------------------<br />
1007.0 KiB free space<br />
1 15.0 GiB Linux filesystem<br />
2 123.45 GiB Linux filesystem<br />
<br />
Double check and make sure that you are happy with the partition sizes as well as the partition table layout before continuing.<br />
<br />
If you would like to start over, you can simply select Quit (or press {{Keypress|Q}}) to exit without saving changes and then restart cfdisk (or cgdisk).<br />
<br />
If you are satisfied, choose Write (or press {{Keypress|Shift+W}}) to finalize and to write the partition table to the drive. Type "yes" and choose Quit (or press {{Keypress|Q}}) to exit without making any more changes.<br />
<br />
Simply partitioning is not enough; the partitions also need a [[File Systems|filesystem]]. To format the partitions with an ext4 filesystem:<br />
<br />
{{Warning|Double check and triple check that it is actually {{ic|/dev/sda1}} and {{ic|/dev/sda2}} that you want to format. You can use {{ic|lsblk}} to help with this.}}<br />
<br />
# mkfs.ext4 /dev/sda1<br />
# mkfs.ext4 /dev/sda2<br />
<br />
If you have made a partition dedicated to swap (code 82), do not forget to format and activate it with:<br />
<br />
# mkswap /dev/sda''X''<br />
# swapon /dev/sda''X''<br />
<br />
=== Mount the partitions ===<br />
<br />
Each partition is identified with a number suffix. For example, {{ic|sda1}} specifies the first partition of the first drive, while {{ic|sda}} designates the entire drive.<br />
<br />
To display the current partition layout:<br />
<br />
# lsblk /dev/sda<br />
<br />
{{Note|Do not mount more than one partition to the same directory. And pay attention, because the mounting order is important.}}<br />
<br />
First, mount the root partition on {{ic|/mnt}}. Following the example when using {{ic|cfdisk}} above (yours may be different), it would be:<br />
<br />
# mount /dev/sda1 /mnt<br />
<br />
Then mount the home partition and any other separate partition ({{ic|/boot}}, {{ic|/var}}, etc), if you have any:<br />
<br />
# mkdir /mnt/home<br />
# mount /dev/sda2 /mnt/home<br />
<br />
In case you have a UEFI motherboard, mount the UEFI partition:<br />
<br />
# mkdir -p /mnt/boot/efi<br />
# mount /dev/sda''X'' /mnt/boot/efi<br />
<br />
=== Select a mirror ===<br />
<br />
Before installing, you may want to edit the {{ic|mirrorlist}} file and place your preferred mirror first. A copy of this file will be installed on your new system by {{ic|pacstrap}} as well, so it is worth getting it right.<br />
<br />
{{hc|# nano /etc/pacman.d/mirrorlist|<br />
##<br />
## Arch Linux repository mirrorlist<br />
## Sorted by mirror score from mirror status page<br />
## Generated on 2012-MM-DD<br />
##<br />
<br />
<nowiki>Server = http://mirror.example.xyz/archlinux/$repo/os/$arch</nowiki><br />
...}}<br />
<br />
* {{Keypress|Alt+6}} to copy a {{ic|Server}} line.<br />
* {{Keypress|PageUp}} key to scroll up.<br />
* {{Keypress|Ctrl+U}} to paste it at the top of the list.<br />
* {{Keypress|Ctrl+X}} to exit, and when prompted to save changes, press {{Keypress|Y}} and {{Keypress|Enter}} to use the same filename.<br />
<br />
If you want, you can make it the ''only'' mirror available by getting rid of everything else (using {{Keypress|Ctrl+K}}), but it is usually a good idea to have a few more, in case the first one goes offline.<br />
<br />
{{Tip|<br />
* Use the [https://www.archlinux.org/mirrorlist/ Mirrorlist Generator] to get an updated list for your country. HTTP mirrors are faster than FTP, because of something called [[Wikipedia:Keepalive|keepalive]]. With FTP, pacman has to send out a signal each time it downloads a package, resulting in a brief pause. For other ways to generate a mirror list, see [[Mirrors#Sorting mirrors|Sorting mirrors]] and [[Reflector]].<br />
* [https://archlinux.org/mirrors/status/ Arch Linux MirrorStatus] reports various aspects about the mirrors such as network problems with mirrors, data collection problems, the last time mirrors have been synced, etc.}}<br />
<br />
{{Note|<br />
* Whenever in the future you change your list of mirrors, always remember to force pacman to refresh all package lists with {{ic|pacman -Syy}}. This is considered to be good practice and will avoid possible headaches. See [[Mirrors]] for more information.<br />
* If you are using an older installation medium, your mirrorlist might be outdated, which might lead to problems when updating Arch Linux (see {{Bug|22510}}). Therefore it is advised to obtain the latest mirror information as described above.<br />
* Some issues have been reported in the [https://bbs.archlinux.org/ Arch Linux forums] regarding network problems that prevent pacman from updating/synchronizing repositories (see [https://bbs.archlinux.org/viewtopic.php?id&#61;68944] and [https://bbs.archlinux.org/viewtopic.php?id&#61;65728]). When installing Arch Linux natively, these issues have been resolved by replacing the default pacman file downloader with an alternative (see [[Improve Pacman Performance]] for more details). When installing Arch Linux as a guest OS in [[VirtualBox]], this issue has also been addressed by using "Host interface" instead of "NAT" in the machine properties.}}<br />
<br />
=== Install the base system ===<br />
<br />
The base system is installed using the [https://github.com/falconindy/arch-install-scripts/blob/master/pacstrap.in pacstrap] script.<br />
<br />
The {{ic|-i}} switch can be omitted if you wish to install every package from the ''base'' group without prompting.<br />
<br />
# pacstrap -i /mnt base<br />
<br />
{{Note|If pacman fails to verify your packages, check the system time with {{ic|cal}}. If the system date is invalid (e.g. it shows the year 2010), signing keys will be considered expired (or invalid), signature checks on packages will fail and installation will be interrupted. Make sure to correct the system time, either by doing so manually or with the {{Pkg|ntp}} client, and retry running the pacstrap command. Refer to [[Time]] page for more information on correcting system time.}}<br />
<br />
{{Note|If pacman complains that {{ic|error: failed to commit transaction (invalid or corrupted package)}}, run the following command:<br />
# pacman-key --init && pacman-key --populate archlinux<br />
}}<br />
<br />
This will give you a basic Arch system. Other packages can be installed later using [[pacman]].<br />
<br />
=== Generate an fstab ===<br />
<br />
Generate an [[fstab]] file with the following command. UUIDs will be used because they have certain advantages (see [[fstab#Identifying filesystems]]). If you would prefer to use labels instead, replace the {{ic|-U}} option with {{ic|-L}}.<br />
<br />
# genfstab -U -p /mnt >> /mnt/etc/fstab<br />
# nano /mnt/etc/fstab<br />
<br />
{{Warning|The fstab file should always be checked after generating it. If you encounter errors running genfstab or later in the install process, do '''not''' run genfstab again; just edit the fstab file.}}<br />
<br />
A few considerations:<br />
<br />
* Only the root ({{ic|/}}) partition needs {{ic|1}} for the last field. Everything else should have either {{ic|2}} or {{ic|0}} (see [[fstab#Field definitions]]).<br />
<br />
=== Chroot and configure the base system ===<br />
<br />
Next, we [[chroot]] into our newly installed system:<br />
<br />
# arch-chroot /mnt<br />
<br />
{{Note|Use {{ic|arch-chroot /mnt /bin/bash}} to chroot into a bash shell.}}<br />
At this stage of the installation, you will configure the primary configuration files of your Arch Linux base system. These can either be created if they do not exist, or edited if you wish to change the defaults.<br />
<br />
Closely following and understanding these steps is of key importance to ensure a properly configured system.<br />
<br />
==== Locale ====<br />
<br />
Locales are used by '''glibc''' and other locale-aware programs or libraries for rendering text, correctly displaying regional monetary values, time and date formats, alphabetic idiosyncrasies, and other locale-specific standards.<br />
<br />
There are two files that need editing: {{ic|locale.gen}} and {{ic|locale.conf}}.<br />
<br />
* The {{ic|locale.gen}} file is empty by default (everything is commented out) and you need to remove the {{ic|#}} in front of the line(s) you want. You may uncomment more lines than just English (US), as long as you choose their {{ic|UTF-8}} encoding:<br />
<br />
{{hc|# nano /etc/locale.gen|<br />
en_US.UTF-8 UTF-8<br />
de_DE.UTF-8 UTF-8}}<br />
<br />
# locale-gen<br />
<br />
This will run on every '''glibc''' upgrade, generating all the locales specified in {{ic|/etc/locale.gen}}.<br />
<br />
* The {{ic|locale.conf}} file does not exist by default. Setting only {{ic|LANG}} should be enough. It will act as the default value for all other variables.<br />
<br />
# echo LANG=en_US.UTF-8 > /etc/locale.conf<br />
# export LANG=en_US.UTF-8<br />
<br />
{{Note|If you set some other language than English (US) at the beginning of the install, the above commands would be something like:<br />
# echo LANG<nowiki>=</nowiki>de_DE.UTF-8 > /etc/locale.conf<br />
# export LANG<nowiki>=</nowiki>de_DE.UTF-8<br />
}}<br />
<br />
To use other locales for other {{ic|LC_*}} variables, run {{ic|locale}} to see the available options and add them to {{ic|locale.conf}}. It is not recommended to set the {{ic|LC_ALL}} variable. An advanced example can be found [[Locale#Setting_system-wide_locale|here]].<br />
<br />
==== Console font and keymap ====<br />
<br />
If you set a keymap at [[#Change_the_language|the beginning]] of the install process, load it now, as well, because the environment has changed. For example:<br />
<br />
# loadkeys ''de-latin1''<br />
# setfont Lat2-Terminus16<br />
<br />
To make them available after reboot, edit {{ic|vconsole.conf}}:<br />
<br />
{{hc|# nano /etc/vconsole.conf|2=<br />
KEYMAP=de-latin1<br />
FONT=Lat2-Terminus16<br />
}}<br />
<br />
* {{ic|KEYMAP}} – Please note that this setting is only valid for your TTYs, not any graphical window managers or Xorg.<br />
<br />
* {{ic|FONT}} – Available alternate console fonts reside in {{ic|/usr/share/kbd/consolefonts/}}. The default (blank) is safe, but some foreign characters may show up as white squares or as other symbols. It is recommended that you change it to {{ic|Lat2-Terminus16}}, because according to {{ic|/usr/share/kbd/consolefonts/README.Lat2-Terminus16}}, it claims to support "about 110 language sets".<br />
<br />
* Possible option {{ic|FONT_MAP}} – Defines the console map to load at boot. Read {{ic|man setfont}}. Removing it or leaving it blank is safe.<br />
<br />
See [[Fonts#Console_fonts|Console fonts]] and {{ic|man vconsole.conf}} for more information.<br />
<br />
==== Time zone ====<br />
<br />
Available time zones and subzones can be found in the {{ic|/usr/share/zoneinfo/<Zone>/<SubZone>}} directories.<br />
<br />
To view the available <Zone>, check the directory {{ic|/usr/share/zoneinfo/}}:<br />
<br />
# ls /usr/share/zoneinfo/<br />
<br />
Similarly, you can check the contents of directories belonging to a <SubZone>:<br />
<br />
# ls /usr/share/zoneinfo/Europe<br />
<br />
Create a symbolic link {{ic|/etc/localtime}} to your zone file {{ic|/usr/share/zoneinfo/<Zone>/<SubZone>}} using this command:<br />
<br />
# ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime<br />
<br />
'''Example:'''<br />
<br />
# ln -s /usr/share/zoneinfo/Europe/Minsk /etc/localtime<br />
<br />
==== Hardware clock ====<br />
<br />
Set the hardware clock mode uniformly between your operating systems. Otherwise, they may overwrite the hardware clock and cause time shifts.<br />
<br />
You can generate {{ic|/etc/adjtime}} automatically by using one of the following commands:<br />
<br />
* '''UTC''' (recommended)<br />
<br />
: {{Note|Using [[Wikipedia:Coordinated Universal Time|UTC]] for the hardware clock does not mean that software will display time in UTC.}}<br />
<br />
: {{bc|# hwclock --systohc --utc}}<br />
<br />
To synchronize your "UTC" time over the internet, see [[Network Time Protocol daemon|NTPd]].<br />
<br />
* '''localtime''' (discouraged; used by default in Windows)<br />
<br />
: {{Warning|Using ''localtime'' may lead to several known and unfixable bugs. However, there are no plans to drop support for ''localtime''.}}<br />
<br />
: {{bc|# hwclock --systohc --localtime}}<br />
<br />
If you have (or planning on having) a dual boot setup with Windows:<br />
<br />
* Recommended: Set both Arch Linux and Windows to use UTC. A quick [[Time#UTC in Windows|registry fix]] is needed. Also, be sure to prevent Windows from synchronizing the time on-line, because the hardware clock will default back to ''localtime''.<br />
<br />
* Not recommended: Set Arch Linux to ''localtime'' and disable any time-related services, like [[Network Time Protocol daemon|NTPd]] . This will let Windows take care of hardware clock corrections and you will need to remember to boot into Windows at least two times a year (in Spring and Autumn) when [[Wikipedia:Daylight saving time|DST]] kicks in. So please do not ask on the forums why the clock is one hour behind or ahead if you usually go for days or weeks without booting into Windows.<br />
<br />
==== Kernel modules ====<br />
<br />
{{Tip|This is just an example, you do not need to set it. All needed modules are automatically loaded by udev, so you will rarely need to add something here. Only add modules that you know are missing.}}<br />
<br />
For kernel modules to load during boot, place a {{ic|*.conf}} file in {{ic|/etc/modules-load.d/}}, with a name based on the program that uses them.<br />
<br />
{{hc|# nano /etc/modules-load.d/virtio-net.conf|<br />
# Load 'virtio-net.ko' at boot.<br />
<br />
virtio-net}}<br />
<br />
If there are more modules to load per {{ic|*.conf}}, the module names can be separated by newlines. A good example are the [[VirtualBox#Arch Linux guests|VirtualBox Guest Additions]].<br />
<br />
Empty lines and lines starting with {{ic|#}} or {{ic|;}} are ignored.<br />
<br />
==== Hostname ====<br />
<br />
Set the [[Wikipedia:hostname|hostname]] to your liking (e.g. ''arch''):<br />
<br />
# echo ''myhostname'' > /etc/hostname<br />
<br />
{{Note|There is no need to edit {{ic|/etc/hosts}}.}}<br />
<br />
=== Configure the network ===<br />
<br />
You need to configure the network again, but this time for your newly installed environment. The procedure and prerequisites are very similar to the one described [[#Establish an internet connection|above]], except we are going to make it persistent and automatically run at boot.<br />
<br />
{{Note|For more in-depth information on network configration, visit [[Network Configuration]] and [[Wireless Setup]].}}<br />
<br />
{{Note|If you would like to use the old interface naming scheme (ie. eth* and wlan*) you can accomplish this by creating an empty file at {{ic|/etc/udev/rules.d/80-net-name-slot.rules}} which will mask the file of the same name located under {{ic|/usr/lib/udev/rules.d}} (alternatively, instead of an empty file, using a symlink to {{ic|/dev/null}} is also an acceptable masking method).}}<br />
<br />
==== Wired ====<br />
<br />
===== Dynamic IP =====<br />
<br />
; Using dhcpcd<br />
<br />
If you only use a single fixed wired network connection, you do not need a network management service and can simply enable the {{ic|dhcpcd}} service. Here, {{ic|''interface_name''}} is your wired interface:<br />
<br />
# systemctl enable dhcpcd@''interface_name''.service<br />
<br />
; Using netctl<br />
<br />
Copy a sample profile from {{ic|/etc/netctl/examples}} to {{ic|/etc/netctl}}:<br />
<br />
# cd /etc/netctl<br />
# cp examples/ethernet-dhcp my-network<br />
<br />
Edit the profile as needed (modify {{ic|Interface}}):<br />
<br />
# nano my-network<br />
<br />
Enable the {{ic|my-network}} profile:<br />
<br />
# netctl enable my-network<br />
<br />
; Using netctl-ifplugd<br />
<br />
Alternatively, you can use {{ic|netctl-ifplugd}}, which gracefully handles dynamic connections to new networks:<br />
<br />
Install {{Pkg|ifplugd}}, which is required for {{ic|netctl-ifplugd}}:<br />
<br />
# pacman -S ifplugd<br />
<br />
Then enable for interface that you want:<br />
<br />
# systemctl enable netctl-ifplugd@<interface>.service<br />
<br />
{{Tip|[[Netctl]] also provides {{ic|netctl-auto}}, which can be used to handle wired profiles in conjunction with {{ic|netctl-ifplugd}}.}}<br />
<br />
===== Static IP =====<br />
<br />
; Using netctl<br />
<br />
Copy a sample profile from {{ic|/etc/netctl/examples}} to {{ic|/etc/netctl}}:<br />
<br />
# cd /etc/netctl<br />
# cp examples/ethernet-static my-network<br />
<br />
Edit the profile as needed (modify {{ic|Interface}}, {{ic|Address}}, {{ic|Gateway}} and {{ic|DNS}}):<br />
<br />
# nano my-network<br />
<br />
* Notice the {{ic|/24}} in {{ic|Address}} which is the [[wikipedia:Classless Inter-Domain Routing#CIDR notation|CIDR notation]] of a {{ic|255.255.255.0}} netmask<br />
<br />
Enable above created profile to start it at every boot:<br />
<br />
# netctl enable my-network<br />
<br />
==== Wireless ====<br />
<br />
{{Note|If your wireless adapter requires a firmware (as described in the above [[#Wireless|Establish an internet connection]] section and also [[Wireless Setup#Drivers and firmware|here]]), install the package containing your firmware. Most of the time, the {{Pkg|linux-firmware}} package will contain the needed firmware. Though for some devices, the required firmware might be in its own package. For example:<br />
{{bc|# pacman -S zd1211-firmware}}<br />
See [[Wireless Setup]] for more info.}}<br />
<br />
Install {{pkg|iw}}, {{pkg|wpa_supplicant}} and {{pkg|wpa_actiond}} which you will need to connect to a network:<br />
<br />
# pacman -S iw wpa_supplicant wpa_actiond<br />
<br />
===== Adding wireless networks =====<br />
; Using wifi-menu<br />
<br />
Install {{pkg|dialog}}, which is required for {{ic|wifi-menu}}:<br />
<br />
# pacman -S dialog<br />
<br />
After finishing the rest of this installation and rebooting, you can connect to the network with {{ic|wifi-menu ''interface_name''}} (where {{ic|''interface_name''}} is the interface of your wireless chipset).<br />
<br />
# wifi-menu ''interface_name''<br />
<br />
{{Warning|This must be done *after* your reboot when you are no longer chrooted. The process spawned by this command will conflict with the one you have running outside of the chroot. Alternatively, you could just configure a network profile manually using the following templates so that you do not have to worry about using {{ic|wifi-menu}} at all.}}<br />
<br />
; Using manual netctl profiles<br />
<br />
Copy a network profile from {{ic|/etc/netctl/examples}} to {{ic|/etc/netctl}}:<br />
<br />
# cd /etc/netctl<br />
# cp examples/wireless-wpa my-network<br />
<br />
Edit the profile as needed (modify {{ic|Interface}}, {{ic|ESSID}} and {{ic|Key}}):<br />
<br />
# nano my-network<br />
<br />
===== Connect automaticly to known networks =====<br />
Enable the {{ic|netctl-auto}} service, which will connect to known networks and gracefully handle roaming and disconnects:<br />
<br />
# systemctl enable netctl-auto@''interface_name''.service<br />
<br />
{{Tip|[[Netctl]] also provides {{ic|netctl-ifplugd}}, which can be used to handle wired profiles in conjunction with {{ic|netctl-auto}}.}}<br />
<br />
==== Analog modem, ISDN or PPoE DSL ====<br />
<br />
For xDSL, dial-up and ISDN connections, see [[Direct Modem Connection]].<br />
<br />
=== Create an initial ramdisk environment ===<br />
<br />
{{Tip|Most users can skip this step and use the defaults provided in {{ic|mkinitcpio.conf}}. The initramfs image (from the {{ic|/boot}} folder) has already been generated based on this file when the {{Pkg|linux}} package (the Linux kernel) was installed earlier with {{ic|pacstrap}}.}}<br />
<br />
Here you need to set the right [[Mkinitcpio#HOOKS|hooks]] if the root is on a USB drive, if you use RAID, LVM, or if {{ic|/usr}} is on a separate partition.<br />
<br />
Edit {{ic|/etc/mkinitcpio.conf}} as needed and re-generate the initramfs image with:<br />
<br />
# mkinitcpio -p linux<br />
<br />
{{Note|Arch VPS installations on QEMU (e.g. when using {{ic|virt-manager}}) may need {{ic|virtio}} modules in {{ic|mkinitcpio.conf}} to be able to boot.<br />
<br />
{{hc|# nano /etc/mkinitcpio.conf|2=<br />
MODULES="virtio virtio_blk virtio_pci virtio_net"}}}}<br />
<br />
=== Set the root password ===<br />
<br />
Set the root password with:<br />
<br />
# passwd<br />
<br />
=== Install and configure a bootloader ===<br />
<br />
==== For BIOS motherboards ====<br />
<br />
For BIOS systems, two bootloaders are available: Syslinux and GRUB. Choose the bootloader as per your convenience.<br />
<br />
* Syslinux is (currently) limited to loading only files from the partition where it was installed. Its configuration file is considered to be easier to understand. An example configuration can be found [https://bbs.archlinux.org/viewtopic.php?pid=1109328#p1109328 here].<br />
<br />
* GRUB is more feature-rich and supports more complex scenarios. Its configuration file(s) is more similar to a scripting language, which may be difficult for beginners to manually write. It is recommended that they automatically generate one.<br />
<br />
{{Note|Some BIOS systems may have issues with GPT. See http://mjg59.dreamwidth.org/8035.html and http://rodsbooks.com/gdisk/bios.html for more info and possible workarounds.}}<br />
<br />
===== Syslinux =====<br />
<br />
{{Note|If you opted for a GUID partition table for your hard drive earlier, you need to install the {{Pkg|gptfdisk}} package now for this next step to work, assuming you haven't installed it already.}}<br />
<br />
Install the {{Pkg|syslinux}} package and then use the {{ic|syslinux-install_update}} script to automatically ''install'' the bootloader ({{ic|-i}}), mark the partition ''active'' by setting the boot flag ({{ic|-a}}), and install the ''MBR'' boot code ({{ic|-m}}):<br />
<br />
# pacman -S syslinux<br />
# syslinux-install_update -i -a -m<br />
<br />
Configure {{ic|syslinux.cfg}} to point to the right root partition. This step is vital. If it points to the wrong partition, Arch Linux will not boot. Change {{ic|/dev/sda3}} to reflect your root partition ''(if you partitioned your drive as in [[#Prepare the storage drive|the example]], your root partition is sda1)''. Do the same for the fallback entry.<br />
<br />
{{hc|# nano /boot/syslinux/syslinux.cfg|2=<br />
...<br />
LABEL arch<br />
...<br />
APPEND root=/dev/sda3 ro<br />
...}}<br />
<br />
For more information on configuring and using Syslinux, see [[Syslinux]].<br />
<br />
===== GRUB =====<br />
<br />
Install the {{Pkg|grub-bios}} package and then run {{ic|grub-install}} to install the bootloader:<br />
<br />
{{Note|Change {{ic|/dev/sda}} to reflect the drive you installed Arch on. Do not append a partition number (do not use {{ic|sda''X''}}).}}<br />
<br />
{{Note|For GPT-partitioned drives on BIOS motherboards, you also need a "BIOS Boot Partition". Install GRUB by following the [[GRUB#GUID Partition Table (GPT) specific instructions|GPT-specific instructions]] in the GRUB page.}}<br />
<br />
# pacman -S grub-bios<br />
# grub-install --recheck /dev/sda<br />
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo<br />
<br />
{{Note| If it is an installation on virtualbox as guest, while running grub-install command as in above, you might get an error like "/usr/sbin/grub-bios-setup: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible". Executing {{ic|parted -s /dev/sda set 1 bios_grub on}} and then retrying ''grub-install'' should solve the problem.}}<br />
<br />
While using a manually created {{ic|grub.cfg}} is absolutely fine, it is recommended that beginners automatically generate one:<br />
<br />
{{Tip|To automatically search for other operating systems on your computer, install {{Pkg|os-prober}} ({{ic|pacman -S os-prober}}) before running the next command.}}<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For more information on configuring and using GRUB, see [[GRUB]].<br />
<br />
==== For UEFI motherboards ====<br />
<br />
For UEFI boot, the drive needs to be GPT-partitioned and an "[[Unified Extensible Firmware Interface#EFI System Partition|UEFI System Partition]]" (512 MiB or larger, type {{ic|EF00}}, formatted with FAT32) must be present and mounted on {{ic|/boot/efi}}. If you have followed this guide from the beginning, you have already done all of these.<br />
<br />
While there are other [[UEFI Bootloaders|UEFI bootloaders]] available, using EFISTUB is recommended. Below are instructions for setting up EFISTUB and GRUB (of course you choose only one of them).<br />
<br />
{{Note|Syslinux does not yet support UEFI.}}<br />
<br />
===== EFISTUB =====<br />
<br />
The Linux kernel can act as its own bootloader using EFISTUB. This is the UEFI boot method recommended by developers and simpler compared to {{ic|grub-efi-x86_64}}. The steps below set up rEFInd to provide a menu for EFISTUB kernels, as well as for booting other UEFI bootloaders. Alternative EFISTUB boot managers can be found on the page [[UEFI Bootloaders#Booting EFISTUB]]. Both rEFInd and [[gummiboot]] can detect Windows UEFI bootloaders in case of dual-boot.<br />
<br />
1. Mount the UEFI System Partition on {{ic|/mnt/boot/efi}} and chroot back into {{ic|/mnt}}.<br />
<br />
2. [[UEFI Bootloaders#Setting up EFISTUB|Copy the kernel and initramfs files]] to {{ic|/mnt/boot/efi}}:<br />
<br />
# mkdir -p /boot/efi/EFI/arch/<br />
# cp /boot/vmlinu'''z'''-linux /boot/efi/EFI/arch/vmlinuz-arch'''.efi'''<br />
# cp /boot/initramfs-linux.img /boot/efi/EFI/arch/initramfs-arch.img<br />
# cp /boot/initramfs-linux-fallback.img /boot/efi/EFI/arch/initramfs-arch-fallback.img<br />
{{note| If you are going to use rEFInd and you want it to detect kernels in {{ic|/boot}} automatically, you can skip this step}}<br />
<br />
Every time the kernel and initramfs files are updated in {{ic|/boot}}, they need to be updated in {{ic|/boot/efi/EFI/arch}}. This can be automated [[UEFI Bootloaders#Systemd|using systemd]].<br />
<br />
3. For the rEFInd boot manager, install the {{Pkg|refind-efi}} and {{Pkg|efibootmgr}} packages:<br />
<br />
# pacman -S refind-efi<br />
{{note| efibootmgr gets installed as a dependency}}<br />
<br />
4. Install rEFInd to the UEFI System Partition (summarized from [[UEFI Bootloaders#Using rEFInd]]):<br />
<br />
# mkdir -p /boot/efi/EFI/refind<br />
# cp /usr/lib/refind/refind_x64.efi /boot/efi/EFI/refind/refind_x64.efi<br />
# cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/refind/refind.conf<br />
# cp -r /usr/share/refind/icons /boot/efi/EFI/refind/icons<br />
# cp -r /usr/lib/refind/drivers_x64 /boot/efi/EFI/refind/drivers<br />
<br />
5. Create a {{ic|refind_linux.conf}} file with the kernel parameters to be used by rEFInd:<br />
<br />
{{note| If you don't want rEFInd to automatically detect the kernel, you have to place {{ic|refind_linux.conf}} where you copied the kernel and initramfs files.}}<br />
# cp /usr/lib/refind/config/refind_linux.conf /boot/refind_linux.conf<br />
# nano /boot/refind_linux.conf<br />
Edit the {{ic|PARTUUID}} value to match the UUID of your root partition. You can find out what the UUID is by using {{ic|$ ls -l /dev/disk/by-partuuid/}}. <br />
If you don't want to use the UUID, you can set {{ic|root&#61;/dev/sdXY}}. This refers to the root partition, not the boot partition, if you created them separately. <br />
You also need to set the {{ic|rootfstype}}. If you use ext4 on the root partition, it looks like this: {{ic|rootfstype&#61;ext4}}<br />
<br />
6. Add rEFInd to UEFI boot menu using [[UEFI#efibootmgr|efibootmgr]]. Replace X and Y with the drive and partition of the UEFI System Partition. For example, in {{ic|/dev/sdc5}}, X is "c" and Y is "5".<br />
<br />
{{Warning|Using {{ic|efibootmgr}} on Apple Macs may brick the firmware and may need reflash of the motherboard ROM. For Macs, use {{AUR|mactel-boot}}, or "bless" from within OS X.}}<br />
<br />
# modprobe efivars<br />
# efibootmgr -c -d /dev/sdX -p Y -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'<br />
<br />
{{Note|On some systems, the above command will not work properly. It will execute without any visible error, but the UEFI boot menu will not have been correctly updated with a new entry. To determine whether the command executed properly, run {{ic|efibootmgr}} without any arguments and see if a new entry has appeared in the list displayed. If there is no new entry, then it will not be possible to enter rEFInd upon reboot, as the UEFI boot menu has been left unchanged. In this case, you will instead have to enter the UEFI shell and manually add an entry to the UEFI boot menu with the {{ic|bcfg}} command, as described [[Unified Extensible Firmware Interface#bcfg|here]].}}<br />
<br />
{{Note|On some ASUS motherboards, there is an EFI bug that always reports {{ic|MaxVariableSize&#61;0}}. Combined with a recent kernel that enforces checks on this value, this prevents {{ic|efibootmgr}} from setting new EFI variables. These motherboards do not support the UEFI Shell v2, so you cannot use the {{ic|bcfg}} method either. To work around this, add {{ic|efi_no_storage_paranoia}} to the kernel command line. You can do this by pressing "e" at the bootloader menu.}}<br />
<br />
===== GRUB =====<br />
<br />
Install the {{Pkg|grub-efi-x86_64}} and {{Pkg|efibootmgr}} packages and then run {{ic|grub-install}} to install the bootloader:<br />
<br />
{{Note|In case you have a system with 32-bit EFI, like pre-2008 Apple Macs, install {{ic|grub-efi-i386}} instead of {{ic|grub-efi-x86_64}}.}}<br />
<br />
# pacman -S grub-efi-x86_64 efibootmgr<br />
# grub-install --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck<br />
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo<br />
<br />
Next, while using a manually created {{ic|grub.cfg}} is absolutely fine, it is recommended that beginners automatically generate one:<br />
<br />
{{Tip|To automatically search for other operating systems on your computer, install {{Pkg|os-prober}} ({{ic|pacman -S os-prober}}) before running the next command.}}<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
{{Note|{{ic|grub-install}} should create a new entry in the UEFI boot menu. If it does not, you will instead have to enter the UEFI shell and manually add an entry to the UEFI boot menu with the {{ic|bcfg}} command, as described [[Unified Extensible Firmware Interface#bcfg|here]].}}<br />
<br />
For more information on configuring and using GRUB, see [[GRUB]].<br />
<br />
=== Unmount the partitions and reboot ===<br />
<br />
Exit from the chroot environment:<br />
<br />
# exit<br />
<br />
Since the partitions are mounted under {{ic|/mnt}}, we use the following command to unmount them:<br />
<br />
# umount /mnt/{boot,home,}<br />
<br />
Reboot the computer:<br />
<br />
# reboot<br />
<br />
{{Tip|If you face error "/sbin/init does not exist" on next boot, look for systemd binary path and pass it as kernel argument while booting up. For example, "init &#61; /usr/lib/systemd/systemd" }}<br />
{{Tip|Be sure to remove the installation media, otherwise you will boot back into it.}}<noinclude><br />
{{Beginners' Guide navigation}}</noinclude></div>J77h