Skip to content

HaoZeke/hzArchiso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

This is a custom archlinux live-usb mainly meant for setting up encrypted installations. This uses sway and termite, for maximum cross compatibility.

hzlinarch=hzlinarch

^– USERNAME=PASSWORD

Note that on some systems, the login manager may be buggy, in these cases switch to a TTY with CTRL-ALT-F3, login at the terminal, and run sway to get to a GUI.

Methodology

Instead of using the standard archiso package, since I required AUR packages and preferred an offline installation, this uses archiso-offline. Additionally, the AUR packages are handled with the excellent repoctl. More details in a post soon.

As of V, now uses the normal archiso

Software Included

The exact list of packages added is present in packages.x86_64 The basic end-user packages and the intended usage is described here.

Size

Just cuz I can, this lists the size as I make changes:

PackageSize (MB)
base~ 567
+veracrypt688
+networkmanager695
+chrony695
+tmux695
+reflector695
+caja707
+gnome_backgrounds732
release_I894
+videoDrivers903
release_I-A1.1GB
release_II1.2GB
release_III1.2GB
release_V1.6GB
release_V.I1.7GB

Configuration

Pacman

The pacman mirrors are generated with reflector, but reflector is not installed on the installation media.

Chrony

This is configured to work with a dispatcher script.

AUR

The aur packages need to be configured in the main hzLinux folder as well as the work folder. These should work on the system, not relative to the liveUSB root.

Build Steps

AUR

In general, to simply update the AUR packages before using the Makefile just run the following:

## Once
repoctl conf new ~/pkgs/hzarchiso.db.tar.gz
repoctl reset
## Separate terminal
repoctl serve
## Everytime
mkdir tmpUpd && cd tmpUpd
for pkg in $(cat ../aurpkgs.txt); do
    (
        repoctl down "$pkg"
    )
done
for dir in *; do cd $dir; makepkg -cs && repoctl add *.pkg.tar.zst && cd ../  && rm -rf $dir || cd ../; done
cd ../ && rm -rf tmpUpd

Mirrorlist

This is basically just the normal reflector stuff. As usual, assume buildRoot is where you have this repository cloned.

export buildRoot=$HOME/archBuilder
sudo reflector --latest 30 --number 20 --sort rate --protocol http --save $buildRoot/hzArchiso/hzLinux/airootfs/etc/pacman.d/mirrorlist

Do not be surprised by sudo, since the location has the same permissions as the actual root folder.

Build

The makefile is not needed anymore, as of version 5.

export application="HaoZeke's ArchLinux"
export isoName='hzlinux_V'
export label='HZLIN_V-211222'
export publisher='Rohit Goswami (HaoZeke) <rohit.goswami[at]aol.com>'
sudo mkarchiso -A $application -L $label -P $publisher -v hzLinux

List

[X] Add gparted

[ ] Add rofi

[ ] Add config

[ ] Add more docs

Release I

Roughly 903MB.

Features

  • LightDM + Aether Theme
  • Default user (hzlinarch:hzlinarh)
  • AUR helper (yay)
  • Sway (master, wlroots)
  • Caja
  • Termite (noscd, wayland)
  • Veracrypt
  • gParted

Release I-A

Around 1.1GB.

Features

  • Fonts
  • i3status-rust
  • Smplayer (+skins)
  • Zathura (+plugins)
  • Audio (pulseaudio+plugins)
  • Music (mpd, ncmpc, pianobar, audacious)
  • Proxy (proxychains, windscribe)
  • Screenshots (slurp+grim)
  • Bluetooth (blueberry)

Release II

Until further changes, the zsh prompt now matches the one used by the standard iso.

Features

  • Enpass
  • Rofi
  • Mosh
  • Ananicy (auto-nice daemon)
  • Backlight Controls (brightnessctl)
  • Better default zsh stuff (grml-zsh-config)

Fixes

  • Fix terminal audio [pianobar]
  • Fix chrony config
  • Sudo (wheel executes whatever now)

Notes

sudo rsync -axv --progress / /mnt
sudo cp -vaT /run/archiso/bootmnt/arch/boot/$(uname -m)/vmlinuz /mnt/boot/vmlinuz-linux\n
   1  userdel hzlinarch
    2  sed -i 's/Storage=volatile/#Storage=auto/' /etc/systemd/journald.conf
    3  rm /etc/udev/rules.d/81-dhcpcd.rules
    4  systemctl disable pacman-init.service choose-mirror.service
    5  rm -r /etc/systemd/system/{choose-mirror.service,pacman-init.service,etc-pacman.d-gnupg.mount,[email protected]}
    6  rm /etc/systemd/scripts/choose-mirror
    7  rm /etc/systemd/system/[email protected]/autologin.conf
    8  rm /root/{.automated_script.sh,.zlogin}
    9  rm /etc/mkinitcpio-archiso.conf
   10  rm -r /etc/initcpio
   11  pacman-key --init
   12  pacman-key --populate archlinux
   13  rm -rf /etc/skel/

Release III

The one with i3, and offline installation.

Features

  • Offline installation thanks via the wiki ($HOME/offlineInst.sh).
  • light for brightness
  • Initialize with my dotfiles (via script $HOME/initDots.sh)
  • i3-gaps and related configuration
  • nitrogen for wallpaper management

Fixes

  • rofi now works

Release IV

The one with more packages I use, mostly messaging and encryption.

Features

  • veracrypt, cryptomator, gnome-encfs-manager for cryptography
  • telegram-desktop, pidgin for my communication needs
  • spotify, pcloud for my cloud needs
  • cronie, unison for synchronization
  • flameshot, teiler-git for screenshots

Misc

  • termite-nocsd -> termite since it breaks less

Release V

Updated to the standard archiso.

Release V.I