Skip to content

Instantly share code, notes, and snippets.

@demesne
Last active December 3, 2017 01:14
Show Gist options
  • Select an option

  • Save demesne/9fbc7ec35051f17aaedc63ef09e25de4 to your computer and use it in GitHub Desktop.

Select an option

Save demesne/9fbc7ec35051f17aaedc63ef09e25de4 to your computer and use it in GitHub Desktop.
No fuss Arch Linux with Gnome on VirtualBox

Install Arch Linux with Gnome

You're going to need the ISO so go get that

Enable SSH

systemctl start sshd
passwd
ip a

ssh to the server using your ssh client. (So that ou can select chunks of code and paste them together - saving you time)

Setup Mirrors

Change the mirrors country using mirrorlist generator

mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.old
curl 'https://www.archlinux.org/mirrorlist/?country=CA&use_mirror_status=on' --output /etc/pacman.d/mirrorlist

#remove comments of the mirrors you want to use
sed -i '/^#Server/s/^#//' /etc/pacman.d/mirrorlist

Partition, Format, install base

# partition
echo -e "o\nn\np\n1\n\n+2M\nn\np\n2\n\n+250M\nn\np\n3\n\n\nw" | fdisk /dev/sda

mkfs -t ext2 /dev/sda2
vgcreate vg /dev/sda3
lvcreate -L 4G -n swap vg
lvcreate -l 100%FREE -n root vg
mkfs -t ext4 /dev/vg/root
mkswap /dev/vg/swap
swapon /dev/vg/swap
mount /dev/vg/root /mnt
mkdir /mnt/boot
mount /dev/sda2 /mnt/boot

# setup base
pacstrap /mnt base base-devel

Save partition, change root

genfstab -p /mnt >> /mnt/etc/fstab
arch-chroot /mnt /bin/bash

Finalize installation

# locale
sed -i '/^#en_CA.UTF-8 UTF-8/s/^#//' /etc/locale.gen
locale-gen
echo LANG=en_CA.UTF-8 > /etc/locale.conf
ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime
hwclock --systohc --utc
echo arch > /etc/hostname

# grub
sed -i.bak '/^HOOKS=/s/block filesystems/block lvm2 filesystems/' /etc/mkinitcpio.conf
pacman -S grub intel-ucode lvm2 --noconfirm  
grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

# install packages
pacman -S openssh --noconfirm  

# enable services
systemctl enable sshd dhcpcd

# create user
useradd -m -G wheel arch
sed -i '/^# %wheel.*NOPASSWD/s/^# //' /etc/sudoers
passwd arch     

Reboot

exit
umount -R /mnt
reboot

Vmtools

pacman -S virtualbox-guest-modules-arch 

Gnome

# reconnect to ssh using the new user 
sudo su 
pacman -Syu
pacman -S gnome weston --noconfirm
systemctl enable gdm NetworkManager
systemctl stop dhcpcd
systemctl start gdm NetworkManager

Packer

sudo pacman -S --noconfirm --needed jshon expac git
mkdir /tmp/packer
curl -o /tmp/packer/PKGBUILD 'https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=packer'
cd /tmp/packer && makepkg -i /tmp/packer --noconfirm
[ -d /tmp/packer ] && rm -rf /tmp/packer

All done.

That's it you're on your own now.

Theme.

sudo pacman -S  gnome-tweak-tool arc-gtk-theme arc-icon-theme
packer -S gnome-shell-extension-dash-to-dock
#!/bin/bash
#Fix Mirrors
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.old
curl 'https://www.archlinux.org/mirrorlist/?country=CA&use_mirror_status=on' --output /etc/pacman.d/mirrorlist
sed -i '/^#Server/s/^#//' /etc/pacman.d/mirrorlist
# partition
echo -e "o\nn\np\n1\n\n+2M\nn\np\n2\n\n+250M\nn\np\n3\n\n\nw" | fdisk /dev/sda
mkfs -t ext2 /dev/sda2
vgcreate vg /dev/sda3
lvcreate -L 4G -n swap vg
lvcreate -l 100%FREE -n root vg
mkfs -t ext4 /dev/vg/root
mkswap /dev/vg/swap
swapon /dev/vg/swap
mount /dev/vg/root /mnt
mkdir /mnt/boot
mount /dev/sda2 /mnt/boot
# setup base
pacstrap /mnt base base-devel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment