Line 1: |
Line 1: |
− | == Initializing the Disk== | + | == 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 -z /dev/vda | + | sgdisk --zap /dev/vda |
| </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 28: |
Line 32: |
| == Install Arch == | | == Install Arch == |
| | | |
− | * Also install base-devel: compiler programs
| + | Install Arch to /mnt |
− | * openssh: remote access
| |
− | * syslinux: bootloader
| |
− | | |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
− | pacstrap /mnt base base-devel openssh syslinux | + | pacstrap /mnt base |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
Line 42: |
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 54: |
Line 55: |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
| + | == Prepraring to Boot == |
| | | |
− | Set dhcpd to start at boot
| + | Create your initial ramdisk - The initial file system before the real one boots |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
− | systemctl enable dhcpcd
| + | mkinitcpio -p linux |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | Set sshd to start at boot.
| + | Install syslinux |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
− | systemctl enable sshd
| + | pacman -S syslinux |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | == Prepraring to boot ==
| + | 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. |
− | | |
− | Create your initial ramdisk - The initial file system before the real one boots
| |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
− | mkinitcpio -p linux
| + | dd if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/vda |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | Prepare the /boot folder with syslinux's init stuff. | + | 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 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"> |
− | pacman -Sy
| + | net ads join -U <your user name> |
− | pacman -S --noconfirm salt-zmq
| |
− | systemctl enable salt-minion
| |
| </syntaxhighlight> | | </syntaxhighlight> |