pkgsrc has tons of buildable software which can be added to a core *nix system in order to do useful things.
In order to create a toolchain, you need:
- kernel
- libc
- binutils (which is in pkgsrc?)
- gcc (hence gmp, mpfr, mpc [hence m4], elfutils?) (which is in pkgsrc?)
- make (gmake in pkgsrc?)
- shell tools (busybox?)
In order to get to a point where you can use pkgsrc, you need:
- libstdc++
- libncurses-devel
- zlib
- zlib-devel
- openssl-devel (which is in pkgsrc?)
To get a usable modern gcc toolchain, you may also need:
- patch (which is in pkgsrc? busybox patch may not work?)
- gawk (which is in pkgsrc? will busybox awk work?)
To have a useful booted system, you may also need:
- init system
- bootloader (lilo?)
To build and use X things, you will also need:
- x.org or similar (which is in pkgsrc?)
- Build a toolchain
- Setup directories
- Build and install musl, static busybox, Linux, bunch of config files, then boot into it to validate
- Build and install target toolchain (linux headers, binutils, gcc)
- Validate toolchain (build and run helloworld)
- Get pkgsrc working
- Write or kang scripts to rebuild musl, busybox, lilo, and toolchain
- Profit! (?)
- lvm2 (for dm-crypt)
- cryptsetup (for dm-crypt)