Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Linux Software

Linus Says No To Annoying Boot Messages 286

Pants Ripper writes: "In a victory for all Linux users, Linus Torvalds declared jihad on annoying 'informational' kernel boot messages. I'm sure we'll all miss the inspirational 'spewtron driver 0.09 installed (C)2000 by Wardwick Extrusion' messages in our dmesgs." I've always thought those messages looked pretty interestingly verbose, but people want pretty boot-ups. And this Linus guy seems to know a lot about this "Lee-nuks," too.
This discussion has been archived. No new comments can be posted.

Linus Says No To Annoying Boot Messages

Comments Filter:
  • by Anonymous Coward
    Okay, it's obvious that the Great Ship Linux is going down. Between VA's decision to *ahem* get out of the hardware business and all the IPOs tanking, it's time to expand the paradigm. Why not keep the boot messages, and sell ads?

    For instance, instead of getting messages in your inbox about mortgage, it would display while the kernel boots up! We could also make it fsck each time, to increase the impact of the display.

    Also, with SVGA mode, we could have graphics.

    And therefore make money off of the only profitable internet business--porn.

    Each time you connect to the internet, Linux could unobtrusively download a new set of ads for various services and websites [babylonx.com]. It's about the only way Redhat and VA are going to stick around.
  • This idea is almost as good as when Linus decided that Linux shouldn't have a kernel debugger, that real men use printf. Now if your machine is booting and it just hangs, you'll know that it happened during the initialization of the... oh wait, you'll have no idea when it happened unless you're a "real kernel hacker" thus making it harder for normal people to figure out what to search the mailing lists for.

    If the suggestion was to make the statements display only display if in a special verbose booting mode, that might be reasonable. Killing all messages, always, that's just dumb.

    --

  • by mosch ( 204 )
    ah yes, printk, which internally uses a 1K buffer and doesn't check for overruns. Apparently dynamic allocation is a new concept to Linus.

    The whole "real men grok the code" idea is just arrogant and stupid. If your goal is to hack on the kernel, then yes you need to understand it deeply. However, if you just want to figure out why your linux 2.4.5 machine just panic'd after loopback mounting an iso image, then all you really need is a kernel debugger and some basic software engineering skills.

    --

  • No, normal linux users don't use kernel debuggers. Normal linux users are almost identical to windows "power users", which is to say they're fairly competant at using other people's software. However, there's a large body of professional programmers who are extremely comfortable with debuggers, and know how to quickly diagnose problems with them, so that they can either fix the problems, or provide meaningful bug reports.

    Secondly, removing informational messages provide an important function, in that they give you status updates as to the progress of the boot process. Thus, if the machine crashes due to a bug, where there is no error message, you have a clue where to start looking.

    --

  • what the fuck are you talking about? haven't you ever heard of DE-allocating memory?

    my point about the limitations of printk is simply that it's NOT a debugging tool, and linus shouldn't pretend that it is.

    the linux kernel is far from intuitive, it's kind of amazing that it works when you read the code, let alone that it works well. telling the developers that they should be allowed access to NO debugging tools other than a 1024 character print buffer just makes people's lives unneccessarily difficult.

    Sure, it's fine if all you want to do is hack kernel code, but it sucks ass if you want to hack userland code, but need to fix a glitch in the kernel first.

    --
  • printk is properly designed, for a routine which is designed to print out informational messages, and short errors. it is not properly designed for a debugging tool, despite the fact that it's the only officially acceptable kernel debugging tool in existance.

    There's no way to put a large amount of text on screen atomically, thus if you have code with a bug that's getting called repeatedly you have a choice of:

    1. limiting yourself to 1024 characters of information which is probably enough, but maybe not
    2. calling printk multiple times, which depending on where it happens in the code, might make it possible to have a race between multiple printk's, making it difficult to pull the status information from each invocation, as they're mixed
    3. or just install the kdb patch, and act like a programmer, not a cs100 student

    I stand by my assertion that linux makes kernel debugging unneccessarily difficult, asserting the arrogant notion that only total kernel hackers know how to find or fix bugs.



    --
  • No "cryptic messages" -- but it does display extensions as they load (those little icons that pop up along the bottom of the screen). For better or worse, Apple does seem to believe that the user should be notified of what drivers are being loaded.
    Actually, there has never been a public API for displaying these icons - they're shown by the extensions themselves rather than displayed by the OS. A couple of spare bytes in low-memory are used to hold the coordinates of the last displayed icon - each extension reads the coordinates when it gets invoked, draws its icon, and then increments the values for the next extension.

    Quite a neat hack, considering that the bytes used to hold this state were appropriated from the end of the space normally used to hold the application name once the system boots.

    On Mac OS X, where there are no extensions, the only visible messages are a single-line caption in the middle of the boot screen that flicks through a couple of high-level tasks ("Starting AppleTalk", etc).

    -dair
  • If you read all the way to the bottom, he talks about removing the "good status" messages as well. This means if a driver loads fine it won't show up in the boot sequence. Some people were expressing concern that they might leave old cruft in their kernel (drivers for hardware they don't have, and pseudodrivers that aren't useful anymore) and not notice it. Some drivers report if they can't find the piece of hardware they're looking for, but I belive some are silent other than the informational messages (version foo copyright so and so messages).

    Down that path lies madness. On the other hand, the road to hell is paved with melting snowballs.
  • FreeBSD has an option (although it is disabled by default.) to display a boot screen (similar to windows). IIRC, the boot screen can be dumped for the regular boot message by a flag to the loader, or by simply pressing escape during the boot (unless your error is: atkbd0: Error failed to initalize keyboard...

    Really, what Linus seems to be annoyed at here are the excessivly verbose messages that some drivers like to print out (like I need to see the algorigthm benchmark each time I boot) that might drown out an important message by scrolling it off of the screen before you see it (although it should still be available through dmesg, just like the FreeBSD boot messages are still are even when you have the "graphical" boot.). The Linux boot sequence is getting a bit heavy on the pointless informational messages these days, so a bit of a pruning won't hurt too much.

    Down that path lies madness. On the other hand, the road to hell is paved with melting snowballs.
  • by Have Blue ( 616 ) on Thursday June 28, 2001 @09:42AM (#121970) Homepage
    Attention, We-Want-Linux-On-The-Desktop crowd: Support this and help out, it is a big step in the right direction. To a consumer, diagnostic messages are confusing and pointless. Admit that Apple did something right, for once (interpret that as you will): the Mac OS, up to and including X, will never show cryptic messages or break out of the GUI unless you give it a direct order to do so (launch Terminal or Console, hold down key sequences during boot) or a fatal error occurs. This is a good thing, it makes the experience seamless and friendly. Remember that consumers don't care about what drivers got loaded when (and isn't improving the drivers themselves a much more important goal than improving the error messages?) and similar arcane knowledge of the computer's internals, and saying "learn it anyway because it's good for you" will not win you any friends or customers.

  • Whadayathink 'cat /proc/interrupts' is there for?
  • There are two ways a driver could "fail". One is to try to do something and fail, the other is to never get called in the first place because the kernel didn't recognize that the hardware was of the appropriate type for that driver to be called. It would be handy to tell the difference between the two. Today you can because today if the driver is being called you will get either a good or a bad message, but you know you will get *something*. If you see no message, then you know it didn't even *try* the driver in the first place, and that helps you figure out the exact type of error you are dealing with (probably a driver that's older than the hardware, so it doesn't recognize its ID string.)
  • Read all the way to the bottom. He also rants about not wanting "yup, I worked" messages to show up either. I agree about the copyright and version numbers, but NOT about pruning the "it worked" messages. Take them out and now "This driver worked just fine" looks exactly the same as "The kernel never loaded this driver in the first place." When you are trying to figure out why some piece of hardware doesn't seem to be working, that is a relevant difference.
  • I agree with getting rid of ads and versions, but NOT with getting rid of good status messages. The difference between a driver being silent because it isn't even being loaded in the first place and a driver being silent because it was working okay is a HUGE difference. It's something I want to know when I'm trying to figure out why I can't get my new WidgetMasterProBlaster device to work.
  • Why not just use /sbin/lsmod to see which drivers are loaded? If you do that and see that a driver is not loaded, can you tell the difference between that driver not being loaded because it failed at start-up (didn't see the right hardware), vs that driver not being loaded because the attempt was never made to do so?
  • If you read the article, you'd know which it was.

    But in any case, Linus doesn't think that real men use printf() (or printk(), as the case may be). Real men grok the code.
  • I think what would be nicer is if everything used a common way of presenting information. Each driver that gets an IRQ or something has a different wording for telling you which one it has, and some drivers' messages sound like they might indicate errors even when the situation is pretty normal and supported.

    I'd much rather see a list of:

    driverx.c Driver for X on IRQ n DMA m
    drivery.c Driver for Y device not detected

    so you could see, at a glance, what stuff is in your kernel, what is actually active, and how it autoconfigured itself. Currently, you have to look through the messages for the one that applies to a misbehaving device, and then sometimes look at the driver source to figure out what the message means.
  • I knew I had done it properly when I saw the correct version number. leave that in!

    cat /proc/scsi/driver_name/0

    In my case, that gives:

    Adaptec AIC7xxx driver version: 6.1.13

    Now tell me again exactly why you need the version printed at boot time?

  • Lally Singh: Linus was just saying that *NON-INFORMATIONAL* messages are just a waste, and that they shouldn't be done. Information related to DEBUGGING is logged. Error messages are still printed. Relax and get over it.

    Well, Linus is wrong.

    Error messages only occur when there's an errror.

    What if there's no error, what if it just HANGS on boot?

    How the hell are you supposed to diagnose a hang if you can't see what's running?

    --

  • Brody: what does some flying windows or clouds tell you exactly?? well... if they freeze you know your computer has crashed.

    No, it tells you that Windows installs every frickin protocol under the sun when you pop in a new network card, and it just sitting there waiting for a nonexistent DCHP server.

    --

  • Linux isn't saying anything at all about a graphical boot, and that graphical boot system is still hugely experimental anyway.

    Actually, he is. One of the big quandries about the graphical boot project was how to display all of those various informational messages. Some drivers' licenses (particularly non-Free ones, for example, for certain graphics cards) require that the message be displayed.

    Imagine that you're the one writing the graphical boot. How do you decide which messages to display and which to skip? If Linus had his way, and no unimportant messages are printed, then the task would be much easier.

  • Linus was just saying that *NON-INFORMATIONAL* messages are just a waste, and that they shouldn't be done. Information related to DEBUGGING is logged. Error messages are still printed. Relax and get over it.

    --

  • Precisely- the messages are not informative at all.

    Imagine you're driving in your car, and all of the sudden, buzzers and warning lights start going off, announcing EVERYTHING'S FINE. Do this enough, and you'll not only be upset by it until you can manage to ignore it (if possible) but you'll have trouble distinguishing it from NOT EVERYTHING'S FINE.

    Let the status messages come up if there's something new, or different, or wrong. But as long as things are running smoothly, there's no need to hurl that in our faces. (and when warnings are displayed, also include some fricking suggestions as to how to fix it or who to ask, dammit!)
  • by laertes ( 4218 )
    I use OS X, which is a nice happy UNIX (BSD) without pages of boot information. You know what? I survived! Of course, OS X doesn't allow the tinkering that Linux does, but it goes to illutrate a point; people don't need, or even notice, their kernel boot messages.

    I personally have done a little kernel programming, and that is the only time I paid any attention to these messages. Every other boot ends up with me just looking at the screen with glazed over eyes, not a single message registering. When things go wrong, those messages are invaluable, but if the kernel can't get it's debugging messsages on the screen during a catastrophe, there's not much chance that dmesg would help anyway.

    I've always thought those messages looked pretty interestingly verbose... The more I think about that sentence, the more my head hurts.

  • There are two problems here - first, fluff like copyright information is being printk'd at too high an importance level, and second, the minimum level for display defaults to KERN_DEBUG (lowest level). The changes being proposed are that fluff should be printk'd at a lower importance level and the minimum level for display should be higher by default. That would not stop you from specifying a lower minimum level to dmesg (which currently also defaults to KERN_DEBUG) and seeing messages which were suppressed from display at boot time.
  • by MenTaLguY ( 5483 ) on Thursday June 28, 2001 @11:53AM (#121997) Homepage
    Dynamic allocation isn't necessarily safe in all the places printk() can be (is) used.

    There are some points in the kernel at which you just cannot touch the parts of the VM subsystem that would be necessary to dynamically allocate memory. It's not a design flaw; it's just a constraint of the way locking and reentrancy have to be handled.

    With a lot of work, you could probably create a dynamically allocating printk(), but you'd have to introduce a tremendous amount of additional locking just to support printk(), which would kill performance, and would mean that printk() couldn't be used in many places that it is now (certain interrupt handlers where the locking overhead would be too much).

    Also, an obvious one ... what happens if the printk() happens to be reporting something due to VM exhaustion? ....from within the VM subsystem?

    The static printk() buffer is a necessary design decision.
  • by morven2 ( 5718 ) on Thursday June 28, 2001 @09:57AM (#121999)
    As a longtime UNIX admin who's used many UNIX systems, I think this is a good thing. I don't mind text printing on startup, but Linux prints so much ABSOLUTE USELESS CRAP to screen.

    90% of them are ego-boosting messages by the authors of each chunk of the kernel. These are in particular what Linus seems to have an issue with.

    I don't think boot messages should be completely gotten rid of, but they should be put on a rigorous diet. Let's look at the way other Unices do it. FreeBSD, for example, prints stuff, but it's terse and professional looking. Same with Solaris.

    On Linux, the messages scroll so damn fast, especially on a speedy modern system, that you can't even read them. That's bad, folks. I can't even tell if the kernel is printing any error messages, because the credits messages scroll it so quick.

    Yes, I don't mind a kernel component telling me it's there and the hardware's functional, but don't be so verbose about it!
  • On some DOS machines you will get the memory count displayed by the BIOS, then only a few more lines of text before the C:\> prompt. That means you can start using the machine while still on the first screenful of text since it was switched on. I think that's cute.

    On Linux you can usually Shift-PageUp to scroll all the way back to the beginning of time, but it's not the same.

    BTW - drivers that are likely to crash must print something, so you know what crashed. Although in a production system you wouldn't expect anything to just hang the machine at boot time, so the suggestion of a special 'verbose mode' for kernel troubleshooting is a good one.
  • I would not understand why this wouldn't be an option. I find it very annoying to try and fix a Windows machine and not know what the hell is being loaded at startup.

    I think it is great that people don't want to see that shit. Hell, we are trying to make a move towards having more "dummy friendly" OS. "Dummies" don't like watching kernel messages. They would rather stare at the pretty pictures :)

    I am fine w/all of that, in fact I believe it is a great idea and it should be implemented! Just make it optional. At least have a keystroke bring up the kernel messages.

    dmesg is nice to have but I just like to know that there is something really going on other than just watching that stupid little bar at the bottom of Win bootups :)
  • I'd like to see NEW services and devices etc, but after they are running nicely I'd just as soon they fade in the background and not take up screen time unless an ERROR is generated. As a development system builder I never know what specs the developers will want.
  • Unless you need to know what device is using IRQ 11, both your NIC and Soundcard.

    I think Version numbers, and other informational data should be kept in. Too much information is better than no information.

  • By your arguement, we should be calling Digital Unix, Irix, Solaris, and a host of other rock-solid variants of Unix "poor and brittle," because they don't "run" on as many architectures.

    And it's a funny thing, but I don't seem to remember any informative messages from Linux telling me why I couldn't bind an IP to my 3com (3c589d) pcmcia ethernet card. The solution to that problem was found not through "transparency and diagnosibility" but through a win2k cd.
  • Those non-informational messages do contain information -- in their negative space. Sometimes things fail silently. There are no error messages. If you are expecting a success message, however, and don't recieve one, then the lack of a message indicates failure

    On the other hand, some of the messages are useless. When my sound card driver loads, it outputs three lines:
    es1371: found chip, vendor id 0x1274 device id 0x1371 revision 0x08
    es1371: found es1371 rev 8 at io 0x1080 irq 11
    es1371: features: joystick 0xx

    That much information is overkill (and unneeded). Go ahead and throw out the results of profiling code. Go ahead and ditch the ReiserFS built in ad. Go ahead and throw out the copyright notices. But please keep the sucess messages - they are just as important as failure ones.

  • Not particularly useful when your console is a real tty, not to mention that modern boxes are so fast that you wouldn't see much like that anyway, so there's no point to print it in the first place.
  • by sharkey ( 16670 ) on Thursday June 28, 2001 @10:36AM (#122022)
    You ought to pass that book on to the MS Access developers. Does this sound familiar?
    "You are about to modify 0 records. This action cannot be undone."

    The Outlook people could use some help, too:
    "This graphic does not do anything. For Help on an option, click tho question mark [?], and then click the option."

    --
  • Why don't we have different levels of information for each category? Then I could get info-level messages about failures, and only warning-level messages about credits. And also I'd like to customize these messages for each category: for example, I only want warning-level messages about failures in the filesystem category. And perhaps I'd like only critical-level messages about successes in the boot-message-printing category, to prevent me from getting a notification about a successful notification (thus crashing at boot because some poor driver wanted to tell me that its programmers have big egos). Or alternatively the kernel would be smart enough to check the boot-message-printing options (configured through LILO perhaps? there's lots of unused space in my MBR) to make sure that it won't get stuck in a successful-message loop. Maybe for ease of maintenance we could get ESR to write this in Python, and then compile a small Python interpreter into the portion of the kernel code that gets loaded first...

    Yes, this all sounds very good, Mr. Gates. True innovation. We'll implement it at once, sir.

    --
  • by Adam J. Richter ( 17693 ) on Thursday June 28, 2001 @10:35AM (#122025)

    Out the outset, let me say that I agree that kernel advertising/credits messages hide useful information and make the system unnecessarily confusing to less experienced users. I am glad to see Linus taking aim at them, as it really takes someone very respected in the development world to attack something that has so much ego attached to it.

    That said, I would like to still have a verbose mode that includes these messages so that someone who knows what they are doing can verify that a given facility is being initialized at boot. The simplest way to achive this would be to change DEFAULT_MESSAGE_LOGLEVEL in linux/kernel/printk.c, from 7 (KERN_DEBUG) to 6 (KERN_INFO), thereby filtering out KERN_INFO messages. Maintainers who feel that some of these messages really should be printed by default could submit patches to change them to the previously ill-defined KERN_NOTICE (5) level and try to convince Linus to apply them.

    It is also trivial for individual Linux distributions and sysadmins to modify this policy by booting with the "debug" argument (sets console_loglevel to 10) or to modify this in a boot script by writing to /proc/sys/kernel/printk as documented in linux/Documentation/sysctl/kernel.txt. A "loglevel=n" kernel boot argument would also be a helpful feature for the future and would be trivial to add.

  • You make me believe whole-heartedly in censorship.
  • Yep, That entire end sequence made me fall off the couch!
  • >('cept to add new hardware of course.)

    Bah. Like a marksman who fires his gun between hearbeats, I just listen for the 60-cycle hum and slam my PCI cards in during the trough between signal peaks. Unfortunately my teeth are starting to blacken from gnawing on live IDE ribbon cables, so I may have to reconsider my hardware techniques.
  • hey now, I needed to downgrade from the "new" delete-all-your-data adaptec scsi driver (6.x.x) to the "old" doesn't-delete-all-your-data driver (5.x.x), and I knew I had done it properly when I saw the correct version number. leave that in!
  • This way, there would be several modes, selected by kernel parameters in the lilo.conf file or LILO prompt.

    1. Splash-screen mode. Puts a pretty picture on the screen, stays there until the system gives you a login prompt or (x|k|g)dm login screen. The user should be able to press escape to ditch the splash screen & go to concise mode if problems arise.
    2. Concise mode: Displays minimal information on bootup - kernel version, distribution name, machine name. Nothing else is printed unless something is wrong.
    3. Verbose mode: Shows everything you never wanted to know about Linux as it boots - handy for kernel debugging or fixing configuration problems.

  • "Unnecessary messages are pure evil."

    - Everett N. McKay, page 367
    Developing User Interfaces for Microsoft Windows
    (c) Copyright 1999
  • Red hat is doing fine...
  • CONFIG_SUPPRESS_VERBOSE_INIT

    ????

    Then RH and the rest can choose that (and lpp) in their default kernels. The rest of us can let 'er rip.

    I always wanted more messages. That way when rebooting, I looked extra '1ee7. The only thing more frightening to the employees is when they see a kernel compile running. Or a BSOD (a true NT type one with all of that debugger information or whatever it is. Not the wimpy Win9x one)

  • Just read it. Maybe others should:

    So let's simply disallow versions, author information, and "good status"

    messages, ok? For stuff that is useful for debugging (but that the driver
    doesn't _know_ is needed), use KERN_DEBUG, so that it doesn't actually end
    up printed on the screen normally.


    So, he's just talking about copyright notices and that sort of garbage. He's actually keeping the good stuff in. So, this makes sense. Must be a slow newsday, what with no Micro-Soft FUD to report.

  • Relying on dmesg to configure a kernel (like the person you replied to) is kinda like relying on the author/editor blurb at the top of a Slashdot story to give an accurate impression of the news (like the person you replied to).

  • by Minstrel78 ( 28344 ) on Thursday June 28, 2001 @09:41AM (#122038)
    If you bother to read Linus's message, you'll note that this will not eliminate messages scrolling by on bootup. This will simply eliminate the display of suplimentary information that isn't crucial to the booting process.

    For instance, you will no longer see:

    Random Device Driver: Initialized
    Random Device Driver version 1.23 (c)1999 John Doe

    You will simply see:

    Random Device Driver: Initialized

    The other stuff is available elsewhere, and just adds to the clutter. Simple == beautiful.

  • Thats one thing that sorta anoyed me about ReiserFS kernel module. I don't use SuSE and hate mp3.com so I simply went in and changed the output message to something amusing.

    Great thing about open source, if you don't like the messages.. change em! :)




    --------------------
    Would you like a Python based alternative to PHP/ASP/JSP?
  • by Shotgun ( 30919 ) on Thursday June 28, 2001 @10:14AM (#122041)
    Linus specifically said that the important kind of messages are the ones that are displayed when something isn't working properly,

    You see, the problem is that software often doesn't KNOW when something isn't working properly. The software cannot know unless the developer either:
    1)predicts every possible failure case or,
    2)checks the inputs at every function call (which will slow your 1000GHz Fitztanium to 8086 speeds)

    Version numbers are also important. If you show me your /var/log/messages and I happen to notice that you're running the 2yr old ReiserFS code with the security hole, I'll tell you and you will be happy. But because there isn't a problem, ReiserFS doesn't ever say anything and you get cracked.

    Bootup messages are a very important standard that has become an invaluable troubleshooting tool. Even know that something DOES work is good information when troubleshooting. Linus should leave it alone. If I don't wanna see "ReiserFS is brought to you by MP3.com", I'll either modify it (I do have the source), or I'll use IBM's JFS.

  • Even "useless" information isn't really useless..

    Suppose you had a server in another office (maybe in another town) and one of the "helpful" office people decides that he doesn't like the brand of network card installed, so he replaces it with one of his own..


    You come in on Monday morning, and everybody is screaming at you because the server will no longer talk to the network..

    It's nice to be able to dial in (you do have a modem in those remote machines, right?) do a dmesg and look for notification that the driver was loaded properly..


    Now, I know this isn't a (hugely) likey possibility, but there has been more than one occasion when I've needed to know what was in a remote box, and checking dmesg remotely was MUCH faster than physically going to the box.

    It's just an example of a good reason to keep the information available somewhere (/proc isn't very good for this, because it tells you what's happening now, but it won't tell you what happened while the machine was booting.)

  • by eric2hill ( 33085 ) <<eric> <at> <ijack.net>> on Thursday June 28, 2001 @10:36AM (#122043) Homepage
    For all the Windows flames that get thrown around here, I think MS hit the nail on the head with the Windows 9x series. (Well, boot screens that is...) The Windows 9x series had the best of both worlds: A pretty picture (animated even!) that was shown while the system was booting, but if you wanted to see DOS messages, just hit escape and you're greeted with the standard DOS bootup.

    I think Linux should do the same thing - leave the bootup messages, debug messages, and whatever else there, but cover it up with a penguin sitting in a speedboat. For 95% of the time that I don't care what happens as long as the thing boots, I'll see my happy Tux, but for the other 5% of the time, I can just hit escape to see all the messages I've grown to know and lov^H^H^Hhate.

    Windows 2000 doesn't offer this functionality. Yes, yes, I know about Windows 2000's /CRASHDEBUG option. It's not particularly pretty, but serves kind of the same purpose. It's just not available with an escape key. You can't set the option (easily) if you can't boot the system, so what's the point?

    "Of course that's just my opinion, I could be wrong." - Dennis Miller

  • Funny, it worked fine when I used it.

    In fact, I often demonstrate how cool Linux PCMCIA support is by grabbing a random card (often one from the demonstratee), plugging it into my laptop, plugging in the network cable, and browsing to sites.

    I even did it with a WaveLAN card once. It was the first time I plugged a 802.11 card into my laptop ever.

    No messages, no popups, no "insert a stupid disk because I'm going to reboot the machine 3 times."

    Interestingly enough, I have a tiny Windows partition on my laptop, but I never use it. Windows will lock up hard on boot if my NIC (3c575CT) is inserted. No biggie, Windows is useless to me and my solution was found through a SuSE DVD.
  • If you are expecting a success message, however, and don't recieve one, then the lack of a message indicates failure


    Traditionally, in UNIX environments, the lack of a message indicates success. If it worked, why bother me about it?

    This is important because I've seen *lot's* of people panic when they get success messages.

    Pretend you know nothing of IRQs, IO ports, and hex numbers. If you saw a screen full of them you wouldn't know if it was good or bad. An important part of useability is not confusing the user, because they get very worried when they see something confusing.
  • I would just really really like to avoid being forced into a non-verbose display. By default your bootup sequence should have full verbosity turned on

    Perhaps yours should. :)

    Assuming you want your OS to become mainstream, you better start letting go of these things that make it decidely ugly and confusing. By default, it should display general high-level information ("starting networking") and provide errors only. Most people don't need to know the filesystem was mounted as read/write.

    People aren't going to change for Unix. Unix will have to change for people (as Mac OS X demonstrates).

    - Scott
    --
    Scott Stevenson
    WildTofu [wildtofu.com]
  • Then patch /usr/src/linux/init/main.c with:

    if (!strcmp(line,"silent")) {
    console_loglevel = 1;
    continue;
    }

    Just below the "quiet" option...

    Remember to add the "silent" option in /etc/lilo.conf All messages are still accessible by dmesg and you can boot with "debug" if you want to.

    Silencing about 50 bazillion init scripts is left as an excercise for the reader ;->
  • Far be it for me to disagree with Linus, but version numbers don't take up much space, and they often make debugging instantaneous. ("Oh, you only have version 4.5.6. Obviously that's not going to work.")
    --
  • by p3d0 ( 42270 ) on Thursday June 28, 2001 @12:31PM (#122060)
    We need the messages printed at boot time to be classified. You can have success messages, failure messages, credits, etc. Then you could configure the system to display the kinds of messages you want to see.

    I don't know much about the innards of the kernel, but I suspect something like this already exists. Could it be used for boot messages? Perhaps it could be extended?
    --
  • Attention, We-Want-Linux-On-The-Desktop crowd: Support this and help out, it is a big step in the right direction.

    While I agree that short, informative messages are a step in the right direction, a splash screen or other sweeping under the carpet is not. People who want to make money out of Linux products may want Linux on Joe Ordinary's desktop, but those of us who use Linux now should not - or at least, should not be prepared to make compromises in the features we value to do so.

    Linux is high quality, very stable, rapidly developing system because it is a hackers operating system. When it doesn't work, hackers are motivated to fix it, and have the ability to fix it. Joe Ordinary will never have the ability to fix an operating system. If you compromise Linux to suit Joe Ordinary in a away that doesn't suit the hacker community, the hacker community will drift off to the next cool operating system, and Linux will start to suffer from bit-rot.

  • In "In the Beginning was the Command Line" [cryptonomicon.com] Neal Stephenson pointed out all the messages that get printed out when you boot linux.
    Cryptic messages began to scroll up the screen. If you had booted a commercial OS, you would, at this point, be seeing a "Welcome to MacOS" cartoon, or a screen filled with clouds in a blue sky, and a Windows logo. But under Linux you get a long telegram printed in stark white letters on a black screen. There is no "welcome!" message. Most of the telegram has the semi-inscrutable menace of graffiti tags.
    Then he cuts and pastes the entire scroll of his bootup sequence. Now his book is going to be outdated. :)
  • Either that, or a simple script which will open up as many connections as possible,send the data, and then each of those connections does a near simultaneous hit of the 'submit' button (or rather, the equivalent of doing so). Simple trick, doesn't require a lot of bandwidth, and would probably get past the race condition that's been found and is being more than slightly abused.
  • I read the article.

    And I think removing versions and "good status" messages is just plain stupid. When I boot up, I
    WANT to know what is running, and that everything is "just swell". What is the problem,
    anyway? BOO HOO! BOO HOO! "I cannot deal with all those confusing boot messages. BOO HOO!"

    And how many times do you reboot, anyway? Once a week? Twice a year? Every day? Whatever the
    interval, a few pages of messages aren't going to hurt anyone. What if you have a problem and now
    NEED the messages from last week? On many systems, that will still be in the message logs.

    There are a lot of ways to get information, but the message logs are often the most convenient.
    I don't see why someone would be so upset about a few K of storage or a few extra kprintf calls.
  • The boot messages are annoying and obscure actual errors.

    You state that as if it were an objective fact. Actually it is your opinion. My opinion is otherwise.

    The discussion is about NOT DISPLAYING THE USELESS ONES during booting.

    Useless is also a matter of opinion. And the messages do not add any appreciable delay. I have

    seen kernel messages go by at hundreds per second on occasion. Mere dozens of "useless" messages won't make any difference in boot time.

    I read the article. I was paying attention.
  • by clump ( 60191 ) on Thursday June 28, 2001 @09:55AM (#122074)
    My analysis isn't that Linus is killing dmesg, but rather he is responding to advertisements and junk clogging up needed boot and debugging messages. I agree with this. Have you seen what an AOpen motherboard boot screen looks like? On some models there is a right frame with all sorts of advertisements for all sorts of products. That is insane.

    Linus isn't killing boot information but rather not placing everything from URLs to copyright information in the same place where you find out if your networking interfaces are functioning properly.
  • by clump ( 60191 ) on Thursday June 28, 2001 @10:05AM (#122075)
    Personally I don't use Linux anymore so I don't really care, but I think it's a dumb move on Linus' part and here's why. Suppose you've just been hired as a sys admin in a company and have to recompile kernels across a couple dozen perhaps hundreds of Linux based servers... Suppose that company was crappy via way of having things documented.
    I use a variety of operating systems including Linux and I disagree. In Linus' message he stated "So let's simply disallow versions, author information, and "good status" messages, ok?". That doesn't mean you can't find out what hardware you were using or what happened at boot. Keeping dmesg free of advertisements and data that could be confusing is a good idea, and elimiates the redundency of having things like boot.log, messages, and syslog all saying exactly the same thing.
  • by PurpleBob ( 63566 ) on Thursday June 28, 2001 @09:52AM (#122076)
    Some people seem to be confused as to which messages will be removed. The messages that Linus was specifically lashing out against were the kind that tell you the version number of every driver the kernel is loading - for example, from my dmesg, "Linux NET4.0 for Linux 2.4 - Based upon Swansea University Computer Society NET3.039". I really don't care. If something goes wrong with NET4.0, *then* I'd like to hear about it. If it's Swansea University's fault, then maybe I'd want to hear about them too. :P Another example is the famed "ReiserFS is brought to you by MP3.com" message.

    Linus specifically said that the important kind of messages are the ones that are displayed when something isn't working properly, so no more whining that you think those messages are going to disappear, okay?

    Moreso, some people seem to be under the delusion that the linked Slashdot article with the "pretty bootup" is related to what Linus said. No. Linux isn't saying anything at all about a graphical boot, and that graphical boot system is still hugely experimental anyway.
    --


  • Personally I don't use Linux anymore so I don't really care, but I think it's a dumb move on Linus' part and here's why. Suppose you've just been hired as a sys admin in a company and have to recompile kernels across a couple dozen perhaps hundreds of Linux based servers... Suppose that company was crappy via way of having things documented.

    It's so easy to just do a dmesg and see exactly what's being used in order to recompile the kernel, as well as determine should something be replaced, or removed to make things better for the network. Anyways it's his dictatorship... err... OS, however it'll just makes things a bit more difficult for some

  • by Zigg ( 64962 ) on Thursday June 28, 2001 @10:10AM (#122079)

    I've always felt since day 1 of using Linux that about half of the kernel output was ego-stroking, and very little useful information. It made the whole thing feel less like a unified project and more like a haphazard collection of little bits and pieces.

    I hope the opportunity will also be taken to give everything a more unified look, a la commercial UNIX and *BSD kernels; it will certainly make finding what you're looking for in the dmesg much easier rather than having to sift through rabble.


  • It's nice that someone else seems to agree... I don't like seeing the corporate stuff, (mp3.com? sheesh...) but I don't really agree that it's all that annoying to notice a coder's name after his particular driver has just loaded. He wrote the code that makes my computer work and did it for free. Is it really that much to ask that his name appear next to his driver?

    I'm afraid that this is one area where I don't agree with Linus. I *like* to know that my computer is doing something sucessfully. I *like* seeing that my serial drivers, ethernet, ppp, scsi, etc have all been detected by the kernel.

    Lets not forget that all the stuff that the kernel outputs normally gets stored in logs. You'd be surprised what problems can be solved by noticing a mundane change in kernel output. Also, much of my important configuration stuff stuff comes from the output of dmesg. When I have a brain fart and can't remember the SCSI ID of my CD burner for cdrecord, I simply take a quick glance at dmesg. Ditto for pretty much every other device on my system. dmesg sure beats the hell out of spending 10 minutes searching /proc (which may or may not actually have the information).

    Please no one take this as flamebait, but the way Linus worded his ultimatum was that he didn't want *any* kernel output except errors. One thing I absolutely hate is operating systems which offer little to no information about what they are doing while booting. This includes Windows and Linux distributions with Aurora installed by default (Mandrake).

    I like Linux because it lets me see more of what my system is doing which gives me the opportunity to act when I notice something that I don't like.

    PLEASE, at the very least, Linus, if you're going to do this, give your users some option of verbosity. Don't just tell the kernel hackers to get rid of all non-error messages.
  • It is *normal* for commodity PC hardware to randomly blow up and do weird things, and being able to handle it without training people to press special key combinations is *good*.

    I'd hide the messages unless the person watching can do something about it.

    If Alan is unable to understand what via-rhine.o is, then being able to press a magic key that prints 'via-rhine.o' to the screen will do him no good.

    However Bob understands what via-rhine.o means, and he knows the key to print it onto the screen.

    Take for example 'F8' on old MSDOS bootups. I never knew about pressing that key until I understood enough to know what I was being asked. If I knew the key before understanding the questions MSDOS was asking me, I would have been lost.

    If you can do something with the message, then you'll know how to find the message.

  • If I read that right, you can't get rid of those. I use "good status" messages to easily determine that my hardware is detected. I particuarly use the Ethernet and Sound driver messages on a regular basis.

    Sure I could go digging around in proc and eventually turn that crap up, but it's usually much easier to grep dmesg or watch the kernel bootup. You might be able to squeeze everything that's needed into one line, but you still need some message during bootup.

  • by jarran ( 91204 )
    Jeez! Why bother? What difference does it make? How often to you actually boot your computer anyway?

    I mean, I start up my computer once a day. I know, I know, it's a lot. And yet somehow I manage to cope with the daily trauma of my computer displaying messages as it boots. In fact, some days, I barely even notice them!

    Does anyone else get this, or am I unusually Zen?

  • Relying on dmesg output to decide what to configure a kernel with is error prone and SLOW. any decent admin would have the config file handy.
  • by BierGuzzl ( 92635 ) on Thursday June 28, 2001 @09:46AM (#122102)
    You don't lose useful information, only useless information. "success" type status messages will be removed as well as other messages containing things like people's names,etc, leaving behind only stuff like "hey you there, something's broken" thereby making dmesg 10 times more useful for debugging.

    Naturally, this means that a dmesg output doesn't give you any idea of what a system is running, but we have other better ways of displaying that through for example the proc interface.

  • I know someone is going to put a hit out on me for saying this, but why not do what Win95/98 do. Put up a picture of something and if the user wants to see diagnostic messages, they just hit a key...

  • Neil Stephenson wrote this:
    Cryptic messages began to scroll up the screen. If you had booted a commercial OS, you would, at this point, be seeing a "Welcome to MacOS" cartoon, or a screen filled with clouds in a blue sky, and a Windows logo. But under Linux you get a long telegram printed in stark white letters on a black screen. There is no "welcome!" message. Most of the telegram has the semi-inscrutable menace of graffiti tags.
    In In the Beginning was the Command Line [j-bradford-delong.net]. A little transparency is lost. The Eloi/Morlock split of which Stephenson wrote is reinforced - you won't know how to view the kernel messages unless you're already a member of the technical tribe.
    However I'm still not clear whether Linus wants to squelch all 'happy messages' or only author attributions. If it's the latter, I don't care.
  • I disagree with this. I have used the Linux boot process to identify an unknown system that a friend wanted Windows installed on, so that I'd know which Windows drivers to look for! I find one of the best ways to take hardware inventory of an unknown computer is to attempt to boot Linux on it. Even if the boot is unsuccessful, the console messages tell a lot about the hardware and what's in there!

    I sincerely hope the drivers aren't edited down to prevent this logging. All of the text should be available to read with dmesg. What I hope is that a compromise can be reached: default to a pretty-boot process [freelords.org], but have a way for the knowledgeable user to still see the console (perhaps by pressing the ESC key).

    Or, use the priority system of printk to prioritize each message, and have an optional boot parameter that would control how many messages get printed. It could be something like bootverbosity=8, given on the boot command line. This already exists, look at the argument to klogd -c!

    Doing a kernel-wide purge of all informational messages is just the Wrong Thing, as these messages will then be lost and there will be no way to print them when they are needed to solve problems!


    Super eurobeat from Avex and Konami unite in your DANCE!

  • The point isn't to have a pretty bootup, but to remove the useless information that's obtainable via other, more reliable, means. Do I really care about copyrights and versions of all the components on bootup? Not really. It might be handy having everything in one place with dmesg, but it's still too cluttered. I'd rather have information only on drivers probing hardware and the results it gets, and so on... You know, the stuff that's useful for diagnosing problems.

    If nothing else, announcing module load/init should be output at debug priority, not informational priority. Debugging a non-working system would be the only real reason most people would ever need to see that.

  • by RestiffBard ( 110729 ) on Thursday June 28, 2001 @11:25AM (#122111) Homepage
    um the way i read this is that linus doesn't want our dmesg full of crap about the maintainer's email address and other gobbledy gook that just doesn't matter. all i want to see on boot up is
    keyboard.......ok
    mouse..........ok
    modem..........hosed---->read such and such to fix problem.
    monitor........doing better than the modem apparently
  • There seems to be some agreement that personal names, copyrights, etc. are harmful. The opinions here seem to be divided on the usefulness of successfull messages "Driver Foo loaded OK and detected 2 Foo cards at oxF00 and oxBAR". Those messages annoy some, and are very useful for some. So, why not add a boot parameter, a key, or something, to make them visible when needed. When not needed, they could be kept away from confusing the poor users...
  • by sigwinch ( 115375 ) on Thursday June 28, 2001 @12:00PM (#122115) Homepage
    Admit that Apple did something right, for once: the Mac OS, up to and including X, will never show cryptic messages or break out of the GUI unless you give it a direct order to do so or a fatal error occurs.
    You can get away with poor brittle engineering if you are willing to tightly restrict the hardware that is used. OS X runs on, what, a single CPU architecture and half-a-dozen machine variants? Linux runs on half-a-dozen architectures and tens of thousands of machine variants. It is *normal* for commodity PC hardware to randomly blow up and do weird things, and being able to handle it without training people to press special key combinations is *good*.
    This is a good thing, it makes the experience seamless and friendly. Remember that consumers don't care about what drivers got loaded when...
    Until some random driver wedges for 5 minutes during boot up or shut down, as it eventually will on commodity no-name hardware. If you can see a message for which thing is wedging, you are 99% of the way towards solving the problem. OTOH, with the Windows/Mac approach, the poor end-user will need a trip to the technician for a reformatting. Transparency and diagnosibility are Good Things.
  • I hate to say it, but Microsoft's "My Computer" access to the hardware tree is much closer to the right way to look at the hardware situation.

    In fact, there's much to be said for presenting messages as openable trees, rather than text streams. I came across this in an application from Eastern Europe written by someone who was very good, but did everything their own way. The message file was a tree, and you could open up messages and see submessages. This is way ahead of using "grep" on text files.

  • by stilwebm ( 129567 ) on Thursday June 28, 2001 @12:08PM (#122128)
    Success is in fact useful, not only for the reason you mention. I find it quite usefull, especially when installing new kernels on fringe hardware (say a new G4 PPC). It is good to see that the usb driver loaded and detected a OHCI hub with xyz device connected. And when the new kernel doesn't work at boot, you don't always get usefull error messages. But with success messages, you can tell what IS working, and usually figure out what caused the freeze. I wouldn't mind having a progress bar or status indicator like others mentioned, as long as I can still get the same basic information from my boot logs.
  • Otherwise I won't get to gloat that my BOGO MIPS is higher than yours.
  • This isn't about the same thing as the slashdot story linked from it. This is about not telling you you're using HardwareDriver 1.34.135 by Abjkl Magdinadf. That is exactly the kind of thing we don't need - if I want to know the name of the person who wrote my drivers, i'll find the information myself. I don't need to be told every time I start my computer. This is optional - the messages like this should be removed from the boot process, and if you want to know you can just get the version information.
    ---
  • if I want to know the name of the person who wrote my drivers

    Sounds like Linus wants only his name on the system...
    --
  • To me this does NOT sound like an ego-maniac wanting his name and only his name all over the system.
    I know, I just like provoking people who subscribe to that idiotic cult of personality. Actually I always assumed he called it linux to rhyme with minix.
    --
  • I just junked the graphical boot screen on NetMax because I don't like the idea of things grinding away under a pretty (or ugly) graphic. Even if I don't like the text, at least I can see what the system is doing....or what it's stuck on. If we're going to go graphical, then we need to be able to hit a key, change a config or use a LILO option to boot textually. But I think what Linus is saying is that we should be seeing boot messages that mean something, not ads for someone or chest-pounding geek speak designed to echo how much tech talk we can slap together. If you want to tell me something, tell me. Don't show me a picture nor read me the spec sheet.
  • A better solution for pretty boots would be to print "Installing whizzomatic driver v 3.14" when the driver starts to install, then after the installation is complete, printing "\r_________\r" to erase the line and go back to the start.

    This way, the message is only on the screen for the duration of the time the installation is running. If it hangs, you have a mea culpa sitting there. If it doesn't hang, but the next thing does, the whizzomatic is absolved.

  • When I boot Linux I see a little pic of Tux and a line saying something like "ABCXYZ Bogomips"

    According to Linus's definition, this information is useless. It doesn't help me debug anything and isn't necessary for the system. I think it's a cool thing personally, but I can undestand concern that this bootlog space would be used for spamming the Linux using community. And whenI say Linux using community I'm not talking about sysadmins who tweak out their systems to the utmost. You're not users guys, you're not the audience Linux needs to reach.

    Steven
  • Well I like the boot messages....At least you see what your computer is working on. A lot of modern computers show a bitmap while doing POST (Dell screen, Toshiba screen, Tulip screen, whatever...). I disable it when possible because I like to see my puter check it's memory, giving a report of IRQ usage, PCI bus stuff, SCSI finding the drives, etc...
    I just like to be informed...That's all...
  • Some readers are operating under lack of information.

    If you see "OK...OK...OK...FAILED...OK" when you boot up or "Pass...Pass...Pass...FAILED..." when you boot up, then you're thinking of the wrong messages. To see the messages Linus is talking about (the endless copyrights and chit-chat of the kernel) type 'dmesg' as root after a fresh boot.

    The status messages that give you an OK or a FAILED on a system-by-system basis are (in the most broad sense) init messages rather than kernel messages and are added by your distribution. These will not go away under the "new deal" Linus is proposing...
  • by Carpathius ( 215767 ) on Thursday June 28, 2001 @10:10AM (#122173)

    I didn't get that _at_all_ from what Linux said. Given that he first said that there weren't any extranious messages, I think that what he meant was that only those items of a completely non-useful nature would be removed.

    What does that mean? I think it means that stuff like:

    Jun 6 13:10:04 localhost kernel: hdc: ATAPI 1X CD-ROM drive, 32kB Cache
    eth0: PCnet/PCI II 79C970A at 0x1000, 00 50 56 8e 6e 4d assigned IRQ 9.

    will stay around. But stuff like:

    pcnet32.c:v1.25kf 26.9.1999 tsbogend@alpha.franken.de

    which (arguably) provides little information will go away.

    I really don't think there's any intent to take away boot messages.

    Sean.

  • by Xibby ( 232218 ) <zibby+slashdot@ringworld.org> on Thursday June 28, 2001 @09:54AM (#122185) Homepage Journal
    That what's being said is that the modules shouldn't be spitting out this information as part of their code, as modprobe could handle that function. It could then be turned on and off as needed. Makes sense to me, why does every kernel module need to have code in it to print out information when the software loading the modules could do it, it would then only be written once, could be configurable. (verbose level = X, or modprobe -v, modprobe -vv, modprobe -vvv, etc.)

    If it fails, print out a message "Module X failed to load. Noncritical error, continuing to load linux. Fix me if you dare."
  • by Fizzlewhiff ( 256410 ) <jeffshannon@@@hotmail...com> on Thursday June 28, 2001 @10:26AM (#122199) Homepage
    Everyone knows we never have reboot our Linux boxen anyway. ('cept to add new hardware of course.)
  • by bay43270 ( 267213 ) on Thursday June 28, 2001 @11:18AM (#122203) Homepage
    Attention, We-Want-Linux-On-The-Desktop crowd: Support this and help out, it is a big step in the right direction. To a consumer, diagnostic messages are confusing and pointless. Good point. The first time my brother saw my linux machine boot, he thought I had a problem. It never occured to me that Linux running correctly look just like the windows blue screen of death.
    -----
  • by Marcus Brody ( 320463 ) on Thursday June 28, 2001 @09:36AM (#122213) Homepage
    contacting host slashdot.org..... connected
    slashdot.org contacted.... waiting for reply
    downloading slashdot.org 10.5k/s
    document:done
    welcome marcus brody
    congratulations! you have moderator satatus...
    please go forth and moderate

    words speak a thousand pictures. so much so, we often take the information they contain for granted.

    what does some flying windows or clouds tell you exactly??
    well... if they freeze you know your computer has crashed.
  • by Marcus Brody ( 320463 ) on Thursday June 28, 2001 @09:48AM (#122214) Homepage
    Linus is saying that MS was right in hiding bootup information from the user and masking it with a pretty picture?

    Linus: "Let's make it policy that we _never_ print out annoying messages that have no useful purpose for debugging or running the system, ok?"

    Dont worry - Linus isnt going all Mac on us! As ever he is making more sense than your average hacker. I know what OS I'm running - and which kernel version, and even what modules im using. but yes some of this information is occasionly useful, and these are the bits that should be left. Maybe then they might not scroll off the screen so fast that we never read them anyhow.

  • by Flying Headless Goku ( 411378 ) on Thursday June 28, 2001 @10:10AM (#122222) Homepage
    Flying Headless Goku - version 0.8 (the other 0.2 would be the head)

    thinking of idea

    considering approaches

    initialization complete, beginning typing

    I dont' se e the protlem with verbose messages, you can just ignroe tem if you're not interested in what they say.

    spellcheck:
    dont': don't dent donut
    don't
    se: sea see is se.cx
    see
    e: a

    ignroe: ignore
    ignore
    tem: Tim term team them
    them

    finished processing!

    I don't see the problem with verbose messages, you can just ignore them if you're not interested in what they say.
    --
  • by WoofLu ( 459652 ) <slashdotNO@SPAMwoof.lu> on Thursday June 28, 2001 @09:48AM (#122237) Homepage
    Small precision on OSX:
    it has a verbose option ("Apple key+ v" at system boot) wich looks like good ol' *nix boot.

    And it supports color !

    I bet it can make coffee too =)

    --
    Arnaud Willem
    1st post of my life on /. =)

The most difficult thing in the world is to know how to do a thing and to watch someone else doing it wrong, without commenting. -- T.H. White

Working...