It's not about kernel but GRUB messages

Le mer. 10 août 2016 19:57, Xen <x...@dds.nl> a écrit :

> Andrei Borzenkov schreef op 10-08-2016 16:17:
>
> > This is terminal window (same you get when entering CLI) where
> > messages from commands are displayed (do not forget that menu entry is
> > simply list of commands, so you *are* entering CLI in a sense). There
> > is no way to disable it. Several years ago openSUSE tried to make it
> > transparent, effectively hiding it; patch was dropped although I'm
> > still not sure if this was some fundamental grub problem or simply
> > unfortunate theme design.
>
> Is this simply about the regular (Linux) terminal output that is getting
> hidden by plymouth (usually)?
>
> Personally at this point I am just worried about disabling any kernel
> messages before Plymouth can hide it.
>
> There are always a few messages that make it through in the beginning;
> usually some ATA soft reset or some PowerNow thing that doesn't work or
> something of the kind. This kinda pollutes the display when it was not
> really intended.
>
> Given my current level of expertise I would probably just patch the
> kernel to make it easier, but then you have to deal with the whole
> ordeal of kernel upgrades.
>
> They haven't (on Ubuntu/Kubuntu at least) managed to make it hidden, and
> if you install the nVidia driver which has no framebuffer driver,
> textual messages continually leak through the displayed text progress
> bar.
>
> It kinda suprises me seeing the number of patches to grub that they've
> made to make the boot experience more seemless.
>
> You can't usually read boot messages fast enough and if systemd doesn't
> make it to the "dumping everything in /var now" stage you are pretty
> much screwed in diagnosing your system.
>
> So the value of boot messages is rather limited, even when designing my
> own systemd service to do anything I consistently have to look at
> journalctl output, the boot output is too fast for me even when I know
> what to expect, and *even* when I incur a 10 second pause.
>
> Usually when something gets stuck it doesn't just get stuck, but systemd
> messages keep being repeated quickly clearing the previous log off
> screen.
>
> I question the validity of having on-screen boot messages these days;
> certainly in the number and speed they flow over the screen.
>
> If there were options for interrupting the thing using regular keys or
> being shown less but being able to expand it, it would be different.
>
> I think showing the start of SystemD (or the end of initrd) would be a
> good thing. Most people not involved with Linux will have no clue about
> these different phases. I think it would be helpful if people could
> grasp if there were two stages (or actually perhaps, three).
>
> Something like
>
> Loading pre-boot environment.
> Loading device drivers.
> Handing control over to the system.
>
>
>
> Or an expansion of that in the sense of:
>
> Loading boot environment.
> Loading device drivers.
> Unlocking encrypted system drive.
> Checking main volume for errors.
> Connecting main volume.
> Transferring control to main system.
>
> The issue is that "root filesystem" is not a concept people can
> understand. It also makes it so troublesome to diagnose or fix root
> filesystem problems because you cannot get there very easily (you need a
> separate system).
>
> To make the thing more user friendly (and therefore user-powerful) you
> would need to have at least the following:
>
> - the ability to boot into a functional initrd environment that is not
> as alienating (there are only a few concepts that are important)
> - the ability to enter this environment by shutting down your system
> (upon shutting down your system)
> - an awareness that this "filesystem" you will see is not the same as
> your actual computer system
> - ideally the ability to return to your main system after exiting the
> initrd environment, even if that means rebooting it from the environment
> (not sure if that would not complicate things further).
>
> There are basically only 2 concepts in the initrd environment:
>
> - loading and finding and unlocking your root filesystem
> - passing control over to the installed system.
>
> This would imply only a number of meaningful tasks:
>
> - crypt unlocking
> - raid assembling
> - device enumeration
> - filesystem mounting
> - and/or passing control to a system that may not even have been mounted
> yet.
>
> Such a system could be like the debian text mode installers.
>
> It deals with the same concepts as the installation.
>
> People don't understand "mounting" something. They also don't understand
> "root" filesystem. To make it meaningful "root" would have to be
> identified as a device. Windows (and DOS) did that by using drive
> letters. You were allowed to have many different roots, each pertaining
> to a device. These days you can also mount stuff in a Windows tree just
> fine.
>
> So the only conceptual difference between Linux and Windows is that
> Linux has one tree and Windows just has many. There is no other
> difference here.
>
> Linux is a single tree and Windows is a forest of up to 26 trees.
>
> Identification of devices and where they connect is usually most
> important.
>
> My real suggestion is honestly just to use drive letters or something
> that can simulate it; or to use other kinds of markings, or a new
> concept of namespaces that actually has meaning to people(?).
>
> I know there are kernel namespaces but I still don't know what they mean
> (mount namespaces) and why they are important.
>
> What you need to be user friendly is to give devices a name and to
> access them using that name as a form of namespace in which those names
> become primary access tokens.
>
> Meaning any system that uses (flat) labels or even 'namespaced' labels
> (such as "nas:media" or "remote:backup") would fit the bill here.
>
> In theory a Windows system is just:
>
> root -- A:
>       -- B:
>       -- C:
>
> The different trees are just aggregated under a root that is never
> mentioned and never used for access.
>
> If you could employ the mentioned namespace-labels as user-centric
> access tokens that are recognised on the level of the kernel,
>
> With a format such as:
>
> /:root    (non-namespaced root label)
> /this:root     (namespaced root label)
>
> /this:root/etc   (directory on namespaced root label)
>
> :root/etc   (not using absolute addressing)
>
> nas:media/...  (not using absolute addressing)
>
> You would have an easy to implement system really in which the only
> issues is : being an allowed character in filenames that mess with the
> functioning of certain tools (tar, rsync, scp).
>
> In which the character actually serves the same purpose.
>
> Under these conditions absolute targetting would be required to ensure
> that namespaces are not getting used (or labels) are not getting used by
> unpacking some tar archive that contains such filenames; and hence could
> be used to overwrite stuff that should not be targetted in that way.
>
> Ie. you unpack some filename "here:root" that is a directory and
> suddenly the contents of that directory are written to the root
> filesystem.
>
> Other than these issues there really aren't any other than the fact that
> for it to be really useful a check against these names has to be made
> for every root (/) entry lookup and every AT_CWD lookup, possibly
> slowing down lookups slightly, while not being allowed for these lookups
> to make it to any dentry cache.
>
> If you could alleviate the problems you would have a system that could
> at least be used quite proficiently as a kind of "toy" system (ie.
> consumer desktops) even if you wouldn't want that for a long time for
> harsher environments (servers).
>
> The whole thing is only meant for user convenience, after all.
>
> You would be able to integrate the various desktop environments in
> having the same "Places" infrastructure down below. No tools would need
> to be adjusted in order to use the system other than that "label" aware
> programs (I originally just called this Magical Symlinks :p) would want
> to prefix / internally (to make them absolute references) as well as
> shells as long as : remains a valid character in e.g. tar archives. Of
> course the : already creates problems on Windows systems. AT_CWD lookups
> should only be allowed for interactive use. And root entries should
> never contain a : (on the actual filesystem).
>
> Given these constraints you could have something like this working in
> no-time if you had the skills ;-).
>
> It's just that interactive tools would need to prefix / internally given
> that AT_CWD lookups like that can't really be allowed.
>
> So the only constraints are:
>
> - root entries cannot have : in them
> - interactive tools must know about it (if safety is a concern)
> - only absolute lookups using the /:name or /name:share syntax could
> ordinarily be allowed
>
> The "here" namespace could reference filesystem labels on local disks.
>
> If you labeled your filesystems "root" and "var" and "tmp" you would
> have here:root, here:var and here:tmp.
>
> Servers could have their own namespaces with shares, such as nas:media,
> nas:backup, nas:home.
>
> Such a namespace could even be tied to autofs (if it works, it doesn't
> always work for me).
>
> The way it is these namespaces would do nothing other than references
> mounted locations on the local filesystem hierarchy.
>
> But what they would provide would be a flat namespace and a namespaced
> (yes, confusing) namespace ;-) in which certain locations would become
> easier to access such as:
>
> :media will refer to /media/<user> for the current user.
>
> :home will be a bit easier to type than $HOME or ~ on many keyboard, AND
> it would work from graphical programs.
>
> A program such as CloneZilla could use :partimag instead of abusing
> /home/partimag for that.
>
> "m" could be a namespace referring to all mounted devices under :media,
> such as that m:<tab> would show a list of such devices.
>
> So you might have your Kingston USB stick under m:KINGSTON/....
>
> As well as, I guess, :media/KINGSTON/....
>
> Or :m/<tab> would do the same.
>
> Anyway.
>
> It would all be faily easy to implement by having "real" symlinks under
> /proc/sys somewhere that are getting managed by a userspace tool or
> daemon and lookups for namespace:share or namespace:device would simply
> resolve to such a directory symlink in the same way that regular
> symlinks as a path component get "expanded" until the full path is
> found.
>
> It would simply expand into a path that references /proc/sys/share or
> /proc/sys/name or something of the kind.
>
> This in turn would be a symlink that gets resolved to the actual path.
> Such that e.g.
>
> /proc/sys/share/main/root  would be a symlink pointing to / and
> resolving for :root.
>
> /proc/sys/share/nas/media would be a symlink pointing to whatever and
> resolving for nas:root/
>
> Or simply /proc/share.
>
> I don't like /sys.
>
> So the magical symlink implementation will simply catch the lookup being
> done, check for a : in it, only do it for / lookups when needed, prevent
> these lookups from being cached (they are in-memory anyway) perform a
> substitution in the path or return it as a "magical symlink" (my
> preference) that points to /proc, and let the system handle the rest.
>
> There will simply be 2 symlink resolution steps for every lookup using
> that/those names.
>
> The internal table is maintained by a module that updates /proc when
> accessed through the "management interface" and just serves these
> lookups in the meantime.
>
> Well, enough, I guess.
>
> I just think that would go a long way to making the system more
> comprehensible to an ordinary person. Another namespace could be
>
> disk:
>
> That would display all disk devices or part: that would display all
> partitions. You can go as crazy as you want.
>
> Instead of /dev/sda you would use disk:sda or even disk:a
>
> There is no interface where partitions are subdirectories of disks?
> There is no /dev/disk/sda/1/
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to