Slashdot Mirror


Migrating Device Drivers to the 2.6 Kernel

An anonymous reader writes "While it's all well and good to find out how to upgrade your kernel to 2.6, as this recent /. story pointed out, developers, especially device driver developers, might be more interested in the kernel's new device driver model. Over at Linux Devices, there's a new article on Migrating device drivers to Linux kernel 2.6. The short version: That little ole Hello, World! kernel module is a heckuva lot more complicated than it used to be."

269 comments

  1. whats the benefit? by tuggy · · Score: 0, Informative

    the article is just a bit too techie for me.. so whats the catch with this new stuff?
    will it help some more device manufacturers make "drivers" for linux?

    1. Re:whats the benefit? by Rostin · · Score: 0, Flamebait

      Exactly what I was thinking. I suspect about 1 in a 1000 people who read /. really understand what the article is talking about, and the intended audience is even more miniscule. I kindof have to wonder why this merits front-page treament. If the people who write device drivers for fun are waiting around for /. to post an article about how to do it for the new kernel, Linux is in a lot of trouble. I suspect it is just a type of geek self-congratulations for reading a site that features articles that are technically over their heads. "Did you catch that article over on slashdot about migrating device drivers to 2.6?" "Yeah, that was pretty interesting. I had no idea it would be different. It's important information for me in case I ever want to *smug* write a driver"

    2. Re:whats the benefit? by Anonymous Coward · · Score: 4, Funny

      I suspect about 1 in a 1000 people who read /. really understand what the article is talking about

      Who cares, that's the usual percentage of posters, who read the articles at all. Can't answer the rest of your reply - lost interest somewhere in the middle of it. I wanted to give you my 2 cents, but discovered that I'm a bit short on money today, sorry.

    3. Re:whats the benefit? by Anonymous Coward · · Score: 5, Funny

      Man, I miss the days when people who were interested in technology read Slashdot....

    4. Re:whats the benefit? by Anonymous Coward · · Score: 0

      the article is just a bit too techie for me.. so whats the catch with this new stuff?
      will it help some more device manufacturers make "drivers" for linux?


      How does this get modded up as "informative"? WTF is so informative about saying that an article on device drivers is too techie for someone? Cripes, looks like some idiot mod is playing whack-a-mole while "reading" /. again.

    5. Re:whats the benefit? by orthogonal · · Score: 5, Informative
      the article is just a bit too techie for me.. so whats [sic] the catch with this new stuff?
      will it help some more device manufacturers make "drivers" for linux?


      New device driver format. Is it good or is it whack?

      Basically, the article is explaining that by following certain conventions in the driver code, you allow the kernel a standardized way to load and use the driver.

      In other words, if you're going to make third-party Legos, make sure the nubbins on the blocks are the same size and wit the same spacing as the nubbins on Legos, if you want everything to fit together.

      The author of the article then inserts a plug for his company's software:
      If you are not using an integrated development environment such as TimeSys' TimeStorm that is capable of detecting kernel versions and automatically creating Makefiles that "do the right thing" for the 2.6 kernel, you will need to manually create Makefiles for your device drivers that are integrated into the kernel build process.


      He also explains that in cleaning up driver building for 2.6, somebody forgot that not everybody has write access to a copy of the kernel source, which 2.6 driver building -- whoops -- requires. This is simpler to get around, so long as you've got room for your own writable copy of the kernel source. This will prove annoying for people who build drivers by compiling them on certain *cough* Zaurus *cough* embedded devices (rather than cross-compiling) and who use something like cramfs.

      The article then spends a few paragraphs on where the real compatibility problems will be: 2.6 is lot different than 2.4 in a lot of internal processes, so if your driver made assumptions about any of that -- instead of being itself written in a layered way -- you're going to be making a lot of changes.

      (Ideally, you should write the driver so that one layer handles communication with linux, one layer handles communication with hardware, and one layer sits between the other two to "translate" and maintain state; this also makes porting the driver -- whether to 2.6 or another operating system altogether, -- far cheaper and easier. Programmer laziness, management short-sightness, or pre-mature optimization may however have driven you to write a monolithic driver.)

      Will this help more manufacturers make drivers for linux? Not really. If manufacturers cared about making linux drivers, they'd have already done it for 2.4. If they didn't care to do it for 2.4, they won't care to do it for 2.6.

      If you really want more manufacturers to make drivers, you have to do the following: get the phone number for investor relations at the company. Call up and ask them how much market share they've lost by not offering linux drivers, and explain that you're worried about the company's long-term prospects if it continues to ignore this growing market. explain that as a result you're going to be reducing you exposure in the company's stock in favor of their competitors who do offer linux drivers.

      (Since most companies are now run by managers whose compensation is based on short-term stock movement, and not long tern company growth, the companies hare increasingly deaf to the needs of customers, but alert to stock speculators and their stock price. Therefore I now recommend calling Investor Relations rather than Customer Relations if you wish to change a company's policies.)
    6. Re:whats the benefit? by Not+The+Real+Me · · Score: 2, Insightful

      Basically, writing a Linux driver for 2.6 is becoming more like writing a loadable module for Apache.

    7. Re:whats the benefit? by kingkade · · Score: 1

      I suspect you are a bitter, meglomaniacal dumbass

    8. Re:whats the benefit? by Anonymous Coward · · Score: 0

      whack-a-mole, makes modd'n fun

    9. Re:whats the benefit? by Rostin · · Score: 1

      That's an, erm, interesting suggestion... I guess you are talking about megalomania. Do you know what that big word means?

  2. uhh... by epiphani · · Score: 4, Insightful

    how is the extra added line of MODULE_LICENCE("x"); make the simple sided 2.6 kernel module substantially more complicated?

    --
    .
    1. Re:uhh... by Narchie+Troll · · Score: 5, Informative

      The build process is substantially different. Actually, it's simpler, provided you have a Linux source tree handy. But you can't develop your kernel modules just anywhere anymore.

      Actually, the license macro isn't even necessary, 2.6 is just bitchier about kernel taints.

    2. Re:uhh... by megabeck42 · · Score: 5, Informative

      I gotta just reinforce the fact that the new kbuild system makes compiling kernels outside of the build tree much easier.

      First of all, there's now a symbolic link from /lib/modules/.../build to the kernel source, further with kbuild, it handles all the dependencies and symbols, etc.

      Basically, compiling a module outside of the tree in the old 2.4.x was difficult and if you were using modversions, almost impossible - you need to have the kernel source and kernel configuration - its necessary anyways. Now, all I need to do is

      make -C /usr/src/linux-2.6.2 SUBDIRS=$PWD modules

      and voila, kbuild handles everything for me.

      --
      fnord.
    3. Re:uhh... by DebianRcksLindowsLie · · Score: 1

      Linux needs this. Without simplification and consistency, you end up with projects that fork and don't work on everything, they might as well be proprietary.

    4. Re:uhh... by jelle · · Score: 1

      "I gotta just reinforce the fact that the new kbuild system makes compiling kernels outside of the build tree much easier."

      Mee too ;-)

      I must add that things related to the wait queue(s) and kernel threads have become a lot easier to work with in 2.6 too.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
  3. Re:Upgrade now? by Anonymous Coward · · Score: 2, Informative

    That's why most people should wait for vendors to put out their 2.6 distros.

  4. If it means we're one step closer to... by rokzy · · Score: 4, Funny

    fully-functional ATI drivers (with newbie-proof installer), then I for one welcome our complicated-new-kernel overlords.

    1. Re:If it means we're one step closer to... by SHEENmaster · · Score: 4, Funny

      My best computer doesn't even have a framebuffer, you insensitive clod!

      --
      You can't judge a book by the way it wears its hair.
    2. Re:If it means we're one step closer to... by rebewt · · Score: 1

      So you are reading /. on an Altair? What is that like anyway?

    3. Re:If it means we're one step closer to... by Zakabog · · Score: 1

      I don't even have my own computer, you insensitive clod!

    4. Re:If it means we're one step closer to... by Anonymous Coward · · Score: 0

      Oh, man, what a 'statler and waldorf' moment...

      (hint: muppetshow, old geezers on the side balcony making semi-offtopic comments/jokes).

  5. Re:Upgrade now? by Michael+Iatrou · · Score: 2

    ONE WEEK?!?!?! Its a less-than-15-minutes process the whole thing! Less than 5 minutes flat if you had ever played with 2.5.40+

  6. Re:Upgrade now? by rebewt · · Score: 1

    I just upgraded 2 slackware 9 boxes to 2.6 It was easy. You must be using some odd hardware or are a newbie.

  7. Re:Upgrade now? by MarcQuadra · · Score: 4, Interesting

    Why did it take so long? I just upgraded all four of my boxes last night. It took five hours to upgrade them all.

    emerge development-sources
    cd /usr/src/linux-2.6.2
    make menuconfig ... set options and save
    make && make modules_install && cp arch/i386/boot/bzImage /boot/vmlinux-1.krnl
    reboot

    How hard is that? Are you running a 486 or something? Compiling took under 30 mintes on my 350MHz box.

    --
    "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
  8. Linux Device Drivers by rjoseph · · Score: 5, Informative

    Supposedly the third edition of Linux Device Drivers will be released soon, and will be geared towards 2.6 development (obviously). Anyone who's ever wanted/needed to do linux module programming should definitely take a look at this book, it's basically *the* reference.

    1. Re:Linux Device Drivers by wdebruij · · Score: 5, Informative

      I couldn't agree more. A month ago I started serious kernel programming and my code wouldn't have been what it is if I hadn't found out about the free, online version of the second edition.

      Some other useful sites :
      the Linux kernel API reference

      Linux cross reference, especially the `identifier search'.

      the driver porting series over at LWN.net (which Rufus211 alreay pointed out).

      the module init tools FAQ

      this document, aptly titled `the linux kernel'

      apart from these there are many more interesting links, but mostly those have to do with specialty domains, such as networking or memory management. I pasted my bookmarks.html to my personal website.

      And lastly, if you want to do cross-version /dev (mknod and devfs), mmap, module or networking development, please take a look at our project's cvs server through our website (webcvs) at ffpf.sourceforge.net. The directory ffpf/srv/v1.1/generic contains some files I created that work on both 2.4.24 and 2.6.1 and which I'll test on a 2.3.99 system shortly.

    2. Re:Linux Device Drivers by Anonymous Coward · · Score: 0

      Woah. Totally love that logo. With that one ray of light, splitting like a mofo into all the colours of the FREAKIN' RAINBOW MAN!

    3. Re:Linux Device Drivers by Anonymous Coward · · Score: 1, Funny

      That can't really be your bookmarks file. You mean to tell me you have no porn bookmarks at all?

  9. LWN by SecMF · · Score: 5, Informative

    LWN has some documentation on this for some time now: http://lwn.net/Articles/driver-porting/

  10. a lot more complicated ? by pytheron · · Score: 5, Informative
    From the article linked:-
    ...the most significant change to working with device drivers for the 2.6 Linux kernel are the changes in the build process described in the next section


    The only difference in the skeleton modules described in the article is a MODULE_LICENSE("GPL"); and a "return 0;".


    Breathtakingly difficult ! In fact, the only 'hard' part seems to be changing how (if at all) your module interacts with other kernel components ! If you wrote a module that utilises these aspects of the kernel, moving to a new API would not be that difficult.

    --
    "I am not bound to please thee with my answers" [William Shakespeare]
    1. Re:a lot more complicated ? by Anonymous Coward · · Score: 0

      spinlocks and mutexes, spinlocks and mutexes.

  11. LWN has far more depth by Rufus211 · · Score: 5, Informative

    There's a 30 article series over at LWN about porting drivers to 2.5/6 with both overview articles (like this hello world one) and specifics (like how the block layer changed).

  12. Re:Flamebait? Read the article, for $DEITY's sake. by Anonymous Coward · · Score: 0

    Substatiante your claims rather than making crack jokes. Looks like flamebait to me.

  13. Linux 2.6... by Ianoo · · Score: 5, Interesting

    Linux 2.6 really is the best thing since, erm, sliced bread. I've been helping my Linux friends install it on their machines this week, and the difference is rather noticable, to say the least. Hopefully it'll get in place across all the main distros pretty soon and the upgrade path will be easier for those who are afraid of recompiling for themselves (i.e. the vast majority if we want more Linux-on-the-Desktop use).

    One of my biggest problems with the current driver model is the poor-ish support for loading drivers across minor revisions. I prefer GPL, and agree with a lot of the idealogical reasons behind Free and open source software. Companies, OTOH, do not. We need companies to write device drivers, since the complexity of something like an nVidia GeForce GPU is simply too much for a small team of people to reverse engineer.

    One of the biggest problems at the moment is not being able to go to nVidia's website, download a precompiled binary module for your arch and load it into the kernel. Equally drivers off of a manufacturer's floppy or CD-ROM need to work this way too. Unfortunately it seemed that with Kernel 2.4, even a 0.0.1 difference in version number could mess things up and require recompilation. Has this been improved in 2.6?

    I think that this is the level of compatibility that needs to be achieved before we see more widespread support by the HW manufacturers. It seems like the guys over a freedesktop.org will have their work on a graphical driver loading system in place quite soon, so this part of the deal is essentially solved.

    1. Re:Linux 2.6... by The+One+KEA · · Score: 5, Informative

      Sorry, but it's not gonna happen. Linus has repeatedly stated that he will never modify the internal APIs of the kernel to make the maintainership of binary-only modules easier for hardware manufacturers. While this attitude may seem unfair and self-serving, it makes sense, and is not likely to change.

      Right now 3D graphics drivers for ATi and NVIDIA cards are the only sticking point in hardware support IMO. Just about every other major component has Linux support, if you do careful research before buying.

      --
      SCREW THE ADS! http://adblock.mozdev.org/ Proud user of teh Fox of Fire - Registered Linux User #289618
    2. Re:Linux 2.6... by Anonymous Coward · · Score: 1, Informative

      I've used 2.6 on my desktop since the 2.6.0 test series.

      But on my Thinkpad T20 notebook... try getting 2.6 to work nicely with APM, PCMCIA and ALSA sound with the power suspend feature. Yikes! You have to turn off yenta (PCMCIA) to get into suspend and rmmod and re-modprobe ALSA after suspend to get your sound back. I tried working with the person involved with APM but I ran out of steam when I needed to edit a bunch of code in the kernel code.

      2.4 works fine.

    3. Re:Linux 2.6... by be-fan · · Score: 4, Interesting

      NVIDIA cards, anyway, have excellent Linux support. Thanks to the fact that the NVIDIA drivers use a portable core anyway, they seem to be having no problem keeping up with the kernel.

      --
      A deep unwavering belief is a sure sign you're missing something...
    4. Re:Linux 2.6... by betelgeuse-4 · · Score: 1

      the complexity of something like an nVidia GeForce GPU is simply too much for a small team of people to reverse engineer.

      I don't entirely agree with this, look at what samba has achieved. But obviously the best solution would be for nVidia, ATI etc. to write open source drivers so the community could help maintain them, or give the linux community the information needed to write the drivers.

    5. Re:Linux 2.6... by pe1rxq · · Score: 1, Insightful

      They don't have linux support, period.
      They only have a x86 binary only driver and some newbie fans going crazy because they can run quake with accelerated 3d on their system.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    6. Re:Linux 2.6... by DAldredge · · Score: 5, Insightful

      You know that is a shock to all those that run high end OpenGL apps on linux, apps like 3D modelers and highend CAD/CAM apps.

      And face it, x86/AMD64 are the main platforms that Linux is used on.

    7. Re:Linux 2.6... by jbr439 · · Score: 5, Interesting

      My understanding is that Solaris/SunOS has a driver API/ABI that allows forward compatability of drivers across OS versions. The advantages of this are quite obvious. I also understand Linus and others are dead set against this sort of thing.

      However, at the risk of sounding incredibly naive, would it be possible to create a Linux module that presents a forward compatible API/ABI that other modules could be coded against? An abstraction layer, if you will. Thus, on upgrading the kernel, the only thing that would require a recompile (and possibly a rework) would be this uber-module. NVidia drivers, etc would be coded against this module's API/ABI and thus they themselves wouldn't require rework/recompilation.

      Now there are probably good reasons why this can't be done, but I thought I'd throw it out here and watch it be shot down.

    8. Re:Linux 2.6... by iamplupp · · Score: 2, Interesting

      a solution to the sound problem that works for me (however a bit ugly) is using the OSS sound module.

    9. Re:Linux 2.6... by tunabomber · · Score: 5, Interesting
      Thanks to the fact that the NVIDIA drivers use a portable core anyway, they seem to be having no problem keeping up with the kernel.

      That's interesting. I'm sure I'm not the first person to come up with this idea, but I wonder how easy it would be to create a compatibility layer between the kernel and the modules that accepts a common binary format for the entire life of a kernel release (or maybe all kernel releases?).

      Then you'd only have to port the layer to the newer kernel revision, and all the old binary drivers would work right away.


      If it could be done, it would be a cool hack in league with that module that allows you to run windows drivers (most notably the NTFS driver) in the Linux kernel. IIRC, the performance of this arrangement sucked, but I wouldn't expect it would be as much of a problem with an abstraction layer for Linux binaries since the difference between a Windows DLL and a kernel module is much bigger than the difference between a 2.4.16 kernel module and a 2.4.24 kernel module.

      --

      pi = 3.141592653589793helpimtrappedinauniversefactory71 ...
    10. Re:Linux 2.6... by agrippa_cash · · Score: 1

      Forgive my ignorance, but isn't a microkernel supposed to do something like this (not with the Windows drivers, but act as a somewhat static interface with dd's)?

    11. Re:Linux 2.6... by rsmith-mac · · Score: 3, Insightful

      This may be true, and Nvidia may even have a rather handy work-around for the issue, but things like portable cores are just that: a work-around. As it stands right now, very few companies offically offer much Linux support, and we're not just talking 3D graphics here. NICs, sound cards, SCSI cards, and just about every other piece of hardware out there has large swaths of products that are incompatible with Linux, and binary-driver issues have a lot to do with it.

      Hardware companies love Linux, and they want to support Linux, but they also have limits to how far they're willing to go; many are not willing to sink resources in to creating drivers that either are difficult to install, or involve exposing their valuable IP. If companies could just have a way to write a binary Linux driver that will "just work," and work for most people, just like it does with Windows and OS X, then that provides a big carrot to them to provide the driver and get the sales. The lack of a binary option makes things more costly to them and more difficult for them, and that deminishs the value of a sale.

      Ultimately, the lack of a binary driver interface scares away users and companies alike, and if Linux wants to do better than a niche, and do better than Windows, then it needs to be friendly to everyone, not just the OSS crowd. Some day, Linus is going to have to make a descision between ultimately limiting Linux to the hobbyist, or letting it truely grow to become a popular, de-facto OS; and it's binary drivers that are going to help make the difference.

    12. Re:Linux 2.6... by spray_john · · Score: 1

      Just imagine if the ABI was stable. If, as proponents of the idea imagine, many manufacturers had jumped in and written wonderful drivers for the 2.4 kernel, then where would we be now?

      Rather than moving swiftly on to the 2.6 kernel as the community in general (including commercial distributors) is doing, we would have hordes of people saying "That's all very well, but I need [blah] driver! I'm staying with 2.4!". All those people stuck on 2.4 would want all their new features from 2.6, so 2.4 couldn't be stabilised without pissing off a whole bunch of people, XFS style.

      So yes, we sacrifice binary compatibility. But it's well worth it. The fact is that for almost all types of hardware there is something available that does the job well with linux. Incompatible hardware is a migration issue, not a fundamental problem.

      All of that aside, it's rather a good way of levelling the playing field with a competitor who vets third party drivers before digitally signing them. The only way for the free software community to do the same is to force drivers into the open.

    13. Re:Linux 2.6... by caluml · · Score: 1
      "Right now 3D graphics drivers for ATi and NVIDIA cards are the only sticking point in hardware support IMO. Just about every other major component has Linux support, if you do careful research before buying."

      At home, I don't have a 3d GFX card. At work I tried the NVidia drivers, and I got strange lockups, and display corruption. So although I'd love to go out and buy a nice spanky 3D card, I'm certainly not doing it unless there are open source drivers for it. It's not an anti-closed source stance I'm taking - although I really really hate to use something that the source isn't available for - it's just a stability issue. When a computer crashes, it's really annoying. (I wish the would stop changing the power supply at work too - I haven't got over 100 days uptime recently :( )

    14. Re:Linux 2.6... by be-fan · · Score: 1

      Well, that's what Linux uses. There is a little bit of code (source-available) that encapsulates all the kernel-level differences between Linux kernel versions, BSD, and Linux.

      --
      A deep unwavering belief is a sure sign you're missing something...
    15. Re:Linux 2.6... by be-fan · · Score: 1

      Get over yourself. Its not perfect Linux support, but its good enough in my book. I'd be more willing to support the OSS-hardliner position on this one if there were OSS 3D drivers that didn't suck, but there aren't, so I'm not.

      And the majority of people who care about 3D on Linux aren't gamers anyway. NVIDIA supports 3D on Linux the way they do because the professional 3D workstation market (eg: ILM, etc) finds Linux + Intel + NVIDIA a very attractive value proposition.

      --
      A deep unwavering belief is a sure sign you're missing something...
    16. Re:Linux 2.6... by foonf · · Score: 3, Insightful

      We need companies to write device drivers, since the complexity of something like an nVidia GeForce GPU is simply too much for a small team of people to reverse engineer.

      You have created a false binary opposition here. From reading this one would assume that the only alternatives were a reverse-engineered driver written by hobbyists, or a proprietary binary-only driver from the vendor. They are both bad choices, and the vast majority of kernel drivers are built on neither model. They are written as free software either by the manufacturer, or by outside developers based on specifications provided by the manufacturer. A driver from nvidia is only "necessary" because for 5 years they have refused to release any kind of meaningful specifications to driver developers, and they can't really release the source to their own driver because they don't own most of it.

      This is actually a step backwards from the historic pattern of support for graphics cards under Linux. Since the first accelerated X11 server for S3 chipsets from 1992 or so most manufacturers were willing either to release specifications, or actually commision outside developers to write open-source drivers for their hardware. When almost all major video chipset makers (with the exception of nvidia) supported Precision Insight's work developing the DRI infrastructure, there was actually a short time where a large fraction of common video hardware was completely supported, out of the box, including accelerated 3D, by a typical Linux distribution. This was BETTER than the typical support pattern for Windows; no need to mess around with downloading drivers or loading them off of vendor CDs, if the distribution had a properly configured kernel you just installed it and it worked. Unfortunately most of the cards with working DRI drivers are basically obsolete now, aside from some low-end ATI Radeon models. This is how hardware should work in Linux, and for some things like ethernet cards and SCSI adapters it basically does.

      The problem is that ATI and nvidia do not understand how to properly support free operating systems, and until they do this "problem" is going to persist. Developers are willing to sign NDAs to gain access to these specifications, and if hardware companies would agree to this there would be no need to port their own precious code at all, much less put up with constant whining to open-source it.

      --

      "(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
    17. Re:Linux 2.6... by Erwos · · Score: 1

      You've never used the DRI drivers for the Radeon 7xxx series. Those things are about a hundred times worse than the nVidia ones.

      Open source is no guarantee of quality.

      -Erwos

      --
      Plausible conjecture should not be misrepresented as proof positive.
    18. Re:Linux 2.6... by deadite66 · · Score: 1

      i agree with you there. i want to move my server over to linux but while their are no linux drivers for my modular tech pci dab card i can't. if their was an easy way for manufacturers to develop binary only drivers for linux the situation may have been different. if linux want's to go mainstream and come out of the server room linus will have to compromise.

    19. Re:Linux 2.6... by tzanger · · Score: 1

      What highend CAD/CAM systems are available on Linux? Anything close to Mechanical Desktop for 2D and Inventor for 3D?

    20. Re:Linux 2.6... by nihilogos · · Score: 1

      They only have a x86 binary only driver and some newbie fans going crazy because they can run quake with accelerated 3d on their system.

      AFAIK they will work on PPCs so long as you aren't using an Apple flat panel. Or are you trying to insert the card into an alpha?

      --
      :wq
    21. Re:Linux 2.6... by catenos · · Score: 3, Insightful

      if linux want's to go mainstream and come out of the server room linus will have to compromise.

      "If Linux wants" again. Linux doesn't want anything than being useful to those who want to run Linux (see Linus' interviews...). The (grand-)parent poster was right: If you want to run Linux, there is usually no problem to find hardware that is supported without the need for proprietary drivers (the exceptions being GFX cards and hardware niche uses).

      Yes, it's a problem if you want to migrate your existing hardware. But that hardware will stay usable only for so long. After that, if you really do want to run Linux, you know to check the hardware compatibility before you buy the replacement.

      --
      Keep an eye on which arguments are silently dropped in replies. Not always, but often times it's very telling.
    22. Re:Linux 2.6... by Anonymous Coward · · Score: 0

      Actually instead of low-end home-user applications, NVidia is looking at the high-end professional graphics and animation market (ok, games too). Shrek, Shrek2, Lord of the Rings 1,2,3 produced by SKG Dreamworks and Weta Digital all run Linux (on both the front end artists workstations and back end rendering). Industrial Light and Magic is rendering Star Wars on Linux. Those are the 'high-end' applications you were looking for.

    23. Re:Linux 2.6... by ComputerSlicer23 · · Score: 2, Interesting
      In cases where it is relatively easy they do. However, in cases where it's hard, they don't. Think about this:

      In 2.2 kernels, it was legal to call function "foo" from interrupt context. However, in 2.4 kernels, foo calls sleep which means it's illegal to call from interrupt context (I'm making this up, it's my understanding that certain things can't be done from interrupt context). You have a module that calls the function "foo" from the interrupt context.

      Now you are in trouble. How do you code around that in a compatiblity layer. Do you have a version of "foo" that doesn't sleep? If you did, why not just use it instead of the one that does? I suppose you could re-write a special version of "foo", but how do you mangle the symbols of the module so that they call your capatibility foo?

      Essentially, you promise to do all the work the kernel hackers are saying it's a bad idea, because, it either leads to a ton of duplicated functionality (foo implemented multiple times), or it leads to tons of interfaces that are set in stone (can't change the signatures or semantics because it would break drivers). The developers really couldn't care less that their changes create problems for you. They've got their own giant tarball of code to maintain. It's probably causing them more problems then it does you.

      Kirby

    24. Re:Linux 2.6... by sjames · · Score: 1

      However, at the risk of sounding incredibly naive, would it be possible to create a Linux module that presents a forward compatible API/ABI that other modules could be coded against?

      It is possible technically. The question is more one of desirability. Binary drivers are not fixable,they will either work or not. They might destabilize the whole system.

      Remove the barriers to binary modules, and all you'll get is binary modules. Soon after, it'll be necessary to require modules to be cryptographically signed to keep the junk out.

      The whole idea is to reward GPL and BSD licensed drivers. It is fairly common when a company does decide to release a GPL driver for a kernel maintainer to adopt it at some point and turn an OK driver into a good solid driver.

      Binary drivers have already become a problem for the process of debugging the kernel. It got bad enough that it was necessary to add the tainting system so that an OOPS dump reports when the kernel is tainted so the maintainers will know not to waste their time chasing bugs that are probably inside the binary blob that they can't fix anyway. If everyone runs binary drivers, there will be no more debugging the kernel.

      There is no reason a company can't release a GPL driver if they begin the design process with that in mind. If they're really concerned about leaking IP by publishing a datasheet on their hardware, they should hide the IP in the hardware and design it to present a more generic register level interface that they CAN publish.

      In the case of video chips, all of the secrets seem to be in the process of initializing the chip. Once initialized, they present a generic interface. Decently designed chips would self init so that they come up presenting the generic interface. If they did that, drivers and datasheets wouldn't be an issue and their IP would be safe.

      Interestingly, the binary only policy doesn't really help as much as they imagine. If a compeditor really wants to RE the chip, they'll disassemble the ROM and use a bus analyzer to watch the binary driver in action.

      If/when they do that, they'll design THEIR chip to present a generic interface to hide the reverse engineering. It won't be discovered unless someone expends the much greater effort of slicing the chip apart layer by layer under an electron microscope.

      In the case of video chips, this process would be exceptionally easy since they already have a processor on board. That processor may be specialized for graphics, but it CAN perform general computation as long as performance isn't the issue (and so what if it executes 300 or so instructions slowly on power up, it'll still be initialized in a small fraction of a second).

      I predict that as Linux becomes more common, video hardware will switch to that strategy.

    25. Re:Linux 2.6... by Anonymous Coward · · Score: 0

      Pro/ENGINEER
      The ADINA System
      Just do a google search for CAD linux commerical.

  14. Re:Upgrade now? by Anonymous Coward · · Score: 4, Interesting

    The parent is not a troll. I've had a lot of problems with the 2.6 kernel CRASHING upon bootup. Unfortunately, the kernel panic message is too long and not enough of the error message is left on the screen is useful enough to figure out where the problem occurred. The problem usually goes away when I go back through menuconfig and turn off all drivers that I know I won't be using. I'm not sure why 2.6 is much more finnicky about configging it than 2.4.x, was it the low latency modifications? Running the kernel with pre-emptive threads? I don't know. Also, 2.6 SCREWS with the way some drivers behave, namely /dev/psaux (which now, unhelpfully, mixes not only PS/2 mouse events with events from, say, a WACOM tablet) and the USB event subsystem which now ennumerates non-USB devices. Good luck getting XFree86 to access your input devices propertly on 2.6!

  15. 3rd party modules: kernel tainted by svu · · Score: 1

    I tried ndiswrapper, I tried some winmodem module (claimed to support 2.6!) - whatever I do, there is no struct_module version, so I get "kernel tainted" message. Anyone knows how to fight this?

    1. Re:3rd party modules: kernel tainted by Daath · · Score: 2, Informative

      Don't worry about it, it's just a message indicating that some module in your kernel is not GPL. I'm using Linuxant's DriverLoader, it taints the kernel too of course. Still works beautifully though ;)

      --
      Any technology distinguishable from magic, is insufficiently advanced.
    2. Re:3rd party modules: kernel tainted by glitch! · · Score: 4, Informative

      The "tainted" message just means that the module does not claim to be GPL. As a practical matter, you can just ignore the "tainted" message. If you are concerned about whether modules are GPL or not, then you may find the message useful.

      --
      A dingo ate my sig...
    3. Re:3rd party modules: kernel tainted by svu · · Score: 1

      Unfortunately it is not "just a message" about the licensing problems. It is some indication of the improper build process - literally, missing version tag of some important kernel structure:

      kernel: ndiswrapper: no version for "struct_module" found: kernel tainted.

      And the machine DOES crashes after inserting these broken modules (which worked ok in 2.4 world).

    4. Re:3rd party modules: kernel tainted by svu · · Score: 1

      This is not a licensing problem:

      kernel: ndiswrapper: no version for "struct_module" found: kernel tainted.

    5. Re:3rd party modules: kernel tainted by Anonymous Coward · · Score: 0

      Maybe if you'd posted the proper error message the first time around you'd have gotten a proper answer. Why don't you try asking on the LKM (And this time, provide proper details & error messages)

  16. I don't understand by BigBuckHunter · · Score: 0, Redundant

    I run Gentoo and choosing to run 2.6 hasn't "broken" any of the 2.4 style modules that I use. ALSA still works, my NVidia driver still works (I needed the minion.de mod for a few of the releases). Is anyone able to point me to a module that broke between 2.4 and 2.6 that wasn't fixed with a three line patch?

    BBH

    1. Re:I don't understand by yacineparis.com · · Score: 0

      With Gentoo it's very easy to upgrade to 2.6.
      Compile kernel, emerge nvidia-kernel. But with redhat, I had a lot of trouble. At first I could'nt even run the installer.

      --
      Yacine.
    2. Re:I don't understand by chgros · · Score: 3, Informative

      Is anyone able to point me to a module that broke between 2.4 and 2.6 that wasn't fixed with a three line patch?
      OpenAFS.
      The reason I'm still using 2.4 :-(

    3. Re:I don't understand by Anonymous Coward · · Score: 0

      True. And a lot more.

      Try using module-assistant and select some modules under 2.6. A lot of them won't compile. A lot i don't need either ;)

  17. This may be impolitic, but... by InterruptDescriptorT · · Score: 5, Insightful

    One of the good things about Microsoft Windows is that is you've written a driver for Windows 98's to the WDM standard, it's still pretty much supported under Windows 2000 and Windows XP. That is to say that there isn't a lot of retrofitting that needs to be done to get a legacy driver working under the latest Microsoft OS.

    Linux, on the other hand, seems to think it's OK to make developers retrofit their code when they don't like the ad hoc design that the OS contributors came up with. This coupled with issues (questions?) of compatibility with things like the GNU C runtime libraries really must make it frustrating to do any serious development on Linux. (Feel free to rebut--it's been a long time since I've been active in Linux development.)

    Still, I think it's a testament to Microsoft that an .EXE can run under Windows 95, 98, 2K and XP and most of the time, it's just going to work. You can't say the same about versions of Linux.

    --
    Karma: Excellent Birds (mostly as a result of listening to Laurie Anderson)
    1. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      I believe you're talking about _user space_. Yes, you can run a Win32 PE EXE under WIn98 as well as under Longhorn.
      But you're not going to use a VXD driver written for Win98 on Longhorn. AFAIK not even a WDM one.

    2. Re:This may be impolitic, but... by Monkelectric · · Score: 4, Informative

      Ummm WTF are you talking about? The Win32s are FILLED with functions that only work on a specific platforms or are buggy on ceartin platforms making them unreliable. Its only plain vanilla applications that work on any platform -- and you'll find alot of code in there that says if(WINDOWS_VERSION == 98) {} elif (WINDOWS_VERSION == 2000) -- thats not really cross platform compatibility.

      --

      Religion is a gateway psychosis. -- Dave Foley

    3. Re:This may be impolitic, but... by The+One+KEA · · Score: 5, Informative

      Sorry, but what you envision is never going to pass. Linus has repeatedly stated that he will not permit the modification of the Linux kernel source in order to cater to the maintainers of binary-only modules. If they refuse to *PL their code, then they must shoulder the burden of maintainership until such time that they do decide to *PL it.

      It would be nice if the code allowed this, but since it doesn't, all we can do is carefully research the support and drivers that do exist and are available for the latest and greatest hardware, before we buy them.

      --
      SCREW THE ADS! http://adblock.mozdev.org/ Proud user of teh Fox of Fire - Registered Linux User #289618
    4. Re:This may be impolitic, but... by avdp · · Score: 1

      An .exe (with or without that extension) will probably also work between version of Linux just fine, as long as you have the various compat libraries installed.

      Drivers, however, are a whole different story, and I seriously question you assertion that a driver written for windows 98 (or whatever) will "pretty much" work on windows 2000 (or whatever). Having done various upgrades of Windows over the years (both at work and home) I have yet to ever see this working. If I did, I would not trust it - and neither would Microsoft.

    5. Re:This may be impolitic, but... by Rasta+Prefect · · Score: 1
      One of the good things about Microsoft Windows is that is you've written a driver for Windows 98's to the WDM standard, it's still pretty much supported under Windows 2000 and Windows XP. That is to say that there isn't a lot of retrofitting that needs to be done to get a legacy driver working under the latest Microsoft OS.

      What version of Windows have _you_ been running? I've got quite a few drivers that work just fine under 98 and break in XP/2000. Including a couple for which there are no XP/2000 drivers..(stupid scanner)

      Still, I think it's a testament to Microsoft that an .EXE can run under Windows 95, 98, 2K and XP and most of the time, it's just going to work. You can't say the same about versions of Linux.

      I don't know, I mostly don't have a problem running Linux binaries I aquire elsewhere running on Linux. No more than I have say, running my old games...

      --
      Why?
    6. Re:This may be impolitic, but... by yacineparis.com · · Score: 0

      Sometimes, windows forgets drivers. I had to re-install my USB-modem three times. Then I got a Ethernet modem and started running Linux.

      --
      Yacine.
    7. Re:This may be impolitic, but... by scotch · · Score: 5, Interesting
      Still, I think it's a testament to Microsoft that an .EXE can run under Windows 95, 98, 2K and XP and most of the time, it's just going to work.

      If the .exe is statically linked perhaps, otherwise, you're going to have all kinds of library problems when moving the sam app between win 95, win 98, win 2k, and win XP. Keep in mind for earlier OSes in the chain, apps frequently shipped with their own shared libraries causing other apps or even the whole system to break.

      I'm not sure about device drivers for Windows, but I would be suprised if there weren't problems with using win 95/98 device drivers with win XP.

      Not to say that updading linux is painfree, I just think you're overstating the case for microsoft products. C library upgrades aren't a big deal, most distros contain compatibility libraries for older versions. There were some serious issues with libc upgrades, but that was years ago. It's really a non-issue in my development experience. Other libraries cause more headaches than libc.

      Attn Mods: How a post that intends to comment on the strain imposed on developers for linux kernel and libc upgrades and also says this "it's been a long time since I've been active in Linux development" can get modded up to +5 informative is beyond me. Insightful or perhaps inciteful, but not informative.

      --
      XML causes global warming.
    8. Re:This may be impolitic, but... by Anonymous Coward · · Score: 1, Insightful
      Linus has repeatedly stated that he will not permit the modification of the Linux kernel source in order to cater to the maintainers of binary-only modules. If they refuse to *PL their code, then they must shoulder the burden of maintainership until such time that they do decide to *PL it.

      Hence one of the main reasons Linux will never be more than a hobbyist OS. There's nothing wrong with that though, I wish more newbies would stay away and go use Windows. Linux used to be a nice hacker's OS and now it's just catering to lamers.

    9. Re:This may be impolitic, but... by yacineparis.com · · Score: 0

      Even if they're difficult to write, modules are much easier to use... You can start / stop them, install / uninstall them very easily.

      And programs don't always run on all windows versions.

      --
      Yacine.
    10. Re:This may be impolitic, but... by Repugnant_Shit · · Score: 2, Informative

      Windows 9x/Me drivers don't work at all on Windows XP. What the hell are you smoking?

      EXEs are completely different from drivers, and drivers do NOT migrate from 9x to NT kernels.

    11. Re:This may be impolitic, but... by Anonymous Coward · · Score: 2, Informative

      Linux, on the other hand, seems to think it's OK to make developers retrofit their code when they don't like the ad hoc design that the OS contributors came up with.

      That's not true at all. Any interested party with the knowhow can download the kernel source, fix up an obsolete driver, and send a patch in.

      What's that? It doesn't work when you want to keep your sourcecode private and out of the hands of the developers? Fine, but don't expect help porting, or crufty workarounds to maintain the outdated interface you use.

      One of the benefits of open-source is that you don't have to put so much work into maintaining things. If a company open-sourced their drivers and their products were used by more than just a few people, they wouldn't have to worry about maintenance.

      This coupled with issues (questions?) of compatibility with things like the GNU C runtime libraries really must make it frustrating to do any serious development on Linux. (Feel free to rebut--it's been a long time since I've been active in Linux development.)

      libc issues were resolved a long, long time ago.

      Still, I think it's a testament to Microsoft that an .EXE can run under Windows 95, 98, 2K and XP and most of the time

      Hang about, we're talking about device drivers, not applications. It's a completely different ball-game.

    12. Re:This may be impolitic, but... by dackroyd · · Score: 2, Insightful


      Fark off - USB devices didn't exist on Windows 95 and had a major revision between Windows 98 and Windows 98SE.

      This is particularly annoying as the driver installer only checks for Windows 98 and then doesn't check for which edition it is - so you can completely trash the Windows cache of drivers and be unable to uninstall the incorrect version.

      --
      "Free software as in beer, copy protection as in racket" - Telsa Gwynne
    13. Re:This may be impolitic, but... by x_man · · Score: 4, Interesting

      Having done driver development for both Windows and Linux, each OS has their plus's and minus's:

      Windows good:
      With some effort, my USB networking driver is binary compatible with Win98 through WinXP. This is really awesome because I don't have to spend a lot of time re-writing and re-compiling drivers. For the customer, it just works.

      Windows bad:
      Writing drivers for Windows is like working on your car with the hood welded shut with only a 12-inch diameter hole cut into the top. Driver writing is EXTREMELY complex on Windows. MS tries to hide everything from you with convoluted callbacks and opaque data structures. My first USB networking driver took me two months just to get a basic skeleton running. On Linux, the same driver took me two weeks to completely finish and I'd never written a driver for Linux before.

      Linux good:
      Driver writing is soooo much easier and intuitive (at least for the 2.2/2.4 kernels). One .c file pretty much does it all

      Linux bad:
      Having to recompile for every kernel just bites. I understand and agree with Linus's reasoning for encouraging open source driver development. Alas, the company I work for doesn't.

      So overall, I'd say the Linux driver model is superior for developers but ease of use is what drives mass-adoption of a product. I guess it just depends on your target audience. Our Linux user base, while vocal, is insignficant compared to Windows and even Mac so guess which driver I spend most of my time working on?

      X

    14. Re:This may be impolitic, but... by Richard_at_work · · Score: 1

      Its not just Binary modules that suffer. Think of the amount of man hours that go into maintaining the current GPLed modules to allow usage in newer versions of kernels, its horrendous amounts. Yes its free labour, but that labour could be going to providing more features, code cleanups, auditing, anything but keeping older code working because the kernel coders want to cripple binary modules.

      Yes, a fixed module API across versions would benifit binary modules, but it would also have massive benefits for the GPLed modules out there that more than outweigh the downside of having binary modules. Dont ever think that something done to harm one side leaves the other side untouched.

    15. Re:This may be impolitic, but... by iantri · · Score: 1
      However.. there are only four versions of Windows device driver coders need to worry about.. 98/98SE, ME, 2000, and XP.

      Unfortunately, a driver for kernel 2.4.18 may not work out of the box on kernel 2.4.19, 2.4.20, 2.4.21, 2.4.22, and so on..

    16. Re:This may be impolitic, but... by Anonymous Coward · · Score: 1, Informative

      Windows 95 OSR2 had a usb patch available from Microsoft. The file was called usbsupp.exe I think.

    17. Re:This may be impolitic, but... by Anonymous Coward · · Score: 1, Funny

      Really? What can't you hack anymore? Please, do tell.

    18. Re:This may be impolitic, but... by pe1rxq · · Score: 4, Insightful

      And we would have to suffer our mistakes for eternity to come....
      The reason the API changes is because of improvements, not some secret desire to make live hard on other people....

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    19. Re:This may be impolitic, but... by pe1rxq · · Score: 1

      And it was basicly for mouses and keyboards.
      I don't think anybody ever did anything more with it...
      Its API also wasn't compatible with the later ones so writting a single unified windows driver still doesn't go...

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    20. Re:This may be impolitic, but... by JPriest · · Score: 1
      Linux breaks drivers with every version release. 9x and NT are more than just a version change, they are a different operating system. 9x was a monolithic kernel, NT/2K/XP are on a microkernel.

      I did upgrade one machine from 9x to 2k and I remember that I used some of the same drivers. I regularly install some of the same packages on NT/98/2k/XP without a hitch.

      Backwards compatibility on Linux is pretty much non-existant, requiring some packages to be built for just about every version of every distro.

      Anyway that argues that this is somehow not the case is simply living in a distorted reality. And anything they say is to be taken with a grain of salt.

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    21. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      Unfortunately, a driver for kernel 2.4.18 may not work out of the box on kernel 2.4.19, 2.4.20, 2.4.21, 2.4.22, and so on..

      Are you sure about that? The theory is that even minor numbers receive bug fixes only. If you'd said "a driver for 2.5.18 may not work on 2.5.19" I wouldn't question it for a moment, but I didn't realise that breakage occured within "stable" branches as well.

    22. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      agreed

    23. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      > Hence one of the main reasons Linux will never be more than a hobbyist OS. There's nothing wrong with that though, I wish more newbies would stay away and go use Windows. Linux used to be a nice hacker's OS and now it's just catering to lamers.

      Really? What can't you hack anymore? Please, do tell.

      Very valid point

    24. Re:This may be impolitic, but... by Richard_at_work · · Score: 1

      No, the API changes way too much. You do not ever need to make an API totally incompatable with previous versions to add stuff to it, ever heard of backwards compatability? Indeed, add a second API that can be used, deprecate the old one, and add warnings that it is to be discontinued in the next major release of the kernel, it isnt hard. That way you only have an old and new API hanging around at anyone time, and modules work a lot longer with less work than the current situation.

    25. Re:This may be impolitic, but... by Anonymous Coward · · Score: 1, Informative

      But that's not the point, you are totally sidestepping the issue.

      The OP says win32 is so stable huge amounts of applications and drivers are binary-forward compatible.

      This is simply false. My most recent problem with this was a card reader that stated it worked with SE/98, XP and 2K, yet did not work with 2K. Had to go to the site and download the updated driver.

      I don't mind doing that, just making the point that the original claim of extensive forward-binary compatibility, at the application and driver level, on the win32 platform, is fairly specious and entirely dependent on the software package under consideration.

      Linux probaby doesn't have as much compatibility, but it's not as black and white as the you Windows Zealots try and make it.

    26. Re:This may be impolitic, but... by Richard_at_work · · Score: 1

      There were several non MS USB subsystems released for win95, most of them with a fair few drivers, and at least one took the 98 version drivers with a special installer for them.

    27. Re:This may be impolitic, but... by amerinese · · Score: 2, Insightful

      Linus's decision sounds quite inconsistent with the principles of free software and customizability. What do I mean?

      Well, Linus doesn't like binary only because he believes in free software--and what if someone didn't like the provided driver and wanted to hack it?

      Sounds like the same deal with the kernel. He, based on personal preference, refuses to make it easier for binary only drivers to remain compatible with the kernel. And you might consider, well, can jane_hacker roll her own kernel? Yeah, sure, but no manufacturer is going to support that and rewrite their driver for you.

      There are means for control beyond copyright law, lawsuits, and binary only code... sitting in the middle of the Linux development network with the power to make one-handed decisions like that due to past development work (i.e. I created this shit so I will keep on making the important decisions) is also a level of control.

      Linux has many characteristics that make it way different than our favorite whipping boy MS Windows. But, maybe some things are still the same.

    28. Re:This may be impolitic, but... by pe1rxq · · Score: 1

      You forget that you need somebody to keep this old API up to date. As the internals are changing this will keep getting harder and harder.
      You end up with a lot of cruft nobody really wants anything to with only to make it easier on some companies that aren't really getting the filosophy behind linux and free software.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    29. Re:This may be impolitic, but... by Dwonis · · Score: 1

      Yeah. Who needs simplicity...

    30. Re:This may be impolitic, but... by M.+Baranczak · · Score: 2, Informative

      At my last job, we had to get rid of a perfectly good Lexmark inkjet printer because the driver wouldn't work with Win XP, and the company was no longer developing new drivers for it. Ironically, I think there was a reverse-engineered Linux driver available (switching to Linux was NOT an option, unfortunately).

      Almost all Linux applications work just fine under different kernels. Device drivers are a different story, though. I don't think Linux is much better or worse than Windows in this regard.

    31. Re:This may be impolitic, but... by iantri · · Score: 1
      You are mostly right in regards to forward-compatibility.

      A driver for Windows 95 will PROBABLY work for Windows 98 and vice versa, a driver for Windows 2000 will PROBABLY work with XP, and vice-versa.

      My point was (I admit now, after reviewing the parent, slightly off-the-topic) that support for Windows is much easier for vendors to provide due to the few versions they need to support.

      P.S. I am not a Windows zealot.

    32. Re:This may be impolitic, but... by The+Vulture · · Score: 3, Informative

      Yes, Linus is against binary-only modules. He also states that he will not put a mechanism in place to make it easier for programmers of binary-only modules.

      But, the kernel is released under the GPL, he can't stop you from writing an ABI that allows you to do this. So, while he doesn't want do the work for you, he gives you the freedom to do it if you wish. I don't see how he's inconsistent with the principles of free software. He just doesn't want to do it, nor does he have to.

      If jane_hacker can't roll her own kernel, that's not Linus' problem. He gives you the kernel, what you want or are able to do with it is your problem, not his.

      Maybe if you offered Linus (or somebody else with the skills) some money to write code that creates a standard ABI to make binary-only modules work, some work would be done on it.

      As a final note, Linus started the kernel, it's only fair that he should be in control. If you don't like his level of control, then the GPL gives you the freedom to fork off the code and do with it as you will, as long as you release the source to the changes.

      -- Joe

    33. Re:This may be impolitic, but... by amerinese · · Score: 1

      Joe, Let me clarify my point. MS Windows is not merely costly or closed source--_in addition_ to being costly and closed source, the users, the customers, have very little say in getting features they want if it is not consistent with MS's goals or if they cannot make themselves heard (exert influence). While improvements to Linux are a community process, Linus has the final say. I don't challenge that he should be in control (though the same argument would return all American soil to the public domain under the stewardship of Native Americans), but I do see it as one person control that is contrary to some principles of free software. Look, I agree, someone could try to fork it. But realistically, practically speaking, the only Linux that exists (and thus the one that most manufacturers will even consider writing a driver for) is the one that Linus is in control of. I haven't proposed a solution, but Linus definitely has a lot more say on these sort of issues regardless of technical merit or desire of Linux users. It's a level of control that isn't exerted through ownership of the copyright, but at the same time, he retains a certain amount of power over it (not to the extent that someone who retains copyright over a piece of code holds).

    34. Re:This may be impolitic, but... by 0x0d0a · · Score: 1

      Almost all Linux applications work just fine under different kernels.

      Not on different distributions, though. And not once libraries have been moved from, say, glibc-2.0 to glibc-2.1.

    35. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      Linus doesn't like binary only because he believes in free software

      Where did you dig that piece of lunacy up from? Richard Stallman is the idealist - Linus Torvalds is the pragmatist. Linus lets people link in binary-only modules when he doesn't have to. The reason why he discourages their development revolve around maintenance and the problem of getting swamped with bug reports for software he can't fix. That's why modules have the tainted flag - so bug reports will clearly show up as somebody having loaded in binary-only modules, so he can tell them to fuck off until they can reproduce it *without* the binary-only module loaded.

    36. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      Hence one of the main reasons Linux will never be more than a hobbyist OS.

      That's a fine piece of trolling. Whoever modded this as "insightful", take a look around - Linux is being used all over the place, it ceased being a "hobbyist OS" years ago.

    37. Re:This may be impolitic, but... by be-fan · · Score: 1

      It does work, it just doesn't have forwards compatibility. You can run a glibc-2.2 app on glibc 2.3, but not vice-versa. That is, of course, obvious!

      --
      A deep unwavering belief is a sure sign you're missing something...
    38. Re:This may be impolitic, but... by finkployd · · Score: 4, Funny

      Hence one of the main reasons Linux will never be more than a hobbyist OS.

      Congratulations on your recovery from what must have been a four or five year coma. Please feel free to check out some tech news sites to see what has been happening in the computer industry these last few years.

      Finkployd

    39. Re:This may be impolitic, but... by The+Vulture · · Score: 1

      While improvements to Linux are a community process, Linus has the final say.

      Yep, Linus has the final say on kernels that go out with his name. But there are other kernels out there that are popular, have you heard of the "ac" kernels? That's "ac" as in Alan Cox, and he regularly releases kernels that have things in them that Linus hasn't blessed for his kernel, for whatever reason, and AC feels that the items are worth having.

      Look, I agree, someone could try to fork it.

      You're certainly welcome to fork the kernel. And if people like the changes you made to it, you might end up at a level like Alan Cox, and his mentioned "ac" kernel line.

      But realistically, practically speaking, the only Linux that exists (and thus the one that most manufacturers will even consider writing a driver for) is the one that Linus is in control of.

      Well, then, I guess you have to provide some good incentive to those manufacturers. But a stable ABI that allows them to make one buggy, binary-only driver, and never have to update it should be a great incentive, shouldn't it? They'd love a one-time investment, like they do for Windows (for each version of Windows, that is).

      I haven't proposed a solution, but Linus definitely has a lot more say on these sort of issues regardless of technical merit or desire of Linux users. It's a level of control that isn't exerted through ownership of the copyright, but at the same time, he retains a certain amount of power over it (not to the extent that someone who retains copyright over a piece of code holds).

      Of course Linus has the final say, he wrote the damn thing! And he attaches his name and reputation to every kernel release that he makes, therefore, it's in his best interests to make sure that he releases something that is stable and works (although sometimes that doesn't happen).

      Linus has always been quite vocal in stating that he will look at patches, and if it's not something he's interested in (either becuase he's truly not interested, or because the section of code you're changing is maintained by somebody else, or he feels your patch has bugs, or poor style, etc.), he'll often suggest to you who to send it to.

      To quote a line from a movie, "This isn't a democracy, it's a cheer-ocracy". Now, change "cheer-ocracy" to "code-ocracy", and you have the general idea. It's not what the general public thinks is best (otherwise ALSA and esound would have been part of the 2.4 kernel as I suggested back on the LMKL during the development of 2.3), it's what the core contributors to the kernel feel is best. If that conflicts with what you think is best, then you have to convince them - I hear money works well.

      If the users of Windows want features implemented (or certain features not implemented/removed), then they need to harass Microsoft, not complain about Linux having poor hardware support. If Microsoft doesn't listen, then you need to either put up with it, or stop buying Microsoft products. And if Linux doesn't work for you, then complain to the people you bought it from (i.e. Red Hat or Mandrake, etc.). If you didn't buy it, then about the best you can do is politely ask, but don't expect anything.

      -- Joe

    40. Re:This may be impolitic, but... by silas_moeckel · · Score: 1

      OK I have allways wondered why companies that dont want there drivers to be open dont do the same thing they used to do for other UNIX boxes and release those stripped code files the ones that been through the preproc and are pretty damn unreadable (about the same as the output of a decompiler)

      But to USB didn't they spec out of whole bunch of ways to communicate just so drivers should not have to be written? The hardware is supposed to work to the USB networking device so it can plug and play into anything?

      --
      No sir I dont like it.
    41. Re:This may be impolitic, but... by rabidcow · · Score: 2, Interesting

      If the .exe is statically linked perhaps, otherwise, you're going to have all kinds of library problems when moving the sam app between win 95, win 98, win 2k, and win XP.

      That's funny, I do it all the time with no such problems. You do have to use GetProcAddr if you want to use features that don't exist in the older versions, but that's far from difficult. Sometimes there'll be some subtil change in behavior in things like common dialogs, but nothing earthshattering.

      Microsoft goes to a LOT of trouble to make sure existing applications still work on a new version of Windows, because if you DID have to recompile all your apps, you'd be screwed. And then no one would upgrade.

      Drivers are almost certainly a different story of course, especially since they changed driver architectures completely in there. Still, they can't go breaking everything too often or, once again, you're screwed if you need to recompile it. Especially if you're using expensive hardware from a company that has since gone out of business.

      That's one of those downsides of closed source, you have to maintain binary compatibility.

    42. Re:This may be impolitic, but... by cubic6 · · Score: 1

      Actually, this is something Windows mostly just does right. In many cases you can run DOS or Win3.1 executables in Windows XP perfectly. Given, if they're written using version-specific hacks like some software was (and still is) written, then they might break. But on the whole programs are quite compatible.

      Everybody talks about "DLL Hell" on Windows, but I've been using Windows since 3.1, and it just doesn't happen very much. Part of it is that Win32 programs usually either provide their own libraries, or only link with Windows standard libs. In regards to "apps frequently shipped with their own shared libraries causing other apps or even the whole system to break", the only app I've ever seen do that was Cygwin.

      If you want to talk about a disaster of shared libraries, look at the current state of /usr/lib on a Linux system. For some reason, open source developers have a fetish for making everything into shared libraries, even if your program is the only program that will ever use it or if it'll cause some other program to break because you install an incompatible newer version.

      --
      Karma: Contrapositive
    43. Re:This may be impolitic, but... by scotch · · Score: 1
      If your program is the only program that will ever use a library, there is still benefit from shared libraries, if you ever have more than one instance of the app running at a time.

      I've been running windows off and on since version 1.0 and small versions of MS-DOS before/during that time, and while version compatibility is pretty good, it's not nearly as good as good as you or the OP make it out to be. DLL hell in the 3.1 and win95 days was a nightmare.

      --
      XML causes global warming.
    44. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      Why do you think the new functions could not be added as a second API leaving the original intact? Come to that, symbol versioning has been used by GNU Binutils on Linux for years now in userspace; whats makes you think symbol versioning could not be done in kernel space?

    45. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      The current situation is simple? Good Lord, some people have way to much time on their hands!

    46. Re:This may be impolitic, but... by Anonymous Coward · · Score: 1, Interesting

      ..there is still benefit from shared libraries, if you ever have more than one instance of the app running at a time.

      A small advantage of saving a couple hunded k for each instance offset against the complications of installing a new DSO and having to maintain minor and major versions of that DSO (& breaking other applications which may come to use your DSO if you don't maintain the ABI & API)

      I'll take the statically linked binary and the extra couple-hundred k overhead thanks. There is a time and a place for DSOs and 90% of the time on Linux it is the wrong time and place.

    47. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      DLL hell is when windows applications supply their own versions of windows shared libraries, e.g. msvcrt.dll, and overwrite the one in c:\windows\system32 with their own version.

      It may not have happened much to you, but it has happened so much to Bill that XP will automatically overwrite the applications version with XP's version, just to unbreak things.

    48. Re:This may be impolitic, but... by pe1rxq · · Score: 1

      Because then you would have several layers of old junk that would have to be maintained.
      Add to that that this compatibility layer will get increasingly difficult and complex since the underlaying architecture will continue to evolve and you end up with a nightmare for the poor bastard having to do this.
      And all that just to make binary only driver writters happy? I don't think you are going to find many volunteers.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    49. Re:This may be impolitic, but... by sjames · · Score: 1

      Think of the amount of man hours that go into maintaining the current GPLed modules to allow usage in newer versions of kernels, its horrendous amounts.

      Let's get the terms sorted out. The kernel's aPi doesn't change all that much for a given kernel series, the aBi changes much more frequently.

      The ABI changes can be handled with a simple recompile of the module (so places no burden at all on GPL and BSD drivers). In the case of networking, there are still depricated remnants of the 2.0 kernel in 2.4 for the benefit of old drivers.

      It is perfectly natural for any OS kernel to be more friendly with external code built upon the same philosophy. The moving ABI with reletivly stable API is a natural design decision for a GPL kernel. Consider it this way, Linux as a GPLed kernel is a lot more friendly to 'cross philosophy' binary drivers than the very proprietary Windows kernel is to 'cross philosophy' GPL drivers (considering that the DDK for Windows is not free).

    50. Re:This may be impolitic, but... by sjames · · Score: 1

      Linux has many characteristics that make it way different than our favorite whipping boy MS Windows. But, maybe some things are still the same.

      Except that you are perfectly free to grab the latest kernel, declare the existance of your own tree and give companies a written guarantee that YOUR ABI will not change until the heat death of the universe. Good luck on your mission!

    51. Re:This may be impolitic, but... by Anonymous Coward · · Score: 0

      NT 3.5 may have been a microkernel, but they dumped that design back in NT4.0, and integrated the display drivers into the kernel.

    52. Re:This may be impolitic, but... by sjames · · Score: 1

      But realistically, practically speaking, the only Linux that exists (and thus the one that most manufacturers will even consider writing a driver for) is the one that Linus is in control of.

      There's a good reason for that. Free Software is the ultimate in democracy. Linus still has the final say because the vast majority of everyone using or considering using Linux wants to use HIS tree.

      There are several other trees, most of which feed back to Linus and track Linus's tree. Unlike MS or others, Linus exerts no legal pressure to keep the tree under his control. If everyone decided that JoeBob was doing a better job maintaining the -jb kernel tree, JoeBob would be in control and Linus would have a decision to make.

      All JoeBob needs to be in charge of a kernel is to have a significant minority of people decide that they want kernels that he has blessed. That has NOT happened.

      Unlike most democratic processes that depend on the leaders honoring the principles of democracy, Linus's control of the kernel is entirely dependant on nothing more than the will of the people.

    53. Re:This may be impolitic, but... by sjames · · Score: 1

      Not on different distributions, though. And not once libraries have been moved from, say, glibc-2.0 to glibc-2.1.

      There was a bit of learning curve there. The Free Software community learned a LOT during that painful libc update. The problem is much smaller now. If it was really that important to someone, they would modify ld.so to add a backward compatibility layer. Apparently it's just not that important to anyone. (And don't look at me, I don't care either!)

    54. Re:This may be impolitic, but... by mean+pun · · Score: 1
      No, the API changes way too much. You do not ever need to make an API totally incompatable with previous versions to add stuff to it, ever heard of backwards compatability?

      Linux developers do not support backseat drivers.

    55. Re:This may be impolitic, but... by Dwonis · · Score: 1

      Have you actually written a driver for Linux? It's very easy.

  18. Why the license macro? by slash-tard · · Score: 1

    Just wondering.

    1. Re:Why the license macro? by Second_Derivative · · Score: 5, Informative

      Common situation before 2.4:

      1) User loads proprietary module
      2) Kernel goes unstable and crashes like hell
      3) User responsibly decides to post OOPS and bug report to LKML
      4) Kernel devs groan for the 1000th time and explain that they can't test a problem with an opaque driver

      The problem is that a black box piece of code is 'tainting' the kernel. If something goes wrong with that code, you're SOL because you can't look inside the black box. Module licensing forces a closed driver to identify itself as such, and then notes that the kernel is tainted in the OOPS, so if you submit an oops like that then the kernel devs will (quite rightly) say "Don't expect us to fix a problem with a proprietary driver, bug the guy who wrote it".

      It's mostly a bug tracking thing for the kernel developers in other words, it doesn't really change how the kernel behaves or what you are or aren't allowed to do with it.

    2. Re:Why the license macro? by pe1rxq · · Score: 5, Informative

      Some kernel developers (me included) don't like the idea of making functions in the kernel available for use by closed source drivers. This way the module loader prevents certain modules from using certain functions.
      But the most important is bug reports. If you load a non open module your kernel gets 'tainted' and this is reported in oopses. If you then send this oops to one of the kernel maintainers they can just ignore you. Since you have a piece of unknown code in use in your system they can't do anything usefull anyway.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    3. Re:Why the license macro? by orthogonal · · Score: 5, Insightful

      Some kernel developers (me included) don't like the idea of making functions in the kernel available for use by closed source drivers. This way the module loader prevents certain modules from using certain functions.

      I feel like getting flamed and losing some karma. It's the day after Valentine's anyway, so it's not like I was expecting to be happy anyway.

      Why prevent closed source drivers from using certain kernel functions?

      Sure, I realize it makes a political point to closed source developers: "your code will remain second-class code until you show us the source", but like a SPEWS blacklist, it does that by annoying innocent third parties in the hopes of getting the third parties to join you in your complaints.

      In this case the innocent third parties are the people running linux. So linux users get punished by linux developers for "consorting" with the "enemy's" closed source drivers. Ironically, at the same time, linux is promoted as the OS that allows the user full control over his computer.

      If you really believe in the user's right to run his PC as he wishes, let him decide whether or not to buy closed-source hardware.

      If you don't, then say so: "I'm giving you the benefit of my code, and I'm not charging for it, but it's not really free, as I expect you to adopt my ideology to use it, and to let me dictate to some degree how you use your PC." That's a valid and defensible stance -- but it's a different stance than is usually professed.

      And admit that it's a barrier to wider-spread adoption of linux, and factor it in when asked why more people are not using linux.

    4. Re:Why the license macro? by Anonymous Coward · · Score: 0

      Some kernel developers (me included) don't like the idea of making functions in the kernel available for use by closed source drivers.

      I nearly choked on my breakfast when I read that sentance. Is it any wonder why Windows will continue to rule when developers such as yourself have such arrogance towards closed-source solutions?

      Companies that port closed drivers to Linux to allow their products to function typically were fairly nervous about it in the first place. Taking a step out of the Windows world was a big leap of faith.

      And now you're designing rules that could cause somebody to dump the entire operating system in favor of Windows - and never return - when it turns out that their code needs to be infected with the GPL in order to function properly. Way to make Microsoft products more flexible than Linux ones.

    5. Re:Why the license macro? by Anonymous Coward · · Score: 0

      > Why prevent closed source drivers from using certain kernel functions?

      It prevents the kernel maintainers from wasting their time trying to debug a problem that may be caused by a module for which they have no source and no hope of fixing.

    6. Re:Why the license macro? by pe1rxq · · Score: 1

      Binary only modules have always been dangerous from a GPL perspective...
      Its how you interpetrate it that matters, it can range from impossible to only slightly possible.
      Even Linus himself has said that practictly all binary only modules violate the license.
      The Nvidia video drivers were the only ones were he thought it might be legal since they were (arguably) developped completly without any gpled code.
      And a lot of people don't even agree on that.
      Its not about changing the rules, its clarifying them.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    7. Re:Why the license macro? by pe1rxq · · Score: 2, Informative

      The 'tainted' message has no influence on the working of your system... So users can indeed do anything they want with it.
      Its just a convinient way for developpers to say they don't want anything to do with it.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    8. Re:Why the license macro? by orthogonal · · Score: 3, Funny

      > Why prevent closed source drivers from using certain kernel functions?

      It prevents the kernel maintainers from wasting their time trying to debug a problem that may be caused by a module for which they have no source and no hope of fixing.


      Next week on Saturday Night Live:

      LINUX USER JIMMY (Played by Horatio Sanz): "I want to use the Yoyodyne USB Blender on my linux box, so I can make margaritas over dial-up SSH!"

      KERNEL DEVELOPER (played by Chris Parnell): "If we let the blender driver call kernel_foobar(), it might work flawlessly."

      LINUX USER JIMMY: "OK great! Linux r0x0r5!"

      KERNEL DEVELOPER (dourly) "But... it some cases, it might fail."

      LINUX USER JIMMY: "But it'll usually work? I can't wait to taste those margaritas!"

      KERNEL DEVELOPER: "No, Jimmy" (shakes head and sighs) "it will never work, because we don't allow the Yoyodyne driver to call kernel_foobar()." (pause) "It might fail, and we can't allow that to happen. (nods authoritatively, looking Jimmy in the eyes) You understand."

      LINUX USER JIMMY: "So I can't make my margaritas if I use linux?"

      KERNEL DEVELOPER: "No, Jimmy, you can't. Because we kernel developers know better."

    9. Re:Why the license macro? by mvdwege · · Score: 2, Insightful

      That's all very nice, but you are missing the point.

      It is most definitely the user's right to run his machine as he pleases, however the user has no right whatsoever to demand that someone else gives up his free time to debug his problems. In the case of a closed-source driver doing unknown things to the kernel, it is the very height of arrogance to demand of a total stranger to reverse engineer your personal hardware setup.

      It is not about politics. It is about politeness. One does not ask people to do things that by their very nature are extremely hard if not impossible to accomplish at all, especially if people make it known in advance that they do not have the time nor the means (and hence no inclination) to even try.

      Mart
      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    10. Re:Why the license macro? by The+Vulture · · Score: 1

      First, I must preface this by saying that I'm not a kernel developer, so I'm in no way speaking for any of them.

      You're absolutely correct that it's a political message to the closed-source developers. And I must say that I completely agree with it. The whole idea of Linux and the GPL is "share and share alike", and the creators of binary-only drivers are only taking, they're not sharing (providing a binary-only driver to me, is not sharing).

      The kernel developers are not resticting your rights to run your PC as you wish in any way, nor are they preventing you from using hardware with closed-source drivers. If you want to, you're completely free to. But, don't expect support on the mailing lists when the binary-only driver crashes the system. Additionally, the creators of binary-only drivers should not expect support from the kernel developers.

      From what I understand, the kernel code that is not available when the GPL license isn't followed isn't anything earth-shattering, and the driver maintainer can always re-write it using the GPL'd code as a guideline.

      -- Joe

    11. Re:Why the license macro? by 0x0d0a · · Score: 1

      You know, I skipped to the last paragraph in your post, and just assummed that you were arguing the *other way*:

      It is not about politics. It is about politeness. One does not ask people to do things that by their very nature are extremely hard if not impossible to accomplish at all, especially if people make it known in advance that they do not have the time nor the means (and hence no inclination) to even try.

      Where I thought the task at subject was "releasing an open source driver." :-)

    12. Re:Why the license macro? by Anonymous Coward · · Score: 0

      I think that this should be solved in the good old OSS way.

      Who wants to code a patch to the kernel that lets non-gpl drivers use all functions that any other driver can? Leave the tainted message, that has a point anyway.

    13. Re:Why the license macro? by pe1rxq · · Score: 1

      You got it wrong...
      There are two parts to this license thing:

      One part goes as follows:
      KERNEL DEVELOPER: "Yes Jimmy you can load your binary only driver but we don't want anything to do with it."

      JIMMY: "My kernel crashed!"

      KERNEL DEVELOPER: "Told you you shouldn't taint your kernel with this module... Don't waste my time complaining, I can't do anything about it"

      The other part goes like this:
      KERNEL DEVELOPER: "See Jimmy, we use this license called the GPL and because of that all of linux and its derivatives are free (speach). Since some of use kernel developers interprete this license in a way that you can't legally distribute binary only drivers since we consider them to derivative works we won't let you commit a crime"

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
  19. Pfft! by Tagren · · Score: 0, Offtopic

    What is this 'Operative System' named Kernel you are talking about. Pfft... Get with the tides nerds! use Linux!
    ---

  20. I've always wondered.... by Anonymous Coward · · Score: 4, Interesting

    Would it be possible to have some sort of cross-platform driver language like Java for device divers? That would be really cool because each platform could have its own VM and the same driver would run on Windows, Linux (all kernels), Mac, etc.

    1. Re:I've always wondered.... by venomix · · Score: 1

      It's a nice idea, but since hardware drivers require hardware access, I think it's rather impossible.

    2. Re:I've always wondered.... by roboros · · Score: 5, Informative

      The problem is not the language but the interface to the kernel. The C language, which a lot of drivers are written in, is very portable but you still cannot easily take a driver from Windows XP and port it to Linux, because the driver has to provide and call different functions in Windows vs Linux. What would be required is a standardized API for device drivers but that is (IMHO) not likely to happen soon. There are some however some interesting wrappers for using Windows WLAN drivers under Linux, maybe it would be possible to extend that to other kinds of drivers.

    3. Re:I've always wondered.... by Anonymous Coward · · Score: 0

      Java

      sloooooooooooooooowww! Good enough reason ? :-)

  21. That's one of Linux' main weaknesses by ardor · · Score: 1

    Drivers are complicated in Linux. Oh, of course not if they are in the kernel, but prepare for the first drivers that have to be compiled. If you're lucky, all goes well. However, it is very likely that you'll run in version problems (devs like to change headers). Making device driver development more difficult is not really a bright idea, either.

    --
    This sig does not contain any SCO code.
    1. Re:That's one of Linux' main weaknesses by pe1rxq · · Score: 3, Informative

      The only thing that is difficult is that you have to keep up with the development of the kernel itself.
      As for complicated... having had a look at some windows drivers source code and writting my own linux drivers I can say that it is way easier to write a linux driver than a windows driver. (Even if you have to port it to a new major kernel release every few years)

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    2. Re:That's one of Linux' main weaknesses by ardor · · Score: 1

      The only thing that is difficult is that you have to keep up with the development of the kernel itself. Oh yeah? Do you expect a customer to keep up with the kernel development? I have an old WLAN card, I cant find any other driver than the one on the card's CD. And this one does not work - it does not compile, since several headers in the kernel CHANGED. Do you really expect everyone to KNOW how to rewrite the driver code? Is this user-friendly? Windows driver development may be difficult, but at least its way easier to install.

      --
      This sig does not contain any SCO code.
    3. Re:That's one of Linux' main weaknesses by pe1rxq · · Score: 1

      How often have YOU (The user) developed a windows driver?
      I was talking from a manufacturer/developper perspective... A company can release a linux driver and keep up with years of linux changes and it still would take less time than a single windows driver.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
  22. The only reason I'm not using 2.6.. by Anonymous Coward · · Score: 0

    ..is that mga_vid hasn't been ported yet :/

    1. Re:The only reason I'm not using 2.6.. by bwalzer · · Score: 1
      There's some patches floating around out there. I think I used this one;

      http://zebra.fh-weingarten.de/~maxi/html/mplayer-d ev-eng/2003-10/msg00262.html

      ... but this one seems newer;

      http://zebra.fh-weingarten.de/~maxi/html/mplayer-d ev-eng/2003-10/msg00495.html

    2. Re:The only reason I'm not using 2.6.. by Anonymous Coward · · Score: 0

      Seems to work, thank you :)

  23. Ok expert super genius elite! by Adolph_Hitler · · Score: 1

    Outline the process step by step right here on slashdot for us newbie idiots.

    --
    People don't exist to serve systems, systems exist to serve people.
    1. Re:Ok expert super genius elite! by Zwoop · · Score: 1

      I upgraded my RedHat9 to 2.6.1 kernel by simplying picking a few Fedora core 2 ("development" packages). Was really easy, I wrote a short note on it, at http://www.ogre.com/tiki-view_blog_post.php?blogId =3&postId=32

    2. Re:Ok expert super genius elite! by pe1rxq · · Score: 1
      1 Install new module utilities.

      2 Install new kernel just like any other.


      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    3. Re:Ok expert super genius elite! by damiam · · Score: 1

      apt-get install kernel-image-2.6-k7-smp worked fine for me.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    4. Re:Ok expert super genius elite! by Michael+Iatrou · · Score: 3, Informative

      No need to do so, check this out: HowTo Upgrade To The 2.6 Kernel And you are not idiots, you just don't RTFM...

  24. Help! 2.6.2 is huge by Wills · · Score: 4, Interesting
    Wow, this is a tough one. I'd like to port some 2.4.x drivers to 2.6.2 but I have to use a boot floppy for portable devices without a HD or bootROM and the kernel is so HUGE it literally won't fit onto a boot floppy and LILO doesn't seem to work with high-capacity floppies (fdformat /dev/fd0u1760, but LILO fails at the LILO prompt with "40 40 40 ..."):

    ls -l arch/i386/boot/bzImage

    1472687 arch/i386/boot/bzImage

    I've kept my kernel config to the absolute minimum and made everything as modular as possible. On 2.4.24 the bzImage was only 1056223 bytes, now it's jumped by 400kBytes.

    Has anyone any useful tips for cutting the "bloat"?

    1. Re:Help! 2.6.2 is huge by The+One+KEA · · Score: 4, Informative

      Start with the CONFIG_EMBEDDED option - it allows you to excise a significant amnount of stuff from the kernel image that would otherwise remain unused. If you want more savings, there is a tinykernel tree somewhere that has patches which allows you to remove even more stuff. IIRC the kernels built from this tree can comfortably run with as little as 4MB of RAM.

      --
      SCREW THE ADS! http://adblock.mozdev.org/ Proud user of teh Fox of Fire - Registered Linux User #289618
    2. Re:Help! 2.6.2 is huge by shortcirquit · · Score: 1

      I don't know.
      can't you use a memory stick? or a bootable cdrom?

      --

      this->show();
    3. Re:Help! 2.6.2 is huge by Wills · · Score: 1
      Thanks for the tips. It's an interesting build situation. I'd like to be able to use a non-standard kernel such as CONFIG_EMBEDDED or tinyLinux to get a smaller bzImage but I can't. I have to use a normal fully functional kernel and find some way of getting the 2.6.2 bzImage onto a boot floppy. There are two coupled machines - one is a normal PC, the other has the same CPU but no HD/bootROM. There are certain operational requirements which mean the same kernel image needs to be running on both machines.

      The crazy thing is a 2.6.2 bzImage fits on a high-capacity formatted boot floppy and LILO can do high-capacity (/dev/fd0u1760) boot floppies but for some reason the resulting boot floppies always hang at the LILO prompt. I guess the BIOS isn't able to understand the high cap. format (no BIOS option for high cap. floppies either).

      If there's no other easier way, I'll modify LILO to load a bzImage that is split over two floppies (the machine has two floppy drives), sorta like bootfloppy1, bootfloppy2, and then onto the root device.

    4. Re:Help! 2.6.2 is huge by Wills · · Score: 1

      Yeah, it'd be ok for a PC but the current portable devices weren't designed to be deployed with anything like that so I'm looking for a bandaid that gets them up and running via the boot floppy method.

    5. Re:Help! 2.6.2 is huge by dietz · · Score: 1

      I'd like to be able to use a non-standard kernel such as CONFIG_EMBEDDED or tinyLinux to get a smaller bzImage but I can't.

      CONFIG_EMBEDDED isn't non-standard! It's under "General Setup" in 'make menuconfig' (or whatever your favorite config option is).

      By default it leaves all the standard options on, but you can read the help and see if there are any you don't need (do you really need all three IO schedulers for a device with no hard drive?).

      Also, you can certainly turn on "Optimize for size". You're pretty close to getting on a floppy it looks like, so -Os might be all you need to shrink that extra 50K.

    6. Re:Help! 2.6.2 is huge by Wills · · Score: 1
      Yeah I know CONFIG_EMBEDDED is standard in the sense of being in the kconfig menus. What I meant was removing functionality most people leave in would make the kernel non-standard and possibly non-functional. I wasn't sure I could afford to lose any of the functionality listed under CONFIG_EMBEDDED. You're right about "Optimize for size" - it's probably worth a try because bzImage is quite close to 1440kBytes. I'll be pleased if it does.

      I wonder what's going wrong with booting by LILO from a high-capacity 1760kByte floppy. If it worked, there'd be tons of room spare. Probably enough for a 2.7 kernel:)

    7. Re:Help! 2.6.2 is huge by SpaceLifeForm · · Score: 1
      Use gcc 2.95.3 to compile your kernel, not a gcc 3.x.x compiler. The 3.x.x series generates much fatter code even with the -Os compiler option.

      In your case, it might fit. Don't forget however, that a 2.6.x kernel is no longer self-bootable from floppy (it only worked on i386 anyway). If you need totally stand-alone bootable floppy, I'm thinking the best you can do is a minimal minux floppy with lilo and your kernel. So figure on losing another 26 1K blocks from from the usable 1435 (32 inodes minimum) blocks. So, you're going to need to get your bzImage down to about 1410 1K blocks.

      Don't count on ever being able to use a non-standard formated floppy on any given machine.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    8. Re:Help! 2.6.2 is huge by GreyWolf3000 · · Score: 1

      That is not supported. Although gcc 2.95.x was the "official" compiler for Linux back in the 2.4.x days, 3.x is now what we need to be using. Granted, Linux wouldn't exist if a few brave souls didn't depart from what is considered "supported."

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    9. Re:Help! 2.6.2 is huge by Wills · · Score: 1
      • "a 2.6.x kernel is no longer self-bootable from floppy (it only worked on i386 anyway)"

      Are you sure? I can't find any change like that mentioned in Documentation/*. In fact many of the kernel docs suggest using a boot floppy.

      • "Don't count on ever being able to use a non-standard formated floppy on any given machine."
      All I can say is they work ok here. On the test machine both reading and writing 1760kB-formatted floppies work reliably in post-boot Linux. The bit that doesn't work is LILO + BIOS at boot time. The BIOS only understands how to boot standard 1440kB-formatted floppies.
  25. FORTH by BitwizeGHC · · Score: 1

    IMNSHO something like FORTH would perhaps be more suited to this. It's an interesting concept, though probably one that won't be implemented in a world where performance is crucial (for things like video cards) or vendors cut corners and tax the CPU (for things like modems).

    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  26. Differing experience by nuntius · · Score: 2, Insightful

    The only case where I really cared about driver compatibility was once where the I/O card we had in the lab was distributed with DOS drivers (the company since disappeared). Unfortunately, these particular drivers only worked under Win98 and older - all poorly supported versions of Windows. As a result, we ended up having to buy all new cards in order to upgrade. At least if we had the source we could have tried porting the drivers...

    Whoopee about an .EXE running under multiple versions of Windows. I can download a large number of *nix programs, compile, and run under numerous flavors of Linux, BSD, and other OS's. In fact, most are already precompiled for the favorite distros. Office suites, window managers, scientific apps, LaTeX... its all available.

    As far as development goes, my limited experience has found Linux to be much nicer. Under Windows, you have to download the whole DirectX SDK (100s of MBs) just to capture frames from a webcam. This also requires the use of VisualC++. Under Linux, simply compile the apropriate USB modules and you're ready to go.

  27. You people are all hypocrites by ZuperDee · · Score: 5, Insightful

    Yeah, call me a troll if you wish, but I really do think it is amazing how so many people here are willing to beg and plead on their knees that the Linux kernel developers freeze the driver API so that closed, proprietary-source hardware companies can write closed-source drivers for their favorite wardware device.

    So then, let's take it a step further: would you people also be willing to put up with a totally closed-source kernel, and a closed-source C compiler, if the hardware manufacturers demanded it? In that case, why not just use Windows?

    Seriously, I fail to understand why you people want to use Linux, only to complain about the lack of hardware support, since the Linux world requires everything to be open source.

    Tell me, would you people also be willing to jump off a bridge to get driver support if the hardware manufacturers demanded it?

    I do believe Linux (or GNU Linux, if you prefer), as a platform (not just the kernel), would not be as open as it is today if the developers didn't insist on such openness. If you people don't care how open things are, then why bother with Linux?

    1. Re:You people are all hypocrites by Anonymous Coward · · Score: 0

      yeah but Linux sucks cause there are no drivers and what drivers there are, they are all incompatible.

    2. Re:You people are all hypocrites by Anonymous Coward · · Score: 0

      You are a racist.

      I can't believe how many times you said 'you people' in that post. Clearly you have no sense of brotherhood for your fellow man.

    3. Re:You people are all hypocrites by Anonymous Coward · · Score: 5, Insightful

      Unstable driver API hurts everyone, not only hardware manufacturers, and helps nobody.

      If a HW company considers Linux support, they will have to decide in terms of money earned vs money spent. If supporting Linux means supporting every kernel version out there + distribution-specific patches, their costs will be high. High costs - no Linux driver :):)

      I know they could release it as GPL, but that is _their_ decisions. OSS & Free Software is not about forcing others to open-source their work (even if their decision sucks ;) but to give people a choice. And that is what it all boils down to. If there were a stable API, those _evil_ HW manufacturers could simply release their drivers as binary only and _we'd_ have a choice of tainting our kernel or not. The _good_ ones will work with Linux developers regardless of stable API or no stable API

      Right now both ATI and NVIDIA use ugly hacks to get past the lack of stable API. And we still use binary-only code for the drivers, it is just not in the kernel. I understand that Linus is very .. protective ... of his work, teh kernel, and doesnat much care about the user-space, but to those using ATI or NVIDIA drivers and being happy about it: would you rather compile a generic piece of ugly hacks and add a binary-only driver or simply install a binary driver. The latter is a whole lot easier and the end result is _exactly_ the same in terms of stability, security and freedom.

      I'd also like to mention that the lack of stable driver API also hurts OSS developers and users. Not every patch (read driver) gets accepted into the mainstream kernel from where it goes to distros. And not everyone knows how to patch, compile and install. And you know what - they shouldn't need to, if Linux is a serious desktop player. They _should_ have a _choice_ to do all that if they wanted to...

      Enough of ranting, off to bed :)

    4. Re:You people are all hypocrites by chrysrobyn · · Score: 1
      You people are all hypocrites
      So then, let's take it a step further: would you people also be willing to put up with a totally closed-source kernel, and a closed-source C compiler, if the hardware manufacturers demanded it? In that case, why not just use Windows? Seriously, I fail to understand why you people want to use Linux, only to complain about the lack of hardware support, since the Linux world requires everything to be open source.

      Yup. You're right. We slashdotters are all of one heritage, all of one mindset, all of one ideology. We are hypocritical in that we believe in multiple things that contradict, on one hand preaching GPL and prosecuting GPL infringements, and simultaneously begging nVidia to port their driver to Linux and telling SCO that their intellectual property that's in the kernel is so long gone that it needs to be forgotten. We believe that iBooks are evidence of the second coming of Christ, and at the same time Microsoft is the metaphorical apple in the Garden of Eden. We are all out of work programmers who made it rich during the dot-com boom, and now that we've squandered our riches on trinkets, we're begging for the few jobs that haven't been exported to India.

      Perhaps there is another website out there for people who can enjoy the casual uses of open source Linux kernels, patching only when necessarily, and accepting as a compromise the need to have open source video drivers. Perhaps in this hypothetical website, they can have people who like Linux for the community, for the CLI and GUI (ha!), and don't like the way Windows feels or how much it costs.

      Let's just get it straight. If you read Slashdot, you only like Linux because it's GPL, and you must despise closed source drivers that enable hardware to do their thing. Don't you remember it was part of the click through agreement when you signed up for your Slashdot Union membership! We must act together!

    5. Re:You people are all hypocrites by smallpaul · · Score: 1

      I find your post hard to understand. There are a variety of reasons to use Linux rather than Windows. It is faster. It is more stable. It is more secure. It is more customizable. If you attach a binary driver to Linux, Linux will still be faster, more stable, more secure, etc.

      Even if a person chooses to install Linux because it is open source, there is nothing hypocritical in thereafter installing binary games or drivers on that operating system. The value to the end-user of open source-ness varies depending on the component. There are tens of thousands of people around the world on the development "team" of Linux. But how many people would dive in to help develop nVidia's driver? How could nVidia even rally this team of international developers to work on drivers for video cards that are still secret?

      You seem to believe that there is only one right reason to use Linux: to fight proprietary software of all kinds. Obviously people disagree with you. That doesn't mean they are hypocrites. They just disagree with you.

    6. Re:You people are all hypocrites by Dwonis · · Score: 4, Insightful
      Unstable driver API hurts everyone, not only hardware manufacturers, and helps nobody.

      It gives an advantage to hardware manufacturers who use open interfaces to the hardware they ship.

    7. Re:You people are all hypocrites by entrigant · · Score: 0

      I do not use linux for religious reasons. I use it because I prefer the interface and the technology. I use it because I think it to be superior. The fact that it is open is just there. Perhaps it is part of why it is better. Perhaps it is not. For me that is beside the point, and I have no issues using closed drivers and applications. I assume there are many more like me. It is incredibly short sided of you to ask why bother using linux if you do not insist everything be open. The list of merits of linux contains a lot more than just it being open. Anyone who would use an inferior system solely because of "religious" reasons shall suffer the same fate of those who make life choices solely based on religion imho.

    8. Re:You people are all hypocrites by sploxx · · Score: 1

      Well, speaking of choices... ... YOU you have the choice to run linux or some other, proprietary OS. There is already such a thing, called windows.

      The GPL is about choice, indeed. But if you allow binary-only drivers, you degrade the GPL licensed linux kernel to a BSD one.

    9. Re:You people are all hypocrites by spitzak · · Score: 1

      The driver does not have to be GPL you know. The company could copyright the code and say the only legal use of it is to compile it against an end-users kernel. Conversely they could also put it in the public domain.

      Being able to see the source code does not imply GPL.

    10. Re:You people are all hypocrites by Voivod · · Score: 2, Insightful

      Tell me, would you people also be willing to jump off a bridge to get driver support if the hardware manufacturers demanded it?

      Who's this WE you're talking about? Some of us ARE the hardware manufacturers! While we are great Linux supporters, we are damn tired of taking support calls, writing FAQs, and loosing business because of customers can't make use of our drivers. I have conversations like this all the time... who is this benefiting?

      CUSTOMER: I need the kernel?
      US: No, the kernel source. You need to download the source to the kernel so you can compile the module. What version are you running?
      CUSTOMER: I have no idea! Why do I have to "compile" a "module". Can't you just send it to me?
      US: No. Type "uname -a"
      CUSTOMER: It says linux 2.4.19-17-xm5
      US: I have no idea what that is. Where did you get this system?
      CUSTOMER: I got it from AcmeSoft. It's part of their SupraRealTimeKernel package.
      US: Great. You have to call them and ask for the source.
      CUSTOMER: Screw this, I'm going back to WinCE.

    11. Re:You people are all hypocrites by cubic6 · · Score: 1

      Yep. I'd even buy (for $100) a closed-source kernel and C compiler and associated tools if it was as supported as Windows.

      Let's put it this way. I'm a developer. I write games in my spare time, and php-based web sites for work. If I really wanted to, I could probably learn enough about Linux to write my own device drivers and stuff. However, I want to use my computer, not tinker with Makefiles and XF86Config options to try to get the video card I just bought working. If you'd like to, that's nice. Go for it. Sell me the result, if you think it's good enough.

      The reason you fail to understand why people want to use Linux is because you're missing a word in that sentence. Use. I want to use Linux. I don't want to have to fix Linux when it breaks. I don't want to have to know some bit of arcane syntax so I can do something that would take 2 mouse clicks if the interface was designed right. That's the job of the people I bought it from. Ideally, if they're doing their job, I should hardly see it break at all.

      --
      Karma: Contrapositive
    12. Re:You people are all hypocrites by cubic6 · · Score: 1

      Thank you. Excellent comment. If I had read a few pages down instead of composing a lengthy diatribe of my own in response to Mr. Zealot, you would be modded up.

      --
      Karma: Contrapositive
    13. Re:You people are all hypocrites by Anonymous Coward · · Score: 0

      Unstable driver API hurts everyone, not only hardware manufacturers, and helps nobody

      Sorry - I'm confused - this unstable API, is it Microsoft or Linux?

    14. Re:You people are all hypocrites by Cid+Highwind · · Score: 1

      I think a lot of people are losing sight of the core truth of the binary driver debate. The options are not binary driver or open-source driver. They are binary driver or no driver. NVidia is not witholding driver source because they want to piss you off. They can't legally release it because of the way their cross-licensing agreements with other gfx hardware companies work.

      If your political grandstanding prevents nVidia from releasing a binary driver then you have turned all of our high-end video cards into expensive junk. Thanks.

      --
      0 1 - just my two bits
    15. Re:You people are all hypocrites by MullerMn · · Score: 1

      So GPL your kernel module, submit it for inclusion and get the benefits that go with it.

      What? You don't want to do that?

      Well, guess what, there are drawbacks and benefits to writing drivers for Windows too. As has been stated numerous times above, the people benefiting are EVERYONE who doesn't have to cope with a crufty, inflexible kernel with a frozen API instituted to satisfy the hardware companies who want to play with OSS' toys but don't want us to play with theirs.

    16. Re:You people are all hypocrites by SuiteSisterMary · · Score: 1

      Hey, CompanyX, this is Nvidia. Sweet texture compression there. Can we use it? Yeah, we'll pay that much. No, we won't share it with anybody. Great, thanks.

      Time passes.....

      Hey, Linux, you want drivers for our sweet Nvidia cards? Ok, but they'll have to be binary only, as there are parts of them that we're LEGALLY NOT ALLOWED TO DIVULGE.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  28. Come on! by Anonymous Coward · · Score: 0

    The blah-blah-blah overlords jokes are lamer than hot grits and Star Wars princess jokes.

    1. Re:Come on! by Anonymous Coward · · Score: 0

      the secret to the orignal post is it's a valid comment in joke form, not just a joke for the sake of it.

    2. Re:Come on! by inode_buddha · · Score: 1

      He also forgot the fact that we *must* be in Soviet Russia, because now the modules are porting us

      --
      C|N>K
  29. Tell me by ZuperDee · · Score: 3, Interesting

    Would you people also be willing to put up with a closed-source Linux kernel, if some CPU manufacturer decided tomorrow that they didn't want to release the specs for their instruction set, and said the only way you could write a kernel would be if you submitted to an NDA? Why is it that things like Wireless Network drivers or video drivers are the ONLY thing subject to this kind of thing?

    1. Re:Tell me by damiam · · Score: 1

      That CPU maker would obviously be using a non-x86/PPC/SPARC/Alpha instruction set, and so no one would care about them anyway. Intel, AMD, IBM, etc. already build their processors against documented standards. The only way to prevent open-source kernels would be to completely redesign the instruction set, which would make the processor useless for everything else, too (no commercial vendor is going to sign an NDA and rewrite their OS to support a minor processor with no users).

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    2. Re:Tell me by shortcirquit · · Score: 0, Offtopic

      Are we begging for a score:5 funny or do you want a score:-1 troll

      --

      this->show();
    3. Re:Tell me by Homology · · Score: 2, Informative
      Would you people also be willing to put up with a closed-source Linux kernel, if some CPU manufacturer decided tomorrow that they didn't want to release the specs for their instruction set, and said the only way you could write a kernel would be if you submitted to an NDA?

      You do have CPU microcode updates from Intel, and corresponding Linux code to facilitate uploading the code to the CPU : Microcode.

      This microcode is not easily hackable (at least I hope so), and most certainly is not open source.

    4. Re:Tell me by GigsVT · · Score: 2, Insightful

      Nobody's asking Nvidia or ATI to release firmware source or core design documents. You don't have to know how it works to write a driver for it, you only need the documentation on how to interface to it.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  30. Re:Upgrade now? by AKnightCowboy · · Score: 1
    emerge development-sources
    cd /usr/src/linux-2.6.2
    make menuconfig ... set options and save
    make && make modules_install && cp arch/i386/boot/bzImage /boot/vmlinux-1.krnl
    reboot

    You lost me on step 1:

    -bash: emerge: command not found

    Oh, silly me, here we go:

    apt-get install kernel-image-2.6-k7
    Reading Package Lists... Done
    Building Dependency Tree... Done
    The following extra packages will be installed:
    kernel-image-2.6.0-1-k7
    Suggested packages:
    kernel-doc-2.6.0
    The following NEW packages will be installed:
    kernel-image-2.6-k7 kernel-image-2.6.0-1-k7
    0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
    Need to get 14.2MB of archives.
    After unpacking 41.4MB of additional disk space will be used.
  31. Re:Upgrade now? by Anonymous Coward · · Score: 1, Interesting

    Not hard at all ... of course, you won't be running the new kernel when you reboot.

    I still prefer:

    'cd /usr/src && make buildworld && make buildkernel && make installkernel && make installworld'

  32. You call that complicated? by Anonymous Coward · · Score: 0

    Nuts, a minimalistic J2EE JCA adapter or what not is ten times that complex. God, I hate J2EE. I made a "Hello World" example using doclets and all that shit in Eclipse and it generated 27 f iles. TWENTY SEVEN FILES for Hello World!

  33. Re:2.6 woes by DrPascal · · Score: 1

    "Broke" it? Do you not use a bootloader to roll back "just in case"?

    --
    DrPascal: Not the language, the mathematician.
  34. Sun E3500 by SHEENmaster · · Score: 4, Funny

    It's like an altair, but with 8 independent 64-bit processors, 32M total L2 cache, 4G total ram, and 8 independent fibre-channel hard drives.

    I use a Linux X terminal as a client, but the principal is the same as on an altair.

    /me shudders at the though of coding with dip switches.

    --
    You can't judge a book by the way it wears its hair.
    1. Re:Sun E3500 by Anonymous Coward · · Score: 5, Funny

      dip switches!? LUXURY.

      I had to re-solder every connection, using my tongue as a wet sponge.

    2. Re:Sun E3500 by SpaceLifeForm · · Score: 2, Insightful
      /me shudders at the though of coding with dip switches.

      Been a while hasn't it?

      Booting from punch card, setting switches, changing disks, all on a machine (64KB of core memory) that would barely fit in a two-car garage.

      I miss the good 'ol days. Damn kids are spoiled these days.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
  35. Re:Upgrade now? by Kourino · · Score: 4, Informative

    If you're having problems with input devices, search the LKML archives for Vojtech Pavlik's 2.6 input FAQ (he's the maintainer of the kernel's input system). You can find a list of searchable archives at the LKML home/FAQ page.

    Err, I'm feeling generous, here: 2.6 input drivers FAQ ^_^;

    You may be confusing the "USB event subsystem" (of which I'm really not sure you're talking about) with the generic input system.

  36. Easy Migration by Voivod · · Score: 5, Interesting

    I just had to port a kernel module I wrote for my employer a year or so ago. Told my boss it'd probably take a week. Instead it took me 15 minutes. I grabbed a Makefile from an example, compiled, noticed that the return type for interrupt handlers had changed, fixed that, done. Thanks to the kernel developers out there for making it so easy!

    1. Re:Easy Migration by Chester+K · · Score: 1

      Told my boss it'd probably take a week. Instead it took me 15 minutes.

      So how'd you waste the rest of the week?

      --

      NO CARRIER
    2. Re:Easy Migration by SpaceLifeForm · · Score: 1

      Likely, hanging out at.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    3. Re:Easy Migration by bsd+troll · · Score: 0

      Doing tech support for his kernel module that compiled fine, but had runtime errors.

  37. LWN also has an excellent series on driver porting by theonlyholle · · Score: 5, Informative

    Linux Weekly News also has a great series on driver porting at http://lwn.net/Articles/driver-porting/. It's in the subscription-free area, so go there and have a look at it.

  38. The article never mentioned "insmod" by xjimhb · · Score: 2, Interesting

    I have a driver for an ethernet card that I had to compile - the source came on a disk with the card. Once it was compiled I loaded it with "insmod" and it worked. To get it to come up automatically at boot time, I just created the "rc.modules" file with an "insmod" line in it and everything is fine. This is running on a 2.2 kernel (yes, 2.2, RedHat 7.0), and I really don't have much need to upgrade.

    Now, how is this going to work for 2.6? First of all, NO F*CKING WAY would I even think of re-compiling the kernel - the machine is 180mHz (yes, that's 0.18gHz if you like that better!) and it would take a week. Compiling a small driver is fine, but nothing really big. It can stay a module with insmod forever and that's fine.

    Second, I am not developing the driver, just using what the manufacturer provided, and I don't really want to figure out how to change it.

    So, the article didn't really say, will there be any sort of "grandfathering" to allow you to just continue to "insmod" older drivers? Some sort of compatibility mode?

    If not, it looks like there may be some pretty severe barriers to upgrading to 2.6, and really good reason to keep work going on 2.4 or 2.2 - minor fixes, security, etc., for those who don't need the grief of a major upgrade.

    1. Re:The article never mentioned "insmod" by Rassendyll · · Score: 2, Informative

      I compiled 2.4.24 on a P166MMX today with 48MB ram running knoppix with a hdd swap partition, it only took about an hour, not bad really...

      --
      An eye for an eye... leaves the whole world blind.
    2. Re:The article never mentioned "insmod" by sploxx · · Score: 1

      Well, 180mHz, i.e. 180 mill-hertz should even make debugging realtime programs with a simple voltmeter possible :)

    3. Re:The article never mentioned "insmod" by Anonymous Coward · · Score: 0

      Similar story here. 2.4.24 kernel, mostly standard slack 9.0 config (make oldconfig)

      p200mmx 128MB ram. The kernel did not take that much time, it was all of the modules that the standard slack config uses. Still, it does not take a week, a few hours at most.

    4. Re:The article never mentioned "insmod" by Anonymous Coward · · Score: 0

      Second, I am not developing the driver, just using what the manufacturer provided, and I don't really want to figure out how to change it.

      Then ask your manufacturer for the updated driver. Look, the API has changed, and someone will need to take that old 2.2 kernel module and update it so that it works with 2.6 kernels. It just isn't going to work with 2.6, tough. There is no way to "insmod" (You should probably be using modprobe anyway by the way) a module from an old kernel into a newer kernel like that.

      By the way, a 180 milli-hertz machine? Man thats slow.

  39. for ppl with kernel compile problems.. by frontloader · · Score: 2, Informative

    ..[besides that its mildy OT]..
    you will maybe get your system up faster if you cheat [cheesily] and grab the config
    from your currently running kernel to start from, provided you have a relatively late
    model 2.4.x || >.
    its the file in most distros thats sitting in /boot called config-2.4.x or 2.4.x.config
    [not really using more than RH or Deb these days, so im sure there are other places/names].
    if you get a working kernel image for 2.6, go back and trim/add options... at least at that point its academic.

    --
    - yummy rootbeer.
  40. Binary drivers are inevitable by calica · · Score: 4, Interesting

    It is just a matter of how well we support it. Currently, nothing. The result, we end up using windows drivers. Examples are ndis and ntfs.sys. This trend will continue.

    An alternative, come up with a standard API for each device type (video, ethernet, scsi, etc) Then create a wrapper between the internal API and the spec. Internal API changes, port the wrapper. If we can do it with windows drivers we should be able to come up with something more efficient and less hackish.

    Original API aged poorly? Design a new one and implement the wrapper as another driver. Both can coexist.

    I see no reason Linus would have a problem with this from a tech perspective. It's just another driver. GPL drivers could avoid the wrapper and would remain prefered.

    Parallel implementation with a BSD would avoid most of the licensing issues.

    1. Re:Binary drivers are inevitable by spitzak · · Score: 1

      I agree this is going to happen, but I think it will also happen at the same time as user-space drivers are added to Linux, and in fact there will be strong encouragement for all binary-only drivers to be user-space ones. This may mean that closed kernel modules are even more discouraged than they are now.

    2. Re:Binary drivers are inevitable by runderwo · · Score: 1
      I see no reason Linus would have a problem with this from a tech perspective. It's just another driver. GPL drivers could avoid the wrapper and would remain prefered.
      How have you in any way mitigated his primary concern, which is that bugs in binary modules will be reported as kernel bugs and increase the support load on the kernel maintainers?

    3. Re:Binary drivers are inevitable by Anonymous Coward · · Score: 0

      The "kernel taint" flag is a good indication. If the kernel oopses just make sure that it is very clearly stated, right at the top of the oops, that you were running a "tainted" driver and should badger the menuafactuer, not the kernel developers.

      Nobody seems to have a problem with this sort of thing on Windows. If a user has video problems the first thing they'll do is get the latest video drivers from the manufacturer and then complain to the manufacturer. They don't call Microsoft and ask them to fix it.

    4. Re:Binary drivers are inevitable by irgu · · Score: 1
      • Examples are ndis and ntfs.sys. This trend will continue.

      Does Captive NTFS (ntfs.sys) work for you? Users report very slow speed (50-100 KB/sec) and lost data. Even the author cannot promise any" reliability.

  41. HTML in modules by caluml · · Score: 0, Redundant

    #include img src="/files/misc/lt.gif">linux/module.h>
    #include img src="/files/misc/lt.gif">linux/config.h>
    #include img src="/files/misc/lt.gif">linux/init.h>

    Wo w - now modules come with a little icon built into the module? All this gui stuff is going way too far :)<br>
    Don't they know about &lt; on that site anyway?

    1. Re:HTML in modules by Anonymous Coward · · Score: 0

      In the HTML: #include <img src="/files/misc/lt.gif">img src="/files/misc/lt.gif">linux/config.h>

      That's... Really impressive. Seriously, how on earth does someone get the job of programming a big site without knowing such things? If it was some small misunderstanding of HTML or whatever, fine, but presumably someone's written some kind of script which processes the content (and run it twice), or done a search-and-replace (twice).

      Don't they ever wonder how other sites do it?

      I'm confused... :-/

  42. Re:Upgrade now? by Anonymous Coward · · Score: 0

    Not hard at all ... of course, you won't be running the new kernel when you reboot.

    Why not??

    I'll give you a hint: The whole world doesn't use LILO you fuckwit.

  43. Re:Upgrade now? by sffubs · · Score: 1

    To be fair, slackware 9 is 2.6 ready - you shouldn't have to do much more than plug in the kernel.

    --
    ݼ)s$æúßðíÊ'öX'îò5^àûßQç£
  44. This is DRM! by QuantumG · · Score: 3, Interesting
    The insmod man page says:

    Some kernel developers require that symbols exported by their code must only be used by modules with a GPL compatible license. These symbols are exported by EXPORT_SYMBOL_GPL instead of the normal EXPORT_SYMBOL. GPL-only symbols exported by the kernel and by other modules are only visible to modules with a GPL-compatible license, these symbols appear in /proc/ksyms with a prefix of 'GPLONLY_'. insmod ignores the GPLONLY_ prefix on symbols while loading a GPL licensed module so the module just refers to the normal symbol name, without the prefix. GPL only symbols are not made available to modules without a GPL compatible license, this includes modules with no license at all.

    Who the hell wrote that? Why was the patch accepted? What part of "I'm in control of my own computer" was too confusing for this guy to understand? Just to make it absolutely perfectly clear, when I say 'insmod foo.o' I expect foo.o to be loaded into the kernel. The only reason why it shouldn't is if there is a dependancy that would make it not work (but I expect to be able to insmod -f throught that). I do not want my kernel checking the license of foo.o and determining whether or not I am allowed to insert the module.

    Even if you make the claim that you have the right to refuse someone who doesn't GPL their module to link to your module, that has absolutely nothing to do with me. It's a matter between you and the guy who isn't GPLing his module. Me, as a user, are free to link any two pieces of software together that I like. You have absolutely no legal claim to stop me. It's my computer. I thought this all was pretty obvious and it was only the stupid corporations that think they can control our lives who write software to stop me doing what I want to do with my computer, now I'm finding linux kernel developers are doing the same.

    If you want to set a "tainted" flag, if you want to show me a warning, that's just fine, go right ahead, but don't ever stop me from doing what I want with my computer. Now I'm going off to hack my kernel to remove this insanity. Who knows, I might post a patch on the kernel mailing list.

    --
    How we know is more important than what we know.
    1. Re:This is DRM! by Anonymous Coward · · Score: 0

      Listen to yourself: first you say the Linux kernel prevents you from being in control of your own computer, then you say you'll go off to hack the kernel and remove this "insanity".

      Hmmmm... doesn't look like it's stopping you from hacking, does it?? It's simply because it's free software.

      BTW, I think there are legal issues involved with linking GPL code with non-GPL code in some cases (depending on how much the modules "share" with each other).

      Nice troll if it is one, and it's too bad I took the bait too.

    2. Re:This is DRM! by Anonymous Coward · · Score: 0

      "Me, as a user, are free to link any two pieces of software together that I like. You have absolutely no legal claim to stop me."

      Remember, this is SCO's argument for owning IBM's work. If a kernel module comes under the OS copyright as a derived work and must have the same terms as a result, then SCO is correct that jfs belongs to them because it was first linked with a kernel with their copyright. If it is true for a GPL work, then it will be true for SCO as well.

    3. Re:This is DRM! by xjimhb · · Score: 1

      No, SCO is a different case. Here is a user wanting to link a module to the kernel. As long as it is for his own use and he doesn't give it to anyone else, he is allowed to do this!

      Remember RMS's original concept of "free" software. The so-called "viral" provisions of the GPL don't really kick in until you want to give the software to someone else, and then it just forces you to give away as much freedom as you got.

      In any case, this has nothing to do with the ownership of the code, if I combine two pieces of code and redistribute, the original owners still own their pieces and I own whatever I contributed to the mixture. If one piece is GPL and the other not, it still does not effect the ownership (it may be a GPL violation, but that's a different issue).

      I agree with the original assertion that a kernel developer has no business telling me what drivers I can or can't use for my personal use.

    4. Re:This is DRM! by spitzak · · Score: 1

      You just said you are not prevented from doing anything, since you can rewrite the kernel. You can also lie in your module and claim it is GPL when it isn't. You can also just put those GPL_ONLY prefixes into your code and thus make it fail if somebody tries to turn on the GPL flag!

      It does not seem you are prevented from doing anything.

    5. Re:This is DRM! by chadruva · · Score: 1

      It does make sense from the license point, this will help to avoid using GPL code in close code (statically linking, mixing code, etc).

      However, this attitudes makes Linux hard to work with, I have to live with half working drivers (yeah it works, but not all the functionability is supported, this to me is incomplete), hardware manufacturers won't open all. This is not by any means helping the adoption of Linux (on the desktop).

      I don't know if I should take Linux seriously any more, by any means. As now that i can't choose between closed and open drivers (yeah I know, I can, but creating close drivers is becoming more dificult, that's my point).

      Anyway the idea of creating a driver layer between the driver (closed drivers) and the kernel with a stable API/ABI sound quite good now. We would only need to modify the layer source for new kernels and support the stable API/ABI.

      --
      C-x C-c
    6. Re:This is DRM! by Anonymous Coward · · Score: 1, Informative

      You misunderstand. This is actually not a message meant for end-users. End-users should be using nice little modules that behave properly. The NVidia-kernel at least used to give off the tainted message before, but it STILL was inserted. I haven't seen this change.

      This is a help for developers writing non-GPL-modules to make sure they are nice and legal. If you as a module writer writes and distributes binary modules, this makes it clear to you whether you are doing something illegal or not. If you are distributing binary-only modules, then some things are just not available to you.

    7. Re:This is DRM! by QuantumG · · Score: 1

      Imagine the situation: my kernel is running, I need to install a module to access [insert piece of proprietary hardware here]. I type: insmod foo.o, I get the above error message. What do I have to do to get this working? I have to go download the kernel source, find the right part, hack my kernel, possibly download the insmod source, hacking that, reboot my machine and try inserting the module again. Unfortunately my machine is running a scientific study that I've been working on for two years. I really need the results that are going to spit out in the next 4 minutes and I really need to put them on their proprietary piece of hardware that I've got a perfectly good driver for. I can't reboot my machine, I'm fucked, and all because some clueless moron thought it would be a good idea to enforce the GPL in code. Just because I can hack the kernel to get rid of it doesn't mean it isn't DRM.

      --
      How we know is more important than what we know.
  45. Re:LWN - MOD PARENT UP by yem · · Score: 1

    Yeah I know its already +5 Informative.

    It can't be overstated how good the LWN resource is though. Awesome.

    --
    No, I did not read the f***ing article!
  46. Linux 2.6 on Mandrake 10 by EvilAlien · · Score: 1

    The next release of Mandrake Linux will feature the 2.6 kernel. They are at Beta 2 of Mandrake 10 right now. Fedora Core Test 2 is specifically for testing the 26 kernel, among other things.

    --
    perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10)'
  47. For an up-to-date kernel book... by salimma · · Score: 4, Informative

    you can read Robert M. Love's Linux Kernel Development , authored by the person who brought us kernel pre-emption, and is now working at Ximian/SuSE on kernel-desktop integration. Can you say Utopia ?

    --
    Michel
    Fedora Project Contribut
  48. Let the market handle it... by Kjella · · Score: 4, Interesting

    Let's say, e.g. Munich or IBM or whatnot finds it's time to make a purchase. Requirements: Linux compatible.

    Once you can attribute a significant number of "Lost sales" to "Lack of Linux compatibility", PHBs will demand that it happens. They couldn't care less about the hobbyist, but if large corporations starts running Linux desktops, as is very likely for basic office tasks, they sure as hell care. And so every peripheral used by corporations, which bleed over pretty damn well into consumer peripherals, then consumers starts demanding the same...

    And then the engineers will go "Gah, this binary API is changing *all* the time. Can't we simply release a GPL driver and be done with it?" And then, after a little talk with legal, and probably the PHB again, hopefully it'll happen. Not to mention they can take the GPL code of any similar driver, and copy-paste (with appropriate copyright headers and all, of course) into their own.

    All Linus has to do is to stay strong on this matter - once Linux is past a reasonably critical mass, I suspect it won't really be much of an issue. The strongholds will be where there is no real alternative, mostly GPUs. But it might also be that Linux is hardly used much by heavy gamers - so they don't see much lost sales at all yet.

    I suspect that it will go the other way. Most drivers will become open, and a few will remain closed. Perhaps in the end, if and when Linux is popular enough, they will simply close the kernel to any binary modules, and whichever has the "weaker" OSS drivers would face lost sales. I sure think it's easier to hit companies where it hurts (in their wallet) than getting Linus to change his ideological viewpoint. We're just not there yet.

    Kjella

    --
    Live today, because you never know what tomorrow brings
    1. Re:Let the market handle it... by IamTheRealMike · · Score: 1
      And then the engineers will go "Gah, this binary API is changing *all* the time. Can't we simply release a GPL driver and be done with it?" And then, after a little talk with legal, and probably the PHB again, hopefully it'll happen.

      I think that's pretty naive. Alan Cox himself has said he can't think of a good argument to make nVidia release their drivers - their fears as to 3rd party IP rights and performance relative to competitors are, apparently, justified.

      In much the same way that it's unrealistic for Linux to not be able to run proprietary software, it's unrealistic to not be able to (adequately) use proprietary drivers. While I'd love for all drivers to be GPLd experience has shown that making the installation annoying for the end user does not lead to more GPLd drivers.

      At some point, somebody will simply take the matter out of Linus' hands by writing a module that provides a stable API/ABI to other drivers. Sure, it'll be less flexible than the one available to GPLd drivers, but they'll have to live with that.

  49. My only wish is for wish! by 0x0d0a · · Score: 2, Informative

    Unless you're really desperate for performance, xv is very comparable. What kind of system are you running, and at what percentage load when playing movies.

    The only reason *I*'m not using 2.6 is that the unified Linux X10 driver (wish) has not been ported to 2.6, and apparently requires significant work. Everyone using Linux in an X10 environment is apparently sorry-out-of-luck at the moment. :-( I'm trying to do up a userspace app that will let me send X10 commands to my PowerLinc USB based on the code in the driver.

    1. Re:My only wish is for wish! by A+Life+in+Hell · · Score: 1

      actually, on some mga cards (specificially, the g400 dual head), using mga_vid increases quality - for some reason, xv plays video in half resultion on these cards, but mga_vid does not!

      -- jj

      --
      Commodore 64, Loading up the dance floor!
  50. Bullshit by 0x0d0a · · Score: 1

    Drivers are complicated in Linux.

    If you're claiming this, you've never been involved with Windows driver development. Windows driver development is far, far worse.

  51. Re:Upgrade now? by MarcQuadra · · Score: 2, Interesting

    Really? I use GRUB, which doesn't need me to reload LILO, so all I have to do is drop the kernel file where there's a grub.conf entry and it boots.

    Ahh the joys of a two-stage bootloader.

    BTW, I run two entries in GRUB, unik-mpd1 and unik-mpd2, unik-mpd2 is the 'safe' kernel, when I'm happy with 2.6 I'll copy it to unik-mpd2 and run newer kernels in unik-mpd1.

    --
    "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
  52. Re:Upgrade now? by rebewt · · Score: 1

    I would agree with that to a point. Slackware 9.1 is really ready, 9.0 is kinda sorta ready.

  53. two car garage by SHEENmaster · · Score: 0, Offtopic

    mine can still heat a two-car garage.

    --
    You can't judge a book by the way it wears its hair.
    1. Re:two car garage by pedrop357 · · Score: 2, Funny

      A garage, huh? So what model AMD do you run?

  54. <img src="/files/misc/lt.gif" by 42forty-two42 · · Score: 0, Flamebait

    These people can't even figure out <, but they feel that they're qualified to comment on linux module coding?

  55. Will 2.6.x improve life for driver devs? by soldack · · Score: 4, Informative

    I would love see linux really catch up to Windows here. Having worked on Windows and Linux drivers I can honestly say that for me, Windows device driver development is much easier. I am comparing writing Windows 2000/XP device drivers with Linux 2.4.x device drivers. Most that I have worked on are networking, storage, or low level bus drivers.

    The driver APIs in windows appear to be more stable and documented better. The backwords compatiblity that MS allows in their driver model is great. For example, each time a new feature was added, it was always possible to use the old style for a few revisions. For example, when power managment and plug and play were added in Win2k, MS made sure you could still make a driver without the new calls and things would work. Even their wrapper models for networking (NDIS miniport) and storage (SCSI miniport) easily allow backworks compatibility. NDIS is nicely designed with versioning in the structures so that NDIS can know what version of the API the driver supports and handle it correctly.

    The documentation in the DDK help is has improved greatly since the dark NT4 days. MS worked hard to audit the DDK docs and work with the developer community to improve them. These days their isn't much you will find in a header that doesn't have a nice page in the DDK help.

    At each Windows Hardware Engineering Conference and also at the new Driver Developer Conferences they go way out of their way to make life easy for driver developers. On the source front, they provide source for sample drivers of almost every kind...even for some currently shipping internals.

    The debugger is great. From a GUI or command linux, I can reload drivers over my debugger connection (serial or 1394) on a live system. I can connect to my debugger over TCP and remotely debug it. I can do almost everything I can do in a normal application debugger.

    I can get kernel dumps of various types from full memory to 64 kb minidumps. Full memory dumps allow crashes to be totally debugged...much of the guess work is removed when you can see everything that was on the system at the time of death.

    They also have great test tools built in. Between Driver Verifier and the Hardware Compatiblity Tests, a massive number of issues can be caught before the driver even gets to system testing.

    In the linux world, I have to live with weak kernel debuggers and lack of true memory dumps. In real low level driver for a DMA device, in many cases you don't get the nice happy survivable oops...you get the "I need a damn camera and small console font to capture what stack made it out" oops. Every linux 2.4 device driver book should come with a digital camera for debugging! I heard that 2.6 adds some sort of memory dump...a dump to disk would make post-mortems so much easier. Any one know more about this?

    Add to that the constant changes that instantly make documentation outdated and force driver develepers to rewrite with only the new source as their guide. The kernel rev issue is not just a GPL it and recompile...the APIs change and the meanings of status codes change, etc.
    Each kernel revision my company supports requires significant work on our end. Even if it was as simple as a recompile and test, the rate of kernels released makes it difficult for developers and system test groups to keep up. It takes a lot to test high end drivers. Weeks can go into a system test plan for a specific revision of the driver with a specific revision of the kernel only to see a newer kernel suddenly become the "new new" thing.

    On the test tools front, the world is fragmented with some companies having some certification testing but no true driver certification tests. I would love to see a 2.6 storage driver tester and a 2.6 networking driver tester. Is there anything happening on this front?

    --
    -- soldack
    1. Re:Will 2.6.x improve life for driver devs? by Voivod · · Score: 1

      The documentation in the DDK help is has improved greatly since the dark NT4 days.

      It's off topic, but can you recommend any good websites on Windows driver development? To an outsider it seems almost completely undocumented on the web. Specifically I'm interested in knowing how to do two things:

      1) How to write a generic interrupt service routine for Win2k/XP that will be called when an IRQ occurs on a specific interrupt level. It's not a serial port, network device, or anything specific that needs those APIs. I'm looking for a generic API for interrupt handling.

      2) Documentation on how that routine should pass data to user space with minimal latency.

    2. Re:Will 2.6.x improve life for driver devs? by soldack · · Score: 3, Informative

      For windows driver development, try http://www.osronline.com/ and click on "The Online DDK". Look under Kernel-Mode Driver Architecture, then under Design Guide, then under Servicing Interrupts. You can also order the DDK from http://www.microsoft.com/whdc/ddk/winddk.mspx . The Windows 2003 appears to be just the cost of shipping.

      There are lots of ways to get info back from an interrupt. The simple "standard" way is for the caller to use an IOCTL interface in the driver and then wait on an event. On the Interrupt, disable the device's interrupts and queue a DPC. In the DPC, drain the device queue, signal the event the user call is waiting on and reactivate interrupts on the device.

      There are other ways but this is the first one that occurs to me. Have fun!

      --
      -- soldack
  56. Yes! It's not! by Anonymous Coward · · Score: 0

    Indeed. It was interesting to note how this thread http://developers.slashdot.org/comments.pl?sid=969 45&cid=8288177 was modded down as flamebait and troll and whatever. Thanks to 14-year old moderators who have no clue!

  57. PCI functions? by daybyter · · Score: 1

    Hi!

    I'd like to port a Agere softmodem driver to 2.6. There's a binary-only module, but also a small interface to some 2.4 functions, like some PCI functions. Unfortunately, those functions seem to be gone in 2.6. Is there any wrapper to emulate the 2.4 functions (like the one to get an ID etc).

    TIA,
    Andreas

  58. Compiled == QA'd by Anonymous Coward · · Score: 1, Insightful

    ...it took me 15 minutes. I grabbed a Makefile from an example, compiled, noticed that the return type for interrupt handlers had changed, fixed that, done.

    Riiight. So by "done", you mean "compiled". Classic.

  59. Woo HTML finally makes it's way to kernel modules by pikkumyy · · Score: 2, Funny

    #include img src="/files/misc/lt.gif">linux/module.h>

    This makes us visually oriented people cheer! No more plain text in code, now images!

    When can we see flash intros in `make modules`?

  60. Kernel modules now written in HTML? by PhilK · · Score: 1

    About half way down the article, it says:

    A generic template for a minimal 2.6 device driver would therefore be the following:

    #include <img src="/files/misc/lt.gif">linux/module.h>
    #include <img src="/files/misc/lt.gif">linux/config.h>
    #include <img src="/files/misc/lt.gif">linux/init.h>

    When did gcc get HTML support? :-)

  61. testt by tacokill · · Score: 1

    tes

  62. Actual "Hello World" examples... by qtp · · Score: 1

    Not that these are much use to anyone here, but the 2.4.xx "Hello World" kernel module can be found here and an updated for 2.6.x can be found here.

    Disclaimer, I have not compiled a "hello world" module since 2.2, so I have not tested either of these examples (although the 2.4 example does look pretty much the same as 2.2, IIRC), so just mod my post all to hell if...

    --
    Read, L
  63. Success! 2.6.2 boot floppy with 1348kB bzImage by Wills · · Score: 1
    FYI I managed to squeeze a 2.6.2 bzImage onto a 1440kB formatted floppy by a combination of
    • removing even more functionality in the kconfig:
      • CONFIG_PNPBIOS
        CONFIG_DEVFS_FS
        CONFIG_DEVFS_MO UNT
        CONFIG_DEVPTS_FS
        CONFIG_PCI_GOANY

    • optimizing for size under CONFIG_EMBEDDED.

    which shrank the bzImage to 1381222 bytes -- just within the 1474560 bytes of a 1440kB-formatted floppy. One minor holdup: at first I couldn't get a bootable system because PnPBIOS kept crashing, so I removed it and then the system booted ok. Apparently several of the components on this very new Via motherboard are not yet supported in PnPBIOS in the 2.6.2 kernel.