Anonymous

Changes

From Pumping Station One
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 -n 1:2048: /dev/vda
+
sgdisk --new 1:2048: /dev/vda
 
</syntaxhighlight>
 
</syntaxhighlight>
   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 39: Line 40:  
Now that arch is isntalled, build a partition to mount point table, and write it to /mnt/etc/fstab
 
Now that arch is isntalled, build a partition to mount point table, and write it to /mnt/etc/fstab
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
genfstab -p /mnt >> /mnt/etc/fstab
+
genfstab /mnt >> /mnt/etc/fstab
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
== Jump into Arch ==
+
== Change Root (chroot) to Arch ==
    
Switch into the arch installtion.
 
Switch into the arch installtion.
Line 49: Line 50:  
</syntaxhighlight>
 
</syntaxhighlight>
   −
 
+
Set time Timezone
Fix the timezone settings
   
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
unlink /etc/localtime
   
ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
 
ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
 
</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.
 +
<syntaxhighlight lang="bash">
 +
dd if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/vda
 +
</syntaxhighlight>
   −
Create your initial ramdisk -  The initial file system before the real one boots
+
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">
mkinitcpio -p linux
+
ln -s /usr/lib/syslinux/bios/*.c32 /boot/syslinux/
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
Prepare the /boot folder with syslinux's init stuff.
+
Run the syslinux extlinux installer.
 +
* extlinux is the filesystem variant of syslinux
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
cp -r /usr/lib/syslinux/bios/*.c32 /boot/syslinux/
   
extlinux --install /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.
+
By default, syslinux tries to boot /dev/sda3. Change it to boot /dev/vda1
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/vda
+
sed -i 's#/dev/sda3#/dev/vda1#' /boot/syslinux/syslinux.cfg
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
By default, syslinux tries to boot /dev/sda3.  Change it to boot /dev/vda1
+
== Reboot ==
 +
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sed -i 's#/dev/sda3#/dev/vda1#' /boot/syslinux/syslinux.cfg
+
exit
 +
reboot
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
== Flavor ==
+
=== When Something Goes Wrong ===
 +
 
 +
If something goes wrong with rebooting and you end up back on the live cd, you don't need to start over.
 +
Running the following 2 commands will bring you back to your Arch Linux Environment
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
pacman -Sy
+
mount /dev/vda1 /mnt
pacman -S --noconfirm salt-zmq
+
arch-chroot /mnt
systemctl enable salt-minion
   
</syntaxhighlight>
 
</syntaxhighlight>
   −
== enter your hostname ==
+
Once you are back in the Arch environment, Check the following:
 +
* You set the bootable flag on the partions
 +
* You setup the syslinux boot loader correctly.
   −
    echo ${hostname} > /etc/hostname
+
== 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>
   −
== reboot ==
+
=== Network Logins ===
    exit
+
Enable Network logins by joining the domain server.
    reboot
+
After this command is run, the machine will support network authentication.
 +
<syntaxhighlight lang="bash">
 +
net ads join -U <your user name>
 +
</syntaxhighlight>
Cookies help us deliver our services. By using our services, you agree to our use of cookies.