Talk:Installation guide

From ArchWiki
Jump to navigation Jump to search

Read this first before adding new suggestions

  • systemd tools such as hostnamectl, timedatectl and localectl do not work in the installation chroot environment, so please do not propose to use them in the guide unless you can prove that they have been made to work also in that case. See [1], [2], [3] and [4] for some past discussions about this issue.
  • localectl list-keymaps does not work due to bug FS#46725. For the chosen replacement command, see [5].
  • localhost must be set explicitely in /etc/hosts, as it is otherwise resolved over the network. See FS#56684.

-- The ArchWiki Administrators 22:17, 2 September 2016 (UTC)

Link to the German version

Instead of de:Arch Install Scripts you could choose de:Anleitung für Einsteiger it means "Beginner's Guid" and is a very detailed artikel for very new arch users and the future experts.

Thank you, done. -- Kynikos (talk) 16:31, 6 February 2018 (UTC)
This was already proposed last year and rejected: [6]. I don't see what has changed since then. If someone adds me as admin to the german wiki or changes the protection settings, I can update de:Arch Install Scripts as required. -- Alad (talk) 18:13, 6 February 2018 (UTC)
I see, I didn't remember that discussion so I've reverted the change, hopefully you'll make it to update the translation, let's leave this open until the problem is solved, otherwise this kind of suggestion will keep appearing recurrently. -- Kynikos (talk) 17:53, 7 February 2018 (UTC)

Network configuration

dhcpcd for installed environment

How about we add a sentence to Installation_guide#Network_configuration describing how to restore use of dhcpcd as done on the installation medium? That way if the connection already worked on installation people only need a brief look at dhcpcd. -- Alad (talk) 15:48, 27 May 2018 (UTC)

I think that would just hide the possibility of choice from users. Maybe just say that dhcpcd is not enabled on the installed system without recommending anything. -- Lahwaacz (talk) 17:34, 27 May 2018 (UTC)

once chrooted, one has to configure again

One chrooted, configuration file edited in the previous steps, will have to be redone in the chrooted environment (/etc/systemd/network/ files). This is the same for ntp configuration (/etc/systemd/timesyncd.conf).

This should be worth noting.

—This unsigned comment is by Mrechte (talk) 12:27, 14 May 2019‎. Please sign your posts with ~~~~!

The guide does not say to edit anything under /etc/systemd/ in the first place, so there is nothing to be redone. Furthermore, Installation guide#Network configuration says to "Complete the network configuration for the newly installed environment." -- Lahwaacz (talk) 17:27, 17 May 2019 (UTC)

Why should a static IP be preferred over in /etc/hosts?

"If the system has a permanent IP address, it should be used instead of"

I think the ArchWiki should not just say do X but also why. Alad as you added this, perhaps you can explain?--Larivact (talk) 15:14, 21 May 2018 (UTC)

In Network_configuration#Local hostname resolution: "For a system with a permanent IP address, that permanent IP address should be used instead of" -- Lahwaacz (talk) 06:48, 22 May 2018 (UTC)
First appearance in our wiki, cited source, also discussion. -- Kynikos (talk) 10:26, 22 May 2018 (UTC)

Network Configuration -- WiFi discussion

I'm starting a new thread seeing as the last one took a different direction and never really got resolved.

As it stands, the current instructions for the installation guide make it challenging for users who need to connect to the internet via a Wireless connection rather than wired. The Installation_guide#Connect_to_the_Internet section essentially assumes the users are using a wired connection, and to test it with a ping. Otherwise, they are directed to the Network_configuration page. Unfortunately, that page does not provide clear instructions for new users (or even those who just want to do a quick connection) to establish a connection via wireless. Equally so, should users find their way to the Wireless_network_configuration page, there is some digging to do there in order to find instructions to setup a connection. These are currently using the iw command, which may prove to be challenging to some. I see a few different possible solutions to improve the user experience:

  • Add explicit instructions to the installation guide
    • This is not ideal, as it adds another place to maintain likely duplicate information
  • Add a reference to the Wireless_network_configuration page
    • This is better, though the page would likely need a new section, or some tweaking to allow users to more easily find the information they need to get setup
  • Add new/better instructions to the Network_configuration page
    • This may also prove to be tricky, seeing as that page is already fairly monolithic, and focuses mostly on wired connections

One other consideration (of which I also don't see any progress) is the discussions revolving around moving and breaking down the Network Configuration guides, to separate Wired and Wireless content. With this move I could see such instructions being provided there. In any case, the guide should provide instructions that are:

  • Easy to follow, particularly for new users
  • Puts no emphasis on persisting configurations, as this is not applicable during the install phase
  • Offers options (choice is King)

--CubeTheThird (talk) 23:47, 26 August 2018 (UTC)

The Wireless network configuration link was removed because it cannot be used independently of Network configuration. I propose the following:
  1. Implement Talk:Network configuration#Moving Ethernet-specific sections to Wired subpage. Network configuration currently isn't straightforward. The actual setup instructions are hidden in the Network management section and it's confusing that wireless has a subpage but wired and medium-agnostic configuration are mixed together. See my demo.
  2. Have the Connect to the Internet section only link Network configuration and move the dhcpcd udev rule note there.
  3. Move Wireless network configuration to Network configuration/Wireless and move its iw section to a dedicated article because since recently we also have iwd.
The result should be more user-friendly without duplicating content.
--Larivact (talk) 07:13, 27 August 2018 (UTC)
As for your demo, note that in Talk:Network_configuration#Ongoing_rewrite, Alad said: "ping is one of the very first commands a new user has to run on installation to verify the availability of an internet connection". So unless you intend to direct users from the installation guide directly to the Network configuration#Troubleshooting section, there is still some more thinking to be done... -- Lahwaacz (talk) 07:21, 28 August 2018 (UTC)
Well then let's keep Connect to the Internet and revise it:

The installation image has a udev rule that enables the dhcpcd service for Ethernet network interfaces on boot. If you use Ethernet, verify the connection with ping:

# ping

If the ping fails see Network configuration#Troubleshooting. If you want to use Wi-Fi or a static IP address, stop the dhcpcd service with systemctl stop dhcpcd@interface where the interface name can be tab-completed and proceed with Network configuration.

--Larivact (talk) 08:41, 28 August 2018 (UTC)
That looks good to me. -- Lahwaacz (talk) 14:57, 28 August 2018 (UTC)


The section about generating the fstab with genfstab mentions -U and -L options but not the possibility to use GPT identifiers PARTUUID and PARTLABEL with the '-t' option. Those are described in Persistent block device naming and are a better choice for some users. genfstab itself doesn't explicitly list the GPT options either so IMHO it would be helpful to add this info here.

—This unsigned comment is by Grmat (talk) 15:12, 9 October 2018‎. Please sign your posts with ~~~~!

In that case you should open a bug / file a patch such that genfstab does list these options. The wiki shouldn't make up for missing basic documentation in distribution tools. -- Alad (talk) 17:49, 13 March 2019 (UTC)

Wording in example layout table and size of EFI partition

Wording in example layout table

Regarding Installation_guide#Example_layouts:

even if many users will understand remainder of the device as what is left after size of /dev/sdx1 and /dev/sdx3 are subtsructed from the size of the device, I think the order of the table might be confusing for some. Some people might set /dev/sdx2 to the size of the device minus size of /dev/sdx1, and then stumbled at where from 512 MiB, or larger, are to be found for /dev/sdx3. Either suggest the swap space as /dev/sdx2 and / as /dev/sdx3, or better explain the meaning of the remainder of the device for sdx2. Regid (talk) 14:05, 29 December 2018 (UTC)

Using /dev/sdx2 for swap is questionable, it doesn't emphasize that swap is optional nor is it consistent with other articles like dm-crypt/Encrypting an entire system. If you have some better explanation for "remainder of the device" feel free to propose it. -- Alad (talk) 08:55, 30 December 2018 (UTC)
I was trying to say that a user that patitions his HD by following the table might do the following: look at first row in the table, and creates the EFI partition. Than continue with the 2nd row. So he creates a partition at the remainder of his HD. Now he comes to the 3rd row: where will he get 512 MiB, or larger? As for dm-crypt/Encrypting an entire system, I might be wrong thinking that each partition is considered a separate device, so it doesn't matter if the swap space is before, or after, the / partition. Regid (talk) 12:41, 30 December 2018 (UTC)
Perhaps call it "Principal part of the device" instead. NB the term "remainder of the device" is often used for a separate /home in other articles. --Indigo (talk) 21:33, 3 February 2019 (UTC)
Partioning disks mentions fdisk but better is gdisk /dev/sdX (x representing your drive. mine is sda) then running commands x, z, y, y after that run cgdisk Drillsar (talk) 01:04, 16 May 2019 (UTC)

Boot loader installation

Installation guide#Boot loader doesn't say to install a boot loader, it only refers to a list of them. How about adding something like "Choose and install at least one boot loader."? -- nl6720 (talk) 19:46, 14 March 2019 (UTC)

At least one? -- Alad (talk) 21:09, 14 March 2019 (UTC)
Might not be the most common scenario, but it's possible to use one boot loader for BIOS booting and another for UEFI booting. E.g. rEFInd for UEFI booting + Syslinux for BIOS booting. If that use case is too uncommon to be mentioned then just add "Choose and install a boot loader.". -- nl6720 (talk) 21:31, 14 March 2019 (UTC)
"Choose and install a boot loader" would probably be adequate for the portion in the main text, perhaps with a note mentioning that more than one can be utilized. I strongly agree with explicitly telling the user to install the boot loader. With the current phrasing, it could implied as being an optional component. I recall that during one of my first attempts at installing arch, I managed to make this exact mistake. Anyone who has significant experience with operating systems probably wouldn't have this misunderstanding, but there are likely many new users reading this guide who don't have an understanding of the boot process. -- Aeros167 (talk) 08:55, 9 June 2019 (UTC)
Are there any objections to adding "Choose and install a boot loader." ? -- nl6720 (talk) 08:43, 11 July 2019 (UTC)
It's really easy to set up the partitions incorrectly or to incorrectly (or not at all) install a bootloader, especially for a user returning to Arch from the days when booting computers was simpler and Arch had the installer script. I think there should be stronger, more-prescriptive language both around setting up the partitions and installing a bootloader that makes the straightforward single-boot installation easier to achieve. I've been using Arch for more than a decade, and I've managed to mess this up; and it's always the most-irritating and time-wasting part of the installation process. What good is a link to a massive table of bootloader pros-and-cons if I have no idea what I might need or why? -- kleptophobiac (talk) 16:04, 14 July 2019 (UTC)
If you're arguing that, to make the installation easier, the Installation guide should recommend a particular boot loader, then that is not going to happen. Someone (might be even me) is bound to be discontent with the recommended option. And that applies to other software too, not just boot loaders. -- nl6720 (talk) 16:27, 14 July 2019 (UTC)
The Installation Guide is a guide, not an exhaustive reference manual on all options available for every decision. Following your logic, the Installation Guide should merely be a set of links to deeper articles. That dilutes the article's utility to homeopathic levels. What if I want to install from stored packages on a CD? That's not covered. Neither is getting network link tunneled over a serial line. The point being that these are all less-common paths that an article can totally acknowledge, but a guide's value is in reducing complexity and being helpful. Even as it is written right now, the Installation Guide is full of prescriptions. And that is precisely its value. -- kleptophobiac (talk) 16:37, 14 July 2019 (UTC)
If you haven't noticed, the Installation guide already consists mostly of links to other articles.
If you have anything specific you'd want to add to Installation guide#Boot loader, then please share it and it can be discussed further. -- nl6720 (talk) 16:56, 14 July 2019 (UTC)

Boot loader options

Is it worth saying that without systemd-sysvcompat, you need to add the init=/lib/systemd/systemd kernel parameter?

I got a bad surprise when I uninstalled the thing. – flying sheep 08:05, 18 April 2019 (UTC)

That is not something that belongs in the Installation guide. The init= parameter is documented in Kernel parameters#Parameter list and its description hints at the consequences of uninstalling systemd-sysvcompat.
What made you decide to uninstall systemd-sysvcompat? -- nl6720 (talk) 10:37, 18 April 2019 (UTC)
I decided I didn’t need the aliases it provides. Little did I know that one of them is Linux’ defaults.
I think it’s a bit hidden there and there should be some way to discover this in the wiki while installing – flying sheep 16:58, 22 April 2019 (UTC)
I'm not against making it a bit more discoverable, but the Installation guide is not the place for that. I think it would best belong somewhere in the systemd page. -- nl6720 (talk) 07:58, 24 April 2019 (UTC)

with UEFI you only need to run bootctl install and add entries to arch.conf. Why isn't this mentioned? Drillsar (talk) 01:01, 16 May 2019 (UTC)

bootctl is systemd-boot's installation command. The wiki should not give preference to a specific boot loader. -- nl6720 (talk) 15:13, 16 May 2019 (UTC)

Confusing partition numbers

The partition numbers on this page are confusing. The table calls the root partition /dev/sdX2, while the text below calls it /dev/sdX1. It should be matched for consistency. Sabinscabin (talk) 20:29, 13 April 2019 (UTC)

Probably better to do it as [7] -- Alad (talk) 18:53, 1 May 2019 (UTC)

Time configuration

Why use:

# ln -sf /usr/share/zoneinfo/x/y /etc/localtime

Instead of:

# ln -sfr /usr/share/zoneinfo/x/y /etc/localtime

Keeping relative links isn't better?

—This unsigned comment is by Tinti (talk) 10:56, 7 May 2019 (UTC). Please sign your posts with ~~~~!

It's an extra flag that adds no ostensible benefit in this case. -- Alad (talk) 11:19, 4 June 2019 (UTC)

Example layouts for partitions

Why suggest only 512MB of Linux SWAP when it's recommended to use double the RAM?

—This unsigned comment is by Fruit (talk) 10:58, 3 June 2019‎. Please sign your posts with ~~~~!

It says "More than 512 MiB", not just "512 MiB". -- Lahwaacz (talk) 21:35, 3 June 2019 (UTC)
...nor does Arch have any recommendations on setting swap to double the RAM amount. Closing -- Alad (talk) 11:18, 4 June 2019 (UTC)

Working with a old ISO

If installing Arch with an outdated ISO, you are likely prompted to import PGP keys. Agree to download the key to proceed. If you are unable to add the PGP key successfully, update the known keys, i.e. pacman-key --refresh-keys. —This unsigned comment is by Enguerran (talk) 13:51, 16 July 2019 (UTC). Please sign your posts with ~~~~!

If someone is dual booting with Windows, they should be instructed to make Windows use UTC time.

Info is here:

I would say this is pretty important to include. Tonij (talk) 22:28, 17 July 2019 (UTC)

Interesting. How about adding a note like:
Note: When dual-booting with Windows, the use of UTC is highly recommended.
-- Josephgbr (talk) 14:06, 31 July 2019 (UTC)
This scenario is already described in detail in Dual_boot_with_Windows#Time_standard. -- Alad (talk) 19:52, 31 July 2019 (UTC)

Incomplete listing of keymaps

When setting the keyboard layout, the command # ls /usr/share/kbd/keymaps/**/*.map.gz does not list all keymaps, as e.g. i386 has another subdirectory which breaks the regexp pattern. Adding another wildcard character # ls /usr/share/kbd/keymaps/**/*/*.map.gz shows the rest of the keymaps, back won't the keymaps from the former command. How about using ls -R /usr/share/kbd/keymaps/* | less -- Josephgbr (talk) 10:25, 31 July 2019 (UTC)

Are you sure ls /usr/share/kbd/keymaps/**/*/*.map.gz is correct? ** recursively matches subdirectories, so **/ and **/*/ should be the same.
$ ls -l /usr/share/kbd/keymaps/**/*/*.map.gz | wc -l
$ ls -l /usr/share/kbd/keymaps/**/*.map.gz | wc -l
Too bad that grml doesn't set GLOB_STAR_SHORT, the command could be simplified to ls /usr/share/kbd/keymaps/***.map.gz.
Personally I think, if we're making it more complex why not use basename -s .map.gz /usr/share/kbd/keymaps/**/*.map.gz, it would omit the paths and only output values that are usable by loadkeys and /etc/vconsole.conf.
-- nl6720 (talk) 15:33, 31 July 2019 (UTC)
Indeed, I probably skipped the second asterisk ** and didn't even notice. Your suggestion, although nicely remove path from the output, seems a little bit more complex and prone to typos. But if using it, it looks awesome prefixed with | column -- Josephgbr (talk) 16:04, 31 July 2019 (UTC)