Skip to content

Instantly share code, notes, and snippets.

@sq3
Forked from wuputah/archlinux-install.sh
Last active February 1, 2018 18:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save sq3/d68c748d3f598500dffac0aa35696294 to your computer and use it in GitHub Desktop.
Save sq3/d68c748d3f598500dffac0aa35696294 to your computer and use it in GitHub Desktop.
# confirm you can access the internet
if [[ ! $(curl -Is http://www.google.com/ | head -n 1) =~ "200 OK" ]]; then
echo "Your Internet seems broken. Press Ctrl-C to abort or enter to continue."
read
fi
# make 2 partitions on the disk.
parted -s /dev/sda mktable msdos
parted -s /dev/sda mkpart primary 0% 100%
# make filesystems
# /
mkfs.ext4 /dev/sda1
# set up /mnt
mount /dev/sda1 /mnt
# Force arch mirror of hs-esslingen
echo 'Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist
pacman -Syy
# install base packages (take a coffee break if you have slow internet)
pacstrap /mnt base base-devel
# install grub
arch-chroot /mnt pacman -S grub os-prober --noconfirm
# copy ranked mirrorlist over
cp /etc/pacman.d/mirrorlist* /mnt/etc/pacman.d
# generate fstab
genfstab -p /mnt >>/mnt/etc/fstab
# chroot
arch-chroot /mnt /bin/bash <<EOF
# set initial hostname
echo "archlinux-$(date -I)" >/etc/hostname
# set initial timezone to Europe/Berlin
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# set initial locale
locale >/etc/locale.conf
echo "en_US.UTF-8 UTF-8" >>/etc/locale.gen
echo "en_US ISO-8859-1" >>/etc/locale.gen
locale-gen
# no modifications to mkinitcpio.conf should be needed
mkinitcpio -p linux
# install grub bootloader
grub-install --target=i386-pc /dev/sda
# generate grub config
grub-mkconfig -o /boot/grub/grub.cfg
# set root password to "root"
echo root:root | chpasswd
# end section sent to chroot
EOF
# unmount
umount /mnt/
echo "Done! Unmount the CD image from the VM, then type 'reboot'."
@manuel-baumgartner
Copy link

Update your comments. They are outdated since your last changes. ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment