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
Oh ffs.
This is the same person responsible for the Fedora installer disaster... the result was harder to use and more confusing... but it did have pretty colours.
Don't let her near anything else important.
The secret to the book experience is simple: You shouldn't even know it happens. You switch on the PC and it just works in seconds. THAT'S PROPER BOOTING.
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++;
Getting rid of GNOME 3 and all its pundits would be a great start. Just look at what Red Hat did to iBus 1.5!!! It's so bad I'm currently not using an IME and probably going with UIM when I get the time to look at it properly. I'd call Red Hat bakayarotachi but I can't without a functioning IME, kuso.
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% !
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
tl;dr
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! :-)
-- Ideation (idea generation), the process of creating new ideas
-- Suicidal ideation, a common medical term for thoughts about suicide
Suicidal? So is fedora boot going to automatically "kill -9" itself everytime it boots? Has sentience arrived along with french existential angst for the OS? I would have expected french existential angst for Mandriva, not for Fedora. [And Nietzchean nihilism for Suse? ] Anyway, this is just designer BS, adding colorful shiny chrome on top of the useful bits, isn't it?
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.
Don't use Linux.
.
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.
Here I was wondering how we confined on Earth could burn through our precious and limited natural resources even quicker, then I read your post. My faith in mankind has been restored.
Brownie, you're doing a heck of a job.
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.
I would like to be able to take the bootlog from a mid-1980's VAX/VMS system or Honeywell DPS8 and simply have it echoed to the screen instead of that 'how quickly can I fill in this icon' Fedora boot.
Does anyone know if this has been done?
If you looked up "communication," and found
- Communication: conveying information
- Suicidal communication: conveying information about suicide
Would you conclude that all communication is about suicide?
Anyway, good design is very important. If someone comes up with a bad design, that doesn't mean all designers should be shot.
I've spent weeks sometimes working on a single thing. In the days before valgrind and purify I once spent three weeks tracking down a memory leak in popular open source, laboriously tracking every allocation and free, and figuring out which things that weren't being freed ought to have been. That was just figuring out the root cause, then more time figuring out the fix.
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.
Stop covering up the boot messages with a picture. Just let the messages scroll. When I boot, something is usually wrong that I'm fixing, and having to hit ESC every time I boot to see messages is annoying.
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.
On any machine made this century the boot messages should fly past way, way faster than I can read them.
They wont if the machine hangs for some reason
then I guess there should be a button to hit or hold
What is your definition of hang? AFAIK the common one includes not responding to input and it's not always possible to hit the button fast enough before it hangs.
to see it but otherwise its just nerd porn
When the system is configured wrong you get warnings, if it takes ages to start you see what takes that long and depending on the system just loading the image can add several seconds boot time and might even freeze the system. Source: Some years ago I tried to minimize an Ubuntu installation for a beagleboard*, the script loading the image had a nice warning to the previously stated problem and required a library nothing else in the package manager even referenced - one rm later nothing of value was lost and several warnings became unhidden.
*pro tip: don't try this at home it is a serious waste of time, of course it is also a good lesson in why you should not use a full blown desktop OS for anything less powerfull.
Nobody in their right mind wants Pulseaudio either, but guess what every distro uses?
I heard the new ACPI will even support biebernation!
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?
Every time I've seen a Fedora system boot, it's complained about "Memory for crash kernel" not being "within permissible range". I have no idea what a crash kernel is or why it's memory needs to be in a certain range, or (moreover) why this terrifying message is displayed as part of the normal, properly-working boot process.
Perhaps this will be fixed,
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.