Create Arch Linux Live USB
Creating a Arch Linux live USB is easy. In this post, I will walk you through downloading and verifying the image, finding your USB drive and copying the image onto it, all from the convenience of the command line.
Download image and PGP signature
Download the latest Arch Linux image from https://www.archlinux.org/download/. The preferred option is to download the image using BitTorrent, in order not to burden the Arch servers unnecessarily.
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
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:
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.