14. maj 2015|Linux, Notater|

Local pxe installation

Remember – every action by YOU is YOUR responsibility – not mine.

Recommended reading

The following is my preferences

  • and therefore might not suit you – so change what ever you like, to fit your needs.

The approach is more than average geeky, and requires a local server to serve pxe-boot and fast internet connection, but you will benefit by getting an up2date killer-installation just as you prefer it.

You need at machine to serve as TFTP server. If you have Synology NAS you are in luck.

The machine you want to install must be able to boot from the network. This is a setting in BIOS.

When booted you must select an installation mirror. It makes sense to select a mirror in your neighborhood – or at least in your country

http://mirrors.dotsrc.org/archlinux/$repo/os/$arch

Above mirror is Ålborg University in Denmark so this works for me.

Wait while 250MB data is fetched …

Keyboard layout

# loadkeys dk

Get disk ready

remember backup – all my files is located at network-shares so this works for me.

# sgdisk --zap-all /dev/sdc
# reboot

The terminal font can be a pain (this one lacks danish accent chars æøå) but is good on my tired eyes

# setfont Lat2-Terminus16

This one has support for above mentioned accent chars

# setfont cp865-8x16

Partitioning

I run from a PCIe card with mSATA disk raid so my bootdrive is not the common choice. You will need to modify according to your actual setup

# cgdisk /dev/sdc

    sdc1 type 8200 name root filesystem ext4
    sdc2 type 8302 name home filesystem ext4
    sdc3 type 8300 name boot filesystem ext2

Create filesystems and mount them

# mkfs.ext4 /dev/sdc1
# mkfs.ext4 /dev/sdc2 
# mkfs.ext2 /dev/sdc3
# mount /dev/sdc1 /mnt
# mkdir /mnt/home
# mkdir /mnt/boot
# mount /dev/sdc2 /mnt/home
# mount /dev/sdc3 /mnt/boot
# lsblk -f

Base installation

# pacman -Syy                                                 
# pacstrap /mnt base base-devel
# genfstab -U -p /mnt >> /mnt/etc/fstab
# cat /mnt/etc/fstab
# arch-chroot /mnt /bin/bash

Locale

# echo LANG=da_DK.UTF-8 > /etc/locale.conf
# echo da_DK.UTF-8 UTF-8 > /etc/locale.gen
# locale-gen                                                  
# echo KEYMAP=dk > /etc/vconsole.conf            
# echo FONT=Lat2-Terminus16 >> /etc/vconsole.conf
# ln -s /usr/share/zoneinfo/Europe/Copenhagen /etc/localtime  
# hwclock --systohc --utc

Network

# echo ts1 > /etc/hostname
# nano /etc/hosts

    127.0.0.1         localhost.localdomain    localhost
    127.0.1.1         sfinx
    192.168.10.200    sfinx.uex.lan sfinx

Info

# ip link
# ip addr

DHCP

# systemctl enable            

Boot-loader

# pacman -S gptfdisk syslinux
# syslinux-install_update -iam                      
# nano /boot/syslinux/syslinux.cfg

    ...
    LABEL arch
        ...
        APPEND root=/dev/sdc3 rw
        ...
    LABEL archfallback
        ...
        APPEND root=/dev/sdc3 rw
        ...

The raisin in the hotdog-end

# passwd                                            
# exit
# umount -R /mnt
# reboot

References

Beginners’ guide
Installation guide
General recommendations

Share this Post: