Improving the Fedora Boot Experience
An anonymous reader writes with a link to a recent post on Red Hat senior interaction designer Máirín Duffy's blog with an illuminating look at Red Hat's design process, and how things like graphic elements, widget behavior, and bootup time are taken into account. It starts: "So I have this thing on my desk at Red Hat that basically defines a simple design process. (Yes, it also uses the word 'ideate' and yes, it sounds funny but it is a real word apparently!) While the mailing list thread on the topic at this point is high-volume and a bit chaotic, there is a lot of useful information and suggestions in there that I think could be pulled into a design process and sorted out. So I took 3 hours (yes, 3 hours) this morning to wade through the thread and attempt to do this."
I boot my system maybe twice a year.
What annoys me is not the graphical appearance during the boot, but the lengthy checks of the filesystems on my 6 disks that are run sequentially instead of parallel.
That is a better thing to work on than nice pictures, IMHO.
It just needs to be fast IMHO. Anyone else agree?
The start up graphics is pointless, it is not interesting, nor does it tell you anything useful, and it just makes the boot process seem very slow.
One of the first things I do with a new fedora system is to disable the start up graphics, and display the boot up messages. So the boot process appears faster (may take exactly the same wall clock time, never measured it), and there is something at least vaguely interesting to look at. Plus, if it freezes for some reason, I've got some hint as to where the problem occurred.
was when I reinstalled windows after a hardware upgrade, 3 months ago
my work laptop gets suspended every night, its been over a year since its "booted"
and even if I boot a machine from the dead cold, screw it, I go get a cup of coffee and its done before I return
welcome to 2013, no one cares
Scrolling all that text without 2D accelerated hardware (not likely to be in place that early) likely adds more to the startup time than loading and displaying a graphical progress bar, especially considering how any drive will read far more than necessary for booting in one go, so the extra load time will be virtually zero.
c++;
I don't get all the hype about uptime.
My multi-media server easily gets five nines of uptime.
In fact, over 2012 it was way better than 9.9999% !
Yep, that's why I ditched UEFI. Flashed my /boot/ right into the BIOS with Coreboot. Just as secure as UEFI if I want it to be, and the system literally boots instantly.
I've got a print server that I've haven't to reboot in over a year .. it is running a SuSE version ...
AccountKiller
On any machine made this century the boot messages should fly past way, way faster than I can read them. If for some reason it hangs at some point during the boot process, then I guess there should be a button to hit or hold (or boot option if you're not doing this physically) to see it but otherwise its just nerd porn. The rest you can show me in a device manager or whatever after I've booted.
Live today, because you never know what tomorrow brings
But with systemd you STILL don't know why it hangs.
systemd throws everything not explicitly serialized into running at the same time.
Unfortunately, even the explicitly serialized modules don't necessarily start properly.
As long as 'performant' and 'documentate' are banished.
Well I have commissioned at least 3 machines this century, where I had time to read the messages...
But even whizzing past at speed, like my latest machine with SSD, still beats looking at the fedora logo being filled in - IMHO! :-)
Most of the boot improvements created since then have done nothing but irritate the experienced users. Honestly, I wish some of the "improvements" to GUIs were undone too.
.
You are exactly right. The original Mac OSX boot-up experience is a nice clean boot up screen with a few simple small icons flying by. The original Mac OS7 OS8 and OS9 bootups have a happy mac icon centered on the screen and the small icons for the addons on the bottom of the screen.
.
Linux boot-ups should have a simple graphical or text based boot up that says just a very few simple things: booting up
checking drives
starting network
starting graphics
tada!
and allow for the user to hit one of the function keys or a space bar or something to allow for viewing of the detailed boot-up log. Most people don't really need to see all of the details and would certainly be scared by all of the words and labels that they might not understand. This is one area where OSX actually does a better job.
What kind of acceleration do you think you need for non-antialiased, fixed-width text? A bitblt might speed it up in a framebuffer console, but these days memcpy on the CPU is faster, which is why X11 won't use hardware bitblt anymore. On x86, however, the hardware / BIOS provides a text console, and the GPU is free to accelerate it however it wishes. Given that the XT could scroll text faster than the kernel boot messages appear, I doubt this is a bottleneck on any vaguely modern system. You'll get more slowdown from lock contention around the kernel's version of printf than you will from outputting the result to the screen.
I am TheRaven on Soylent News
Seriously, can we stop referring to booting a computer as an "experience"? It's not like it's a trip to the moon!
Sent from my Tianhe-2 (MilkyWay-2).
If you want to see how a system should boot, go check out Haiku or OS X. Hell, even Windows does it fairly well.
I can't stand Linux boot processes. Typically there is some over complicated piece of shit bootloader that wants to kick my display into graphical mode so it can puke up distro-themed garbage all over my display for 5 seconds... Then things go black, the kernel starts to vomit verbose crap all over my screen in text mode, then the early graphical boot progress thing fires up X.org for a bit until the startup is complete... Then that goes away, Things drop back to text mode so I can momentarily catch a glimpse of a text mode login screen before X starts AGAIN, finally bringing up my login manager of choice.
Compare this to any sane OS... You get a nice loading widget, maybe change graphical modes once, and your either at your desktop or the login screen. The Linux boot process is totally out of control because nothing is integrated at all. This will never go away until X is considered part of the operating system as a hole and not just another optional package. Linus needs to pull his head out of his ass and put an end to the whole distribution idea, solidify things into a single OS. Then maybe we'll start seeing boot screens as clean and fast a Windows, Haiku, or OS X.
Booting Fedora is an "experience"? Who knew?
Naw, that's not an experience. An experience is being high on some sticky purple bud and driving a Lamborghini Gallardo on the Pacific Coast Highway with CHP on your tail and $7.5million in stolen money in a backpack on the seat next to you and busting through a guard rail, getting thrown 70 feet from the car and watching the Gallardo burst into a fireball while you realize you were only scratched and you somehow grabbed the backpack when you were thrown from the car. And now the police and the guys you stole the money from and your wife all think you're dead.
Now THAT'S an experience. Booting Fedora is not an experience.
You are welcome on my lawn.
I'm afraid I violated Slashdot rules. Mairin does a very nice job of showing that he's drunk the latest Fedora "electric kool-aid" and has entirely missed the most critical problems.
* Boot loaders *DO NOT NEED GRAPHICS*. Throwing out the graphics would get rid of most of the "oh, no, my screen resolution is changing and flashing, and I have to load half the graphics libraries to get the trademark image I want, I have the wrong icon, boo-hoo-hoo". Just don't use graphics. booting will be much faster and more stable. This is not going to happen because Fedora has also bought into the whole GNOME 3 toolkit and its direct interferenc with being able to actually use the rest of your computer.
* If you don't use graphics, the whole grub manipulations and "should we show the list of grub options" and "oh no, the britty graphics to text isn't available for Braille users" goes the futz away. So do the "This part is too fast!!!! This part is too slow!!!" kvetching, because you're able to present far fewer screens, with well defined behavior, and *far* less software needed for pre-loading all the graphical widgets. That leaves time to present a reasonable, legible text screeen saying "Here are the kernels" and "here is single user mode".
Fedora completely lost track of these simple principles with their last few installers, and keeps re-inventing the wheel, and keeps *breaking* the wheel in the process. It's a complete waste of time better spent cleaning up GUI tools that matter, such the snakepit that is NetworkManager or virtual-manager.
No research necessary here; just make it boot as quickly as Ubuntu. Not much need for fancy graphics when the boot is so fast.
And for the "I boot once a millenium" crowd: (a) kernel updates are considered a good thing, and (b) some people use laptops.
Scrolling all that text without 2D accelerated hardware (not likely to be in place that early) likely adds more to the startup time than loading and displaying a graphical progress bar.
If you disable graphical boot, the console doesn't switch to "graphic" mode until fairly late in the boot sequence. It's pretty easy to see this happen as the font visibly changes.
So, it's all text mode during the most critical time, and only slow on pretty ancient hardware. Any video card even halfway decent (like less than 10 years old) will do just fine in either mode.
What motherboard are you using ?
Remove "rhgb" and "quiet" from the kernel boot line. Fixed.
I boot my system maybe twice a year. What annoys me is not the graphical appearance during the boot, but the lengthy checks of the filesystems on my 6 disks that are run sequentially instead of parallel. That is a better thing to work on than nice pictures, IMHO.
The start up graphics is pointless, it is not interesting, nor does it tell you anything useful, and it just makes the boot process seem very slow. One of the first things I do with a new fedora system is to disable the start up graphics, and display the boot up messages. So the boot process appears faster (may take exactly the same wall clock time, never measured it), and there is something at least vaguely interesting to look at. Plus, if it freezes for some reason, I've got some hint as to where the problem occurred.
All of this is useful to the average user, how?
They already did the best thing they could....
systemd. I know many people don't like it, but its awesome. It makes reboots on servers that much faster, cutting the boot time around half from sysvinit, and making the shut off time under 3 seconds.
in addition, it replaces polkit, and intergrates with acpid, and udev, making it very very solid in keeping track of programs and hardware. None of the glitchyness or sluggesness of initscripts. No more relying on bash scripts to keep track of things like PIDs.
very eligant modern solution for replacing init with a v
also replacing consolekit was probably the best thing to happen to linux since HAL was obsoleted by added udev funcitonaility.
Its very un-UNIX like, but it gives the boot proccess and daemon handling a very very professional unfied method, and speed/agility that linux needs to compete with windows and mac.
Nah, go back to v5 with text based boot ups. ;)
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
.
Yes!!!
Sure, why not? That's the sad part with too much software. Sometimes, developers add change for the sake of change (or for power trips), rather than for expressly improving the software or its usability. If solaris did it back then that way, then it did it right. Someone else pointed out that for a while redhat bootup did that too. Too bad redhat went away from there. IMHO, a nice clean boot with the option to see details as needed (and of course the ability to redirect bootup messages to a serial console for serious debugging issues when something really screws up) is the right way to do it.
Solaris 10 introduced both a default quiet startup and SMF. RHEL 7 in 2H2013will have systemd which AIUI at least partly does the parallel startups that SMF did in 2005. No signs of a postbellum filesystem, though - still running Solaris here for ZFS compression.
Are you using Solaris on x86 or on MIPS? My parents actually have an SGI Indy with IRIX 6.x.something which I've played with, and a NeXT cube with NeXT-Step on it, and an old CPM machine. But there are no Solaris pizza boxes here. Is it possible to still download Solaris for x86? They've also got a big blue SGI with an x86 chip in it that's supposed to run windows NT but we've never found disks and drivers that work on it. (this is along with the trs-80 4k level one and the Apple ][+ which I played with as a kid about ten years ago and learned my BASIC on. Can't beat a TRS-80 for bootup, click button, it's on, but no DOS, just cassette storage!).
Beware of issues with non-native filesystem types and processes other than fsck slowing your disks to a crawl.
I have one big ext4 boot partition with Ubuntu 12.04 and one external NTFS systen. Fsck hasn't given me much problem even if a shutdown left the boot partition dirty and it needs to run on the next boot.
Dealing with NTFS from linux can be dicey, especially if the hardware does not perform well. I have a slow disk that I have had to umount a couple of times to get through some problems.
Gnome can impose some overhead after boot or during boot if things its does, genome tracker, happens in parallel with fsck of the boot partition or shortly there after. On my hardware Gnome Tracker does so poorly that I had to disable it going out to that NTFS filesystem. It was pegging my Athlon 64 dual core.
Run top(1) to let you see if there are disk hogs after the boot.
Yep, that's why I ditched UEFI. Flashed my /boot/ right into the BIOS with Coreboot. Just as secure as UEFI if I want it to be, and the system literally boots instantly.
Coreboot! coreboot. Thanks! I've been looking for something like that.