Skip to content

gev/arch-installer

Repository files navigation

Arch Linux Install

Remote Control

First, boot the system from the ISO then configure a password for the root user and start the ssh server:

passwd
systemctl start sshd.service

Installing

To start the install process (including some sample environment variables):

curl -Ol https://raw.githubusercontent.com/tylert/arch-installer/master/install_x86_uefi.sh
curl -Ol https://raw.githubusercontent.com/tylert/arch-installer/master/configure_x86_uefi.sh
chmod +x install_x86_uefi.sh
chmod +x configure_x86_uefi.sh
NEWHOSTNAME=numuh NEWUSERNAME=sheen NEWPASSWORD=awesome ./install_x86_uefi.sh

btrfs Bulk Storage

Prepare all the data drives and mount them:

# Update the entire system to the latest versions
pacman --sync --refresh --upgrade

# Install required packages
pacman --sync --noconfirm btrfs-progs cryptsetup rsync smartmontools

# Encrypt the drive and bring it online (the "ata-*" ones)
for DRIVE in ${FIRST_DRIVE} ${SECOND_DRIVE}; do
    cryptsetup luksFormat /dev/disk/by-id/${DRIVE}
    cryptsetup luksOpen /dev/disk/by-id/${DRIVE} ${DRIVE}
done

# Format the drives
mkfs.btrfs \
    -m raid1 \
    -d raid1 \
    -L megaarray \
    /dev/mapper/${FIRST_DRIVE} \
    /dev/mapper/${SECOND_DRIVE} ...
mount /dev/mapper/${FIRST_DRIVE} /somewhere

# Create a bunch of subvolumes
btrfs subvolume create /somewhere/@foo
btrfs subvolume create /somewhere/@bar
...

# Enable compression automatically
btrfs property set /somewhere compression zstd
btrfs property set /somewhere/@foo compression zstd
btrfs property set /somewhere/@bar compression zstd
...

# Mount all the new subvolumes and the main drive for snapshotting
# The compress-force=zstd options is not needed if the property has been set
mount -o compress=zstd,subvolid=5 /dev/mapper/${FIRST_DRIVE} /somewhere
mount -o compress=zstd,subvol=@foo /dev/mapper/${FIRST_DRIVE} /elsewhere/foo
mount -o compress=zstd,subvol=@bar /dev/mapper/${FIRST_DRIVE} /elsewhere/bar
...

Other Awesome Packages

# Update the entire system to the latest versions
pacman --sync --refresh --upgrade

# Install new essential packages
pacman --sync --noconfirm git man-db tree samba

# Prepare samba
# Copy config file over first into /etc/samba/smb.conf
systemctl start smb.service

# Set samba password for a user and list samba users
useradd --create-home --groups users bubba
smbpasswd -a bubba
pdbedit --list

Rsync Over SSH With Sudo

# Make certain tools available to a user without a password
bubba ALL=NOPASSWD: /usr/bin/rsync

nohup rsync -avc --delete -e ssh --rsync-path='sudo rsync' /elsewhere/foo/ wickedserver:/elsewhere/foo/ &
disown

AUR ZFS

# Update the entire system to the latest versions
pacman --sync --refresh --upgrade

# Prepare the build environment
pacman --sync --noconfirm base-devel git linux-headers

# Install ZFS packages
gpg --keyserver keys.gnupg.net --recv-keys 6AD860EED4598027
git clone https://aur.archlinux.org/zfs-utils.git
git clone https://aur.archlinux.org/zfs-dkms.git
pushd zfs-utils
makepkg -si
popd
pushd zfs-dkms
makepkg -si
popd

References

TODO

  • repair the non-UEFI x86_64 installer script so grub works properly

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages