HowTo Install Arch Linux: Difference between revisions

From Pumping Station One
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Initializing the Disk==
== Installation Media ==
* Get the latest Arch install disk from https://www.archlinux.org/download/
* Boot from it
 
== Initializing the Disk ==


Install/reinitialize GPT (Guid Partition Table) on the disk`
Install/reinitialize GPT (Guid Partition Table) on the disk`
Line 6: Line 10:
</syntaxhighlight>
</syntaxhighlight>


Create partition one, leave 2048 sectors blank for the syslinux bootloader, and consuming the rest of the drive.
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. Format The partition as ext4
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 30: Line 34:
Install Arch to /mnt
Install Arch to /mnt
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
pacstrap /mnt
pacstrap /mnt base
</syntaxhighlight>
</syntaxhighlight>


Line 39: Line 43:
</syntaxhighlight>
</syntaxhighlight>


== Change Root (chroot) to Arch ==
== Change Root (chroot) to Arch ==


Switch into the arch installtion.
Switch into the arch installtion.
Line 49: Line 53:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
</syntaxhighlight>
Set dhcpd to start at boot
<syntaxhighlight lang="bash">
systemctl enable dhcpcd
</syntaxhighlight>
Set sshd to start at boot.
<syntaxhighlight lang="bash">
systemctl enable sshd
</syntaxhighlight>
</syntaxhighlight>


== Prepraring to Boot ==
== Prepraring to Boot ==


Create your initial ramdisk - The initial file system before the real one boots
Create your initial ramdisk - The initial file system before the real one boots
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mkinitcpio -p linux
mkinitcpio -p linux
Line 74: Line 67:
</syntaxhighlight>
</syntaxhighlight>


Prepare the /boot folder with syslinux's micro programs.
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">
dd if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/vda
</syntaxhighlight>
 
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/
extlinux --install /boot/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.
Run the syslinux extlinux installer.
* extlinux is the filesystem variant of syslinux
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
dd if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/vda
extlinux --install /boot/syslinux
</syntaxhighlight>
</syntaxhighlight>


By default, syslinux tries to boot /dev/sda3. Change it to boot /dev/vda1
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 110: 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">
<syntaxhighlight lang="bash">
pacman -S salt-zmq
pacman -S salt-zmq
systemctl enable salt-minion
systemctl start salt-minion
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">
net ads join -U <your user name>
</syntaxhighlight>
</syntaxhighlight>