Bay Trail 32bit EFI 64bit CPU
I've been pleasantly surprised by how few stumbling blocks I've hit getting Artix installed. One of the nice features of Artix is that it is derived from Arch, but eschews systemd in favour of a choice of alternatives. As I am more familiar with openrc from installing Alpine previously, I chose to use it again here.
- Download Ventoy, and x86_64 Artix Linux openrc ISO.
- Create a Ventoy USB with GPT format.
- Add
artix-base-openrc-VERSIONNUMBER-x86_64.iso
to 'Ventoy' partion.
Login as artix
, password artix
.
Rotate the framebuffer console! Your neck will thank you.
su
echo 1 | tee /sys/class/graphics/fbcon/rotate
exit
Set the keyboard layout
loadkeys uk
Partition your disk
cfdisk /dev/mmcblk1
mmcblk1p1 512M EFI partition mmcblk1p2 24.4G linux filesystem mmcblk1p3 4.1G linux swap
mkfs.ext4 -L ROOT /dev/mmcblk1p2
mkswap -L SWAP /dev/mmcblk1p3
mkfs.fat -F 32 /dev/mmcblk1p1
fatlabel /dev/mmcblk1p1 ESP
Mount Partitions
swapon /dev/mmcblk1p3
mount /dev/mmcblk1p2 /mnt
mkdir - p /mnt/boot/efi
mount /dev/mmcblk1p1 /mnt/boot/efi
sudo rfkill unblock wifi
sudo ip link set wlan0 up
connmanctl
agent on
scan wifi
services
connect wifi_######_xxxxxx
quit
Update the system clock, install base system & kernel:
rc-service ntpd start
basestrap /mnt base base-devel openrc elogind-openrc
basestrap /mnt linux linux-firmware
fstabgen -U /mnt >> /mnt/etc/fstab
fstabgen -U /mnt/boot/efi >> /mnt/etc/fstab
chroot into the installation and install stuff:
artix-chroot /mnt
pacman -S nano visudo
pacman -S grub os-prober efibootmgr
pacman -S dhcpcd wpasupplicant connman-openrc connman-gtk
Set the Time Zone:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
Generate Locales
nano /etc/locale.gen
locale-gen
echo "export LANG='en_UK.UTF-8'" >> /etc/locale.conf
echo "export LC_COLLATE='C'" >> /etc/locale.conf
grub-install --target=i386-efi --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
Set the root password:
passwd
Create a regular user and password:
useradd -m user
passwd user
usermod ben -G wheel
visudo
Uncomment the line:
%wheel ALL=(ALL:ALL) ALL
Then type :q
& press Enter.
Create the hostname file, add entries to hosts:
echo artix1010 >> /etc/hostname
echo "127.0.0.1 localhost" >> /etc/hosts
echo "::1 localhost" >> /etc/hosts
echo "127.0.1.1 artix1010.localdomain artix1010" >> /etc/hosts
echo "hostname='artix1010'" >> /etc/conf.d/hostname
rc-update add connmand
Reboot doesn't complete. We'll fix that later. For now:
exit
umount -R /mnt
poweroff
Remove Ventoy USB, and power on again.
Log in as root to complete the post-installation configuration. Change keymap permanently:
sudo nano /etc/conf.d/keymaps
Not sure netmount is needed:
rc-update del netmount
sudo nano /etc/rc.conf
This change should speed up boot. At the top of the file, find & set:
rc_parallel="YES"
The following changes should fix reboot. At bottom of the same file, find, set & save:
rc_send_sighup="YES"
rc_timeout_stopsec="10"
rc_send_sigkill="YES"
Disable rfkill blocking all on boot:
sudo rfkill unblock all
sudo nano /etc/local.d/rfkill.start
Add, and save:
#!/bin/sh
rfkill unblock all
ip link set wlan0 down
ip link set wlan0 up
Make executable:
sudo chmod +x /etc/local.d/rfkill.start
connman was pissing me off, so:
rc-update del connmand
rc-update del connmand sysinit
sudo pacman -S dhcpcd dhcpcd-openrc wpa_supplicant-openrc
rc-update add dhcpcd
rc-update add wpa_supplicant
sudo pacman -S acpid acpid-openrc tlp tlp-openrc
sudo rc-update add acpid
sudo rc-update add tlp
sudo nano /etc/tlp.conf
I'm testing the following settings; they are not a recommendation!
I'm not entirely convinced it's working yet.
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=schedutil
CPU_SCALING_MIN_FREQ_ON_AC=499800
CPU_SCALING_MAX_FREQ_ON_AC=1832600
CPU_SCALING_MIN_FREQ_ON_BAT=499800
CPU_SCALING_MAX_FREQ_ON_BAT=1832600
CPU_MIN_PERF_ON_AC=0
CPU_MAX_PERF_ON_AC=100
CPU_MIN_PERF_ON_BAT=0
CPU_MAX_PERF_ON_BAT=30
INTEL_GPU_MIN_FREQ_ON_AC=187
INTEL_GPU_MIN_FREQ_ON_BAT=187
INTEL_GPU_MAX_FREQ_ON_AC=646
INTEL_GPU_MAX_FREQ_ON_BAT=369
INTEL_GPU_BOOST_FREQ_ON_AC=646
INTEL_GPU_BOOST_FREQ_ON_BAT=646
START_CHARGE_THRESH_BAT0=80
STOP_CHARGE_THRESH_BAT0=90
The min CPU freq according to tlp-stat -p
is 499800, but TLP wiki suggests that lowering freq may not impact battery life so I've left it for now.
https://packages.artixlinux.org/
sudo nano /etc/pacman.conf
Append:
[universe]
Server = [https://universe.artixlinux.org/$arch](https://universe.artixlinux.org/$arch)
Server = [https://mirror1.artixlinux.org/universe/$arch](https://mirror1.artixlinux.org/universe/$arch)
Server = [https://mirror.pascalpuffke.de/artix-universe/$arch](https://mirror.pascalpuffke.de/artix-universe/$arch)
Server = [https://artixlinux.qontinuum.space/artixlinux/universe/os/$arch](https://artixlinux.qontinuum.space/artixlinux/universe/os/$arch)
Server = [https://mirror1.cl.netactuate.com/artix/universe/$arch](https://mirror1.cl.netactuate.com/artix/universe/$arch)
Server = [https://ftp.crifo.org/artix-universe/$arch](https://ftp.crifo.org/artix-universe/$arch)
Server = [https://artix.sakamoto.pl/universe/$arch](https://artix.sakamoto.pl/universe/$arch)
sudo pacman -Syu
sudo pacman -S artix-archlinux-support
sudo pacman-key --populate archlinux
sudo nano /etc/pacman.conf
Append:
# Arch
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch
sudo pacman -Syu
We'll need this later:
sudo pacman -S wget
Install an AUR helper. I'm trying out paru:
sudo pacman -S git
sudo pacman -S --needed base-devel
cd /tmp
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
paru gendb
Many thanks to Ian Renton and his commenters, as well as all the other posts/articles/guides I've found over the last few weeks!