Download image and PGP signature
From https://www.archlinux.org/download/. The preferred option is to download the image using bittorrent, so as to unburden the Arch servers.
Verify downloaded image
$ gpg --keyserver pgp.mit.edu \ --keyserver-options auto-key-retrieve \ --verify archlinux-version-x86_64.iso.sig
If this disk is being created on an Arch Linux system, you could also invoke:
$ pacman-key -v archlinux-version-x86_64.iso.sig
-v switch is short for
Insert USB drive and check the device name
$ sudo fdisk -l
-l is short for
--list, and will display the device names and partition tables.
Output will look like:
Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors Disk model: CT2000MX500SSD1 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x117d68c1 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 3907029167 3907027120 1.8T 83 Linux
Check the output and find the device name of the USB (for instance
/dev/sdc). Make sure this device is not mounted, otherwise the next command will fail. Also make sure you note the device name, and not a partition (indicated by a numeral at the end:
/dev/sdc1, for example).
Copy Arch Linux image to USB drive
$ sudo dd if=archlinux-2019-01-01-x86_64.iso \ of=/dev/sdX \ bs=64K \ oflag=sync \ status=progess
ifindicates the input file (the
.isoof the live Linux distro).
of, likewise, points to the output file, which is a device in this case. Note that
/dev/sdXneeds to be replaced with the device name we found in the previous step.
bs=64Kindicates the block size, which means that
ddwill read and write up to 64K bytes at a time. The default is 512 bytes. It really depends what the optimal block size is, but several sources indicate that 64K is a good bet on somewhat modern to modern hardware.
oflagstands for “output flag”. The
syncflag will make sure that all data is written to the USB stick when the
ddcommand exits, so it will be safe to remove the USB stick.
status=progressindicates the level of information that is printed during file transfer.
progressshows periodic transfer statistics.
Notice that the device does not need to be partitioned or empty before this operation. When
dd writes to a device rather than a partition, all data on the drive – including partitions – will be erased anyway.