Installation - ataraxialinux/ataraxia GitHub Wiki

Introduction

Welcome to the "Installation:" page! In this page we are going to explain the installation method of Ataraxia GNU/Linux. Installation of Ataraxia GNU/Linux is very similar to Gentoo or Arch's installation method.

Pre-installation

Verify image

Ataraxia GNU/Linux team provides a PGP keys to sign images. If you want to verify image, you should use GnuPG. Don't forget to add our public key to check signature. Check integrity of iso file:

gpg --verify ataraxialinux-[CPU architecture].iso.asc ataraxialinux-[CPU architecture].iso

Same with stage archive:

gpg --verify ataraxialinux-[CPU architecture].tar.zst.asc ataraxialinux-[CPU architecture].tar.zst

Boot into Live CD

You should write Ataraxia's .iso image on your installation media. You can use your favorite method of doing this. After that, boot from your installation media.

Listing keyboard layouts

Ataraxia GNU/Linux supports many keyboard layouts. By default it uses American keyboard layout. To list them you should use this command:

localectl list-keymaps

Setting up your keyboard layout

If you don't have keyboard with American layout you should set keyboard layout via this command:

localectl set-keymap [your layout]

Checking for EFI support [x86-only]

Ataraxia GNU/Linux supports EFI. To check for EFI use this command:

ls /sys/firmware/efi/efivars

Listing network interfaces

Ataraxia GNU/Linux supports networking. To list available network devices use this command:

ifconfig -a | less

Setting up network for dhcp

Ataraxia GNU/Linux uses systemd-networkd. To setup your dhcp connection add these strings to /etc/systemd/network/00-default.network:

[Match]
Name=[your interface]

[Network]
DHCP=ipv4

[DHCP]
UseDomains=true

And restart network configuration using this command:

chown systemd-network /etc/systemd/network/00-default.network
systemctl restart systemd-networkd

Setting up static network

Ataraxia GNU/Linux uses systemd-networkd. To setup your static connection add these strings to /etc/systemd/network/00-default.network:

[Match]
Name=[your interface]

[Network]
Address=[your static address]/24
Gateway=[your gateway]
DNS=[your gateway]
Domains=[your domain name]

And restart network configuration using this command:

chown systemd-network /etc/systemd/network/00-default.network
systemctl restart systemd-networkd

Partition the disks

Ataraxia GNU/Linux has 4 partition programs cfdisk, fdisk, gdisk and cgdisk. To list disks use this command:

fdisk -l

To start partitioning use this command:

cfdisk /dev/[your drive]

For people who use GPT partition table:

gdisk /dev/[your drive]

Format the partitions

You should have at least 1 partition for /(root). But you can add partitions for /boot/, /home/ and swap.

Format boot partition (optional for bios users)

If you decided to make a /boot/ partition use this command: (It's optional in general, but required for EFI users)

mkfs.ext2 /dev/[your boot partition]

For EFI users (REQUIRED): WARNING: Don't forget to change the partition type to EFI System Partition (ESP)!

mkfs.fat -F32 /dev/[your boot partition]

Format root partition

Root partition should be format with ext4 filesystem. To do this use this command:

mkfs.ext4 /dev/[your root partition]

Format home partition (optional)

Home partition also should be formatted as ext4 filesystem. To do this use this command:

mkfs.ext4 /dev/[your home partition]

Making swap partition (optional)

To make swap partition use this command:

mkswap /dev/[your swap partition]

Mount file systems

In order you should to mount boot and root partitions. Mount partitions order:

1. Mount root partition
2. Creating directory for boot partition
3. Mount boot partition in boot directory

Mount root partition:

mount /dev/[root partition] /mnt

Mount boot/ESP partition:

mkdir -p /mnt/boot
mount /dev/[boot partition] /mnt/boot

Mount optional file systems

In order you should to mount home and swap partitions. Mount partitions order:

1. Creating directory for home partition
2. Mount home partition in home directory
3. Mount swap partition

Mount home partition:

mkdir -p /mnt/home
mount /dev/[home partition] /mnt/home

Mount swap partition:

swapon /dev/[swap partition]

Installing stage archive

Ataraxia GNU/Linux has a pre-compiled rootfs. It's called stage archive.

Download stage archive

To download the stage archive use this command:

cd /mnt
wget https://github.com/ataraxialinux/ataraxia/releases/download/[release]/ataraxialinux-[CPU architecture].tar.zst

Unpack stage archive

To unpack stage archive use this command:

bsdtar -xvf ataraxialinux-[CPU architecture].tar.zst -C /mnt

Configuring fstab

To make Ataraxia GNU/Linux bootable you should generate /etc/fstab file:

genfstab -U /mnt >> /mnt/etc/fstab

Entering chroot

mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
mount --bind /run /mnt/run

cp -d /etc/resolv.conf /mnt/etc/resolv.conf
cp -d /etc/systemd/network/00-default.network /mnt/etc/systemd/network/00-default.network

chroot /mnt /usr/bin/ksh

Updating CA Certificates

In order to make SSL/TLS work you have to install CA Certificates:

update-ca-trust

Syncing local tree

Ataraxia GNU/Linux is a source-based Linux distribution. It uses tsukuri to install ports. So we need get them:

git clone https://github.com/ataraxialinux/ataraxia /usr/ports

Installing firmware (REQUIRED!)

Ataraxia uses binary blobs for some devices. They can add some functionality or even make your computer boot (people who use AMD/ATI Radeon and NVIDIA cards must install firmware to make your computer boot). Let's install firmware:

tsukuri emerge linux-firmware

Final steps

The main bootloader is:

lilo         - BIOS bootloader for x86.
efibootmgr   - UEFI bootloader.

Installing LILO on your system (for BIOS users):

tsukuri emerge lilo

Installing efibootmgr on your system (for UEFI users):

tsukuri emerge efibootmgr

Configure bootloader for installation, replace #DEVICE# with your HDD/SSD/NVME (eg. /dev/sda) and #ROOT_DEVICE# with your root partition (eg. /dev/sda2):

vi /etc/lilo.conf

To install LILO type:

lilo

For EFI users:

efibootmgr -c -d /dev/[your drive, not a partition] -p [EFI system partition number] -L "Ataraxia GNU/Linux" -l '\vmlinuz' -u 'root=/dev/[root partition where system is installed] rw quiet'

Make sure you have vmlinuz on your EFI system partition.

If you don't have initramfs.img on your EFI system partition then remove initrd /initramfs.img from [EFI System Partition]/loader/entries/ataraxia.conf

Now, exit chroot environment:

exit

Unmount everything:

umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
umount /mnt/run
umount /mnt/boot
umount /mnt/home
umount /mnt

swapoff /dev/[swap partition]

and reboot:

reboot

Congratulations!

You have installed Ataraxia GNU/Linux on your computer. Explore!