Great things happening at early bootup
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:
https://code.google.com/archive/p/fbterm/
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