PacLinux
PacLinux is a linux distribution with 3 goals in mind:
- It should be written from scratch as a learning exercise
- It should run a minimal linux environment
- It should be self-hosting - it should be able to compile itself & run itself under QEMU
It's named after pacman
, which it uses as its package manager.
All the package files are a small bash script that instruct how to build each package.
PacLinux contains its own packaged files when it installs. A future extension could add packages on a remote server instead.
Installing
Unzip and burn the iso to a cdrom,
or run under QEMU with the -cdrom
option.
Load the cdrom, USB stick or QEMU instance and PacLinux should start (with the root drive mounted readonly).
Run pacstrap /dev/<installation-drive>
; this will reformat the drive and install PacLinux.
You should now be able to reboot and load PacLinux from the drive.
Add a user if you wish with useradd -Um <username>
, and then use passwd <username>
to set his password.
To connect to the internet, create a file like the following (example works in QEMU):
/etc/sysconfig/ifconfig.enp0s3
ONBOOT=yes
IFACE=enp0s3
SERVICE=ipv4-static
IP=10.0.2.100
GATEWAY=10.0.2.2
PREFIX=24
BROADCAST=10.0.2.255
Also create a file for DNS resolution:
/etc/resolv.conf
nameserver 1.1.1.1
Use pacman -Sy
to update the package database.
Use pacman -Sl
to list available packages.
Use pacman -S <package>
to install packages.
In particular, the paclinux
package includes the source code for paclinux which installs in
/usr/share/paclinux
- extract it and run make iso
to make your very own
copy of the PacLinux iso. The file below was compiled entirely within PacLinux!
Download the PacLinux iso here.