5.8 KiB
Installation
It could have been an installation script, but it's more fun to do it yourself !
Preparation
Download the latest image for your architecture, verify the checksum, and copy it to a USB pendrive.
Then boot the machine from the USB drive, log in as root
using the password chimera
.
You can use
loadkeys
to set your keymap if needed.
You can now proceed with the installation either from this machine or from another machine via SSH, which may be useful for copying and pasting commands.
For remote installation, start the sshd
service :
# dinitctl start sshd
Find the IP address using ip a
and connect from your workstation with ssh anon@<ip>
using the password chimera
.
Then switch to the root account with doas -s
using the same password.
Partition the disks
Identify disks with lsblk
, let’s assume here that the target disk drive is /dev/sda
.
Start with wiping everything on it :
# wipefs -a /dev/sda
The easiest way to initialize a partition table and create partitions is with the cfdisk
TUI program :
# cfdisk /dev/sda
Advised GPT partitioning scheme for UEFI systems :
Partition | Mountpoint | Filesystem | Size | Type |
---|---|---|---|---|
1 : EFI | /boot/efi | fat32 | 512M | EFI System |
2 : Boot | /boot | ext4 | 1G | Linux filesystem |
3 : Root | / | ext4 | - | Linux filesystem |
Advised GPT partitioning scheme for BIOS systems :
Partition | Mountpoint | Filesystem | Size | Type |
---|---|---|---|---|
1 : - | - | - | 1M | BIOS boot |
2 : Boot | /boot | ext4 | 1G | Linux filesystem |
3 : Root | / | ext4 | - | Linux filesystem |
Format the partitions
For UEFI systems :
# mkfs.vfat /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
For BIOS systems :
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
Mount the file systems
Mount the root then the boot partitions :
# mkdir /media/root && mount /dev/sda3 /media/root
# mkdir /media/root/boot && mount /dev/sda2 /media/root/boot
For UEFI systems you also have to mount the EFI partition :
# mkdir /media/root/boot/efi && mount /dev/sda1 /media/root/boot/efi
Check with lsblk
that your mountpoints are corrects.
System installation
Bootsrap
# chimera-bootstrap /media/root
Chroot
# chimera-chroot /media/root
Kernel
You could omit the installation of the firmwares metapackage when installing in a virtual machine or a container :
# apk add !base-firmware-linux
Linux LTS kernel installation :
# apk add linux-lts
Essential packages
# apk add bash bash-completion tree ucode-<amd/intel>
For an AMD CPU install
ucode-amd
package anducode-intel
for Intel.
Other useful packages :
- Install
ufw
if you wish an easy to use firewall. - If you want
cron
install thecronie
package. - You may want
git
it can be installed with thegit
package.
Swapfile (optional)
Create a file that will be used for swap :
# fallocate -l 1G /swapfile
Only the root user should be able to write and read the swap file. To set the correct permissions type :
# chmod 600 /swapfile
Use the mkswap utility to set up the file as Linux swap area :
# mkswap /swapfile
Enable the swap with the following command :
# swapon /swapfile
Fstab
# genfstab -U / >> /etc/fstab
Time zone
# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
Localization
Set yout locale in the /etc/locale.conf
file :
LANG=fr_FR.UTF-8
LC_COLLATE=C
If non us
keymap, set console keymap in the /etc/default/keyboard
file.
Hostname
# echo "<your_hostname>" > /etc/hostname
Initramfs
# update-initramfs -c -k all
Root password and shell
# passwd root
# chsh -s /bin/bash root
Create a user
# useradd -m -G wheel -s /bin/bash <your_username>
# passwd <your_username>
Boot loader
For EFI systems :
# apk add grub-x86_64-efi
# grub-install --efi-directory=/boot/efi
# update-grub
For BIOS systems :
# apk add grub-i386-pc
# grub-install /dev/sda
# update-grub
Enable services at startup
- Network
# cd /etc/dinit.d/boot.d && ln -sf ../dhcpcd .
- System logging
# cd /etc/dinit.d/boot.d && ln -sf ../syslog-ng .
Optional services, pick up what you need :
- Firewall
# cd /etc/dinit.d/boot.d && ln -sf ../ufw .
Don't forget to execute
ufw enable
at first boot.
- Cron
# cd /etc/dinit.d/boot.d && ln -sf ../crond .
- SSH server
# cd /etc/dinit.d/boot.d && ln -sf ../sshd .
If you don't have a user don't forget to enable root connection !
Reboot
Exit the chroot environment by typing exit
or pressing Ctrl+d
, and restart the machine with reboot
.
If you don't need a graphical user interface, your system is ready to use !
Desktop installation
Additional tasks to do if you wish to run graphical applications on the system.
Network Manager
# apk add networkmanager
# dinitctl disable dhcpcd
# dinitctl enable networkmanager
Gcompat
# apk add gcompat
Flatpak
# apk add flatpak
# flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Gnome
Install the desktop environment :
# apk add '!gnome-apps'
# apk add gnome gnome-console gnome-software gnome-system-monitor gnome-tweaks gnome-text-editor loupe evince gnome-calculator
If non us
keymap, set the X11 keymap for GDM :
# localectl --no-convert set-x11-keymap fr
Finally start the display manager :
# dinitctl enable gdm
Your system is ready to use !