HowTo Install Arch Linux: Difference between revisions
From Pumping Station One
| (20 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
== | == Installation Media == | ||
* Get the latest Arch install disk from https://www.archlinux.org/download/ | |||
* Boot from it | |||
Install GPT (Guid Partition Table) on the disk` | == Initializing the Disk == | ||
Install/reinitialize GPT (Guid Partition Table) on the disk` | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sgdisk - | sgdisk --zap /dev/vda | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Create partition | Create partition 1, leave 2048 sectors blank for the syslinux bootloader, and don't specify an end size, so that it takes the rest of the drive. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sgdisk --new 1:2048: /dev/vda | sgdisk --new 1:2048: /dev/vda | ||
| Line 16: | Line 20: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Now that you have a partition, it will show as /dev/vda1. | Now that you have a partition, it will show as /dev/vda1. Format The partition as ext4 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mkfs.ext4 /dev/vda1 -F | mkfs.ext4 /dev/vda1 -F | ||
| Line 28: | Line 32: | ||
== Install Arch == | == Install Arch == | ||
Install Arch to /mnt | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
pacstrap /mnt base | pacstrap /mnt base | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 42: | Line 43: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Change Root (chroot) to | == Change Root (chroot) to Arch == | ||
Switch into the arch installtion. | Switch into the arch installtion. | ||
| Line 54: | Line 55: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Prepraring to Boot == | |||
Create your initial ramdisk - The initial file system before the real one boots | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mkinitcpio -p linux | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Install syslinux | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
pacman -S syslinux | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Install syslinux's GPT MBR (Master Boot Record) to the root of MBR. This will sit in the 2048 of reserved space from when we partitioned the drive. | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
dd if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/vda | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Prepare the /boot folder with syslinux's | Prepare the /boot folder with syslinux's modules. The .c32 files that ship with syslinux are for systems that use a bios to boot. Symlink the bios modules into syslinux's boot folder. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ln -s /usr/lib/syslinux/bios/*.c32 /boot/syslinux/ | ln -s /usr/lib/syslinux/bios/*.c32 /boot/syslinux/ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Run the syslinux extlinux installer. | |||
* extlinux is the filesystem variant of syslinux | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
extlinux --install /boot/syslinux | |||
</syntaxhighlight> | </syntaxhighlight> | ||
By default, syslinux tries to boot /dev/sda3. | By default, syslinux tries to boot /dev/sda3. Change it to boot /dev/vda1 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sed -i 's#/dev/sda3#/dev/vda1#' /boot/syslinux/syslinux.cfg | sed -i 's#/dev/sda3#/dev/vda1#' /boot/syslinux/syslinux.cfg | ||
| Line 108: | Line 108: | ||
* You setup the syslinux boot loader correctly. | * You setup the syslinux boot loader correctly. | ||
== Flavor == | == PS:One Flavor == | ||
=== Salt === | |||
Some settings common to most of the computers at PS:One can be applied by running the following commands: | |||
<syntaxhighlight lang="bash"> | |||
pacman -S salt-zmq | |||
systemctl start salt-minion | |||
salt-call state.highstate | |||
</syntaxhighlight> | |||
=== Network Logins === | |||
Enable Network logins by joining the domain server. | |||
After this command is run, the machine will support network authentication. | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
net ads join -U <your user name> | |||
</syntaxhighlight> | </syntaxhighlight> | ||