code.ivysaur.me

goix

A distro where go install is the only package manager.

Building

# 1. Create rootfs
#    Run as regular user
DOCKER='sudo docker' ./make_rootfs.sh

# 2. Compile Linux kernel
#    Run as regular user
DOCKER='sudo docker' ./make_kernel.sh

# 3. Pack into root disk image
#    Run as root
./make_image.sh

# 4. Run in qemu
#    Run as regular user
./run_qemu.sh

Progress

  • rootfs: find coreutils implementations
  • rootfs: find a shell implementation
  • image: pack rootfs to image
  • image: use gpt partition table on disk image
  • kernel: compile in ext4 statically instead of as a module
  • qemu: booting
  • qemu: debug serial console support
  • init: should reap children
  • init: should mknod /dev /proc /sys, ensure that /dev/video exists, etc
  • init: set a better PATH env for gosh
  • kernel: reduce size, add only simpledrm devices as we have no firmware
  • go: test it works inside image
  • nyctal-dri: test
  • add fynedesk
  • networking support
  • gup: test
  • bootloader: make disk image standalone-bootable by copying in kernel image

See also