Continuing yesterday's thread: we left off with dinit launching, but /etc being messed up.
I fixed /etc! The trick ended up mounting shit on top of each other after chrooting.
Next step: make the netbsd core stuff read-only.
Discussion
Continuing yesterday's thread: we left off with dinit launching, but /etc being messed up.
I fixed /etc! The trick ended up mounting shit on top of each other after chrooting.
Next step: make the netbsd core stuff read-only.
Also, I will slowly start publishing my current experiments. I'll call the repo fuck/fuckery.
Soo... I currently have:
/etc layered on top of NetBSD's etcdinit booting into a system that has getty on constty for root loginI basically have all the tools to make a bootable system that then I can use to develop itself. It's not there yet, because at a minimum, I need a network, and either ssh or git. Since ssh is in the NetBSD base, that's a whole lot easier.
With ssh, I can TRAMP into the system and edit the code. I can't commit locally, but I can edit things remotely, and that's good enough.
...except I don't have a user yet. Oops.
Next steps are:
/var from persistence, union mounted over NetBSD's /vargitI (well, @doctor) was also thinking about packaging and bootstrapping last night, and I think we have arrived to a plan that could make the whole distribution building a little easier!
I'll have a few special builders!
A builder for NetBSD sets: you give it a NetBSD version, a list of sets, and it downloads the binaries, and extracts them. The hash will be the NetBSD version + setlist + arch.
A builder for pkgsrc: give it a pkgsrc, $category/$program, and it builds that. Hash will be the hash of all files in the given package's pkgsrc dir.
The pkgsrc builds will not be reproducable, as they will depend on local state. They're a hack to let me bootstrap the rest of the system more easily.
This is more complicated than anticipated! Setting up the network is non-trivial work.
I might cheat there a bit.
Lets go with even smaller steps... first: adjust dinit to take care of mounting the necessary kernel filesystems like /proc, /kern, etc.
Done!
Now we'll do a bit of cheating.
Oh. I need to do the /var mounting sooner, because dhcpcd requires that.
Hrm. /etc/rc.d/dhcpcd onestart runs, but doesn't get an IP.
re: mouse makes rocks do math (fuckboi edition)
@algernon
multi layer mounting