site  contact  subhomenews

Great things happening at early bootup

February 24, 2019 — BarryK

I got inspired by Alex Suykov's complete rethink of the basics of a Linux distribution, and as announced, his network utilities are in Easy 1.0.8.

Rethinking the basics has infected me too. I have been studying the initrd, and taken initial steps to significantly simplify it.

The initrd has statically-linked utilities, some of them quite big, up to 530KB. I have removed most of them, rationalising it down to just 'busybox' and 'e4crypt'. The former has been recompiled with only the applets needed in the initrd and is now 450KB, the latter is 60KB.

I have changed drive identification from disk-id (also known as "disk signature"), to UUID of filesystems. To read the disk-id of drives, the full 'fdisk' utility was required, as the busybox version does not provide that information. Now, only the busybox 'blkid' applet is required.

gettext calls have been removed from the scripts in the initrd. Non_English language substitution will now be what well the SSS method.

What I am onto now, is the fundamental problem of the limited character sets available at the Linux kernel console. For example, no support for Chinese or Hindi. Easy currently has a keyboard-layout chooser and password-entry in the initrd, and I want to greatly empower this, to support more keyboard layouts, and UTF-8 characters.

Toward that end, I am experimenting with fbterm, a framebuffer terminal, that supports UTF-8. Home page:

Also gpm, for mouse support in the initrd.

The thing is, fbterm and gpm do not actually have to be statically compiled, as Easy has 'easy.sfs' right there, ready to use, and we can just mount it as a layered filesystem and chroot into it, and run fbterm -- while still inside the initrd. Then we can do all kinds of stuff, like run 'dialog' GUIs.

Extremely interesting, but just the start. I had a little brain-storming session yesterday, wrote down some great ideas. The days are not long enough... 

Tags: easy