This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
KemyLand wrote:Just don't do what Linux does (decompress itself with a stub ). That would make debugging impossible, and would require a lot of black magic and games with the ELF format.
I believe it would be better if the bootloader did the decompression. This is a nice separation of duties.
KemyLand wrote:Personally, (although you didn't said anything about it) I prefer to have only drivers and executables on the ramdisk, and assets and that kind of stuff somewhere in a ext* filesystem
I actually prefer to not take a stance on this. The ramdisk contains an initial filesystem. It can be as minimal as it wants: It could just contain an init and ext2 driver, which is used to locate and mount the real root filesystem. Or, it can be a fully fledged environment as in Sortix 0.9. The kernel doesn't and shouldn't care.
KemyLand wrote:Personally, (although you didn't said anything about it) I prefer to have only drivers and executables on the ramdisk, and assets and that kind of stuff somewhere in a ext* filesystem
I actually prefer to not take a stance on this. The ramdisk contains an initial filesystem. It can be as minimal as it wants: It could just contain an init and ext2 driver, which is used to locate and mount the real root filesystem. Or, it can be a fully fledged environment as in Sortix 0.9. The kernel doesn't and shouldn't care.
Any rational kernel won't care about these things. Anyway, a big RD is just not my model .
Do note that I don't expect actual Sortix installations that use permanent root filesystems to have large ramdisk. My few such installations use a minimal ramdisk containing an init, mbr and ext2 drivers, and configuration that tells init to look for a partition containing an ext2 filesystem with the desired UUID, which is to be mounted and chroot'd into, and the next init be run. Such a ramdisk is at most a megabyte.
The key point here is that the ramdisk can be any size and used for any purpose. The ramdisk environment is not a second class citizen, it's an actual fully fledged instance of my operating system.
In happier news, I've discovered the xzio GRUB module. I can use this to transparently decompress the kernel and initrd upon boot. With fast multithreaded xz compression and high compression ratios, I think that's a pretty good trade-off, for a bit higher boot times and that users don't have to decompress iso files themselves.