Debian 6.0 To Feature a Completely Free Kernel
dkd903 writes "The Debian Project has announced that the upcoming release — Debian 6.0 'Squeeze' — will have a completely free Linux kernel. This means that the Linux kernel which ships with Debian 6.0 will not have any non-free firmware. The Debian Project has been working on removing the non-free parts since the last two releases. With Squeeze, they are finally realizing that goal."
More threads on the Internet of people going, 'I can't find ucide-34235.fw' and 'why doesn't my wireless card work?!'
So they're finally catching up with gNewSense. This is very cool. It's not for everyone but it's great to have it available.
Even more people who will just download the "non-free" stuff immediately upon installing. Extra steps FTW
The link to Debian's actual announcement: http://www.debian.org/News/2010/20101215
Dilbert RSS feed
I can think of at least two distros (gNewSense: http://www.gnewsense.org/ and Trisquel: http://trisquel.info/) that are the result of people working diligently to comb through the entire Ubuntu distro (not just the kernel) and checking modules/programs/packages for license compatibility. Binary blobs and other non-free kernel modules have always been a concern.
Bravo!
"Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth
Here's the actual article, as opposed to a link to what I presume is somebody's blog. Took me all of two seconds to find. In any case, as I expected, the "non-free" firmware will be available from the official non-free repository. The only thing we really need now is for someone to provide a minor-variant boot/install disc that includes the non-free network drivers, and everybody should be happy. (No, I'm not volunteering--my hardware works.)
Your post isn't even remotely relevant to the topic. Debian never has, and never will, ship binary nvidia drivers, these need to be installed after your base system is up and running and you've turned on the non-free repository. Basic display drivers or nouveau will work without closed source firmware.
-- Linux user #369862
This is indeed a wonderful accomplishment and the Debian team deserves a lot of praise for what must have been a lot of hard work, however, I wonder if they're shooting themselves in the foot and removing hardware support. One of the things that drove me to Ubuntu over Debian on my laptop has been that Ubuntu is willing to package binary blobs for drivers. Nothing is quite as frustrating as getting a system installed only to find that some piece of hardware isn't detected right and is non-functional... particularly when it's something critical like network drivers.
I am very pleased that Debian has been able to get so far while maintaining such integrity to it's mission. I really respect that. But at the end of the day, I want a system that I can use.
The road to tyranny has always been paved with claims of necessity.
So they are switching to BSD, I take it?
No, they are shipping a Linux system that doesn't run under any recent hardware.
Not that bad, assuming someone else will write a script that configures the system and loads all proprietary firmware.
I guess we need both kinds of people, the idealists that keep the system clean and the pragmatists that make the system work. Without them we would either be at the mercy of Microsoft or struggling to boot The Hurd.
Nope, there's free drivers that provide basic functionality with NVidia cards, and once you're booted and on the net, you can still go ahead and install the non-free drivers from Debian's non-free repo.
Wait! When did Debian ever provide NVidia's non-free drivers in main? This is about firmware blobs, and as far as I know, NVidia cards need drivers, not firmware. AFAIK, NVidia users are no more or less boned than they were before.
Actually, from what I've heard (yeah anecdotal, I know)
Non-free binary-blob firmware in the kernel is fast becoming a non-issue
With the success of Android and other non-x86 Linux based devices, having a closed CPU specific blob is not an option anymore if you want device makers to use your hardware
I think you'll find Debian is doing this now, because now most devices have open firmware code that can be compiled for different architectures
Just look at this
http://packages.debian.org/source/sid/firmware-nonfree
Only 14 packages are in the Debian firmware-nonfree repository
That's nothing
Frankly, I think GUIs are oppressive. I long for the freedom and ideological purity of the text-based Listro.
This is comfortably a self solving issue.
You can only complain about your network problem if you can get on the network.
*grin*
liqbase
HURD might be finished if Linux hadn't attracted all the developer attention that wasn't going to the 386BSD derivatives.
sudo apt-get install ubuntu
should fix any problems.
It's getting harder to run Debian, which is a shame. I am slowly but steadily converting my machines to Ubuntu just because I don't have time to mess about with drivers any more. (Typically 1 machine a year; when I need an app that won't run under 'stable' without munching in a half-GB of 'testing' libraries.
From the Debian site:
"In accordance with the Debian Social Contract, we acknowledge that some users require the use of works that do not conform to the DFSG and that those works might include non-free firmware bits. For the time being, we have added to the "non-free" area of our archives alternative installation images and additional packages for Debian Squeeze, that include non-free firmware bits needed to enable specific pieces of hardware. They are not part of Debian, they should be looked for explicitly by interested users, and we cannot support them to the same extent of Free firmware as we do not have access to the corresponding source code. We encourage hardware manufacturers to release only DFSG-free firmware and we cannot accept other kind of firmware as part of Debian."
The sky is, in fact, not falling...
"More threads on the Internet of people going, 'I can't find ucide-34235.fw' and 'why doesn't my wireless card work?!'"
New users should be discouraged from trying to use plain Debian as their introductory system. Debian should be kept pure and advanced with pure Free and Open goals in mind, but noobs don't need that in most cases.
Different tools for different jobs.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
First thing I on a fresh system (and I install a lot of fresh systems due to testing that goes horribly wrong :)
Just put this in your sources.list and your fine.
deb http://mirrors.nl.kernel.org/debian/ squeeze main contrib non-free
deb-src http://mirrors.nl.kernel.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://deb.opera.com/opera-beta/ squeeze non-free
deb http://www.debian-multimedia.org/ squeeze main non-free
After that I down the catalyst drivers from ati.
And only then I start using the system. With all my closed-source goodies :D I love it!
Except one of those 14 packages is a meta-package with about 75 binary firmwares, including microcode for all Radeon cards for example.
Live today, because you never know what tomorrow brings
Your Wrong. REAL LIFE Technology has a use to DO SOMETHING!. Technical correctness is a tool to save us from problems. However it is not the end all be all. In order to get things to work you may need to break the Purity rules to get it to work.
A kernel that is all Free just means there is less hardware supported. It doesn't mean things run better. It is really just a loose loose situation.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
This is the result of a few years of work by Alexandre Oliva (FSFLA), who worked on the Linux-libre project and travelled to give presentations about the amount of non-free software in the default Linux kernel.
http://www.lsd.ic.unicamp.br/~oliva/
http://www.fsfla.org/svnwiki/selibre/linux-libre/
(it's also generally thanks to the gNewSense guys, Paul O'Malley & Brian Brazil in Ireland, who worked on the general issue of non-free software in distros, but the specific work on the kernel was championed by Alexandre.)
Expert in software patents or patent law? Contribute to the ESP wiki!
Not really.
All of it is simply in the linux-firmware-nonfree package now.
Typing this on a Lenny Mac mini G4 with a backported kernel package and with the radeon happily loading its non-free firmware out of the similarly backported non-free firmware package. Ditto for my G4 Powerbook (TiBook), ditto for my spare laptop which is a HP NC4000 in need for a non-free wireless card driver, firmware (non-free) for the onboard radeon and so on.
The only missing bit last time I checked was however something which is quite important - the nvidia packages. By the way the NV drviver is absolutely not an answer here and not for performance reasons. NV does not have working power management. On half of the hardware currently shipping out there it is a sure way to fry your card. It may not be fried immediately. It may take months or even a year or two for it to die, but die it will and it will die prematurely. That has been actually been the case for 5+ years now.
So unless Debian wants to take the responsibility for something that can actually damage people PCs they will have to swallow the bitter pill and find a way to ship nvidia drivers (and have them properly configured powerwise which by the way no Linux distro does at present). It is not that difficult: http://foswiki.sigsegv.cx/bin/view/Net/LinuxNvidia
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
Lol. Luckily I'm not drinking coffee right now.
Hurd is and has always been a lost case. No matter how many developers, if it's dead in the water, they can't breathe life in it.
RMS is great at many things, but attracting and sponsoring development on the order of scale as the Linux kernel and other high-profile projects, he's not. And that's a good thing, really. More legs to stand on and all that.
http://www.debunkingskeptics.com/
Only this sort of insistence on purity is what gives us any FREE drivers at all. You might as well go use a closed OS.
Sure not everyone needs to go this way, but if none do no progress will ever be made.
So they are switching to BSD, I take it?
No, they are shipping a Linux system that doesn't run under any recent hardware.
Not that bad, assuming someone else will write a script that configures the system and loads all proprietary firmware.
I'm guessing that script will be called "Ubuntu".
I was thinking of sitting there beside the computer, quietly cherishing the Freedom it contains.
Save your wrists today - switch to Dvorak
Yep it's totally dead. It can't boot, and no one wants to waste time on it.
http://www.archhurd.org/
Oh wait... Nevermind...
And all zero of the posts about crashes due to firmware being distributed with the kernel. How did you get the idea that the topic at hand had anything to do with proprietary drivers?
No it wouldn't. The Hurd is the Duke Nukem Forever of kernels because the developers suffer the same issues with delivering as George Broussard did.
"doesn't run under any recent hardware"
What planet are you on? Apart from the wireless chip on one of my laptops, none of my three systems (all fairly vanilla) require any proprietary firmware.
I get your point, but you are exaggerating greatly.
Non-free, closed-source binary blobs running on the CPU in the kernel are bad, I fully agree. They can corrupt system memory in terrible, subtle ways, and without the source code it's nearly impossible to diagnose problems. Non-free, closed-source binary blobs running on an external device with completely separate microcontroller, RAM, etc? What's wrong with that?
The whole point of having firmware in an external device is to separate/wall-off the functionality of that device from the general-purpose CPU and memory. In fact I can't think of a single device in a modern computer system that doesn't have some sort of firmware. Not all devices have loadable firmware like the ones Debian is targeting, but who gives a crap if it's loadable or not? In fact I would rather that every device have loadable (or at least flashable) firmware so that I can upgrade it or get bugfixes from the vendor.
The usual argument against these firmwares goes something like, "IO devices have access to full system memory, and are thus unsafe unless we see their firmware." Well, any IO device has access to system memory whether or not it has firmware. A buggy piece of firmware-free hardware can just as easily scribble on anything in memory or generate a flood of interrupts or whatever as something with firmware. This requirement is tantamount to requiring all the RTL for every device attached to the computer, which is certainly not going to happen.
No way. GNU projects do not allow the chaotic early linux kernel development attitude.
Better chaotic development than no development.
If someone is passing you on the right, you are an asshole for driving in the wrong lane.
That's not necessarily true. A lot of very common modern hardware runs on open drivers. The only places where there's any real trouble is graphics and wifi. As graphics go, Intel is fully open (aside from the GMA 500) and you'd be surprised how good their recent chips have gotten. The GMA 945 stuff, frankly, gave them a bad rep they don't really deserve anymore. But still, if you want top of the line, you'll probably want to go with an AMD or nVidia card, and a closed driver.
As wifi goes, there are plenty of choics out there you can get that are supported by a fully open driver. I have a DLink wireless-n card in my desktop that's supported wonderfully by the fully open ath9k driver. You don't need a firmware blob or anything.
So, the situation is wrt hardware is much better than it has been, and if you're the sort of person who cares about purity you can achieve it with a small amount of effort.
Thankfully, us ideologues do exist and are willing to fight against computer proprietarization while we still can and aren't going to wait until everyone is running an iPad-like walled garden with the US government holding a backdoor key. These things do have long-term consequences.
They gave us the microcode, but not the source used to compile the microcode. It's basically a blob that runs on the GPU parsing command packets and executing them. So while they've documented the command packets, there's another level of code between it and the hardware. Exactly like how CPUs have microcode to execute x86/x86_64 commands, the only difference is that on GPUs they're loaded after the system is booted by the driver. It doesn't really make the GPU closed source any more than Intel or AMD are closed source CPUs, but if you want to get really formal about it you are distributing a non-free piece of software.
Live today, because you never know what tomorrow brings
Its not limited to proprietary firmware. (Although that may be the only bit that affects the kernel directly).
There are a lot of non-free portions in the sound system, video chipsets, and a few other interfaces that may work to some degree using open source drivers, but usually not well, and not right away.
You have to run vendor supplied drivers for ATI/Nvidia/Intel video, or suffer long waits for the open source versions to catch up.
Similar situations exist for audio chipsets, as well as mp3 support in some distros. Wanna play that DVD video? Not going to happen with ONLY free opensource software distributed by many Distros. Admittedly not all of this stuff is kernel country. But the point remains that a totally FOSS machine has some fairly large challenges.
Just don't buy anything really new and you may not notice the difference.
Sig Battery depleted. Reverting to safe mode.
Or happen to want stability and no random crashes you cannot debug. Go read lkml and similar lists about the frequency of crashes due to dodgy proprietary drivers.
Possibly true, but 99.999% of users have zero ability to debug a device driver. We/they're reduced to googling and asking in forums based on error messages and their experiences, which is not really much different (from their perspective) than if they were using a proprietary driver.
I appreciate your point, but I just don't think the average user cares. My $NEW_HARDWARE is crashing. I either find a fix by googling/foruming/manufacturer website or it doesn't work. Having the source available to me doesn't change that experience really.
Advice: on VPS providers
Not just Linux, they yanked it out of the kfreebsd kernel too, which is causing problems because you can't just install a firmware-kfreebsd package - yet. I think they were a bit premature pulling the trigger on the kfreebsd kernel. Check out: http://lists.debian.org/debian-bsd/2010/12/msg00046.html and http://bugs.debian.org//cgi-bin/bugreport.cgi?bug=594940
Depends on what you need to do. Some people actually need to do jobs which require they use modern graphics cards' capabilities. It's quite a stretch to argue those people don't need vendor supplied drivers. Sure, an individual (who is fanatically purist) could pick a different line of work, but SOMEONE is going to be doing that work (because society wants the work done), and that SOMEONE needs those drivers (because there simply isn't an alternative).
http://gcc.gnu.org/wiki/History
"At this point, I concluded I would have to write a new
compiler from scratch. That new compiler is now known as GCC; none of the
Pastel compiler is used in it, but I managed to adapt and use the C front
end that I had written."
I guess we need both kinds of people, the idealists that keep the system clean and the pragmatists that make the system work. Without them we would either be at the mercy of Microsoft or struggling to boot The Hurd.
Sounds a lot like Haskell mentality: write as much "pure" code as you can and then do what little you must inside the IO Monad.
Hey man, you are already posting on Slashdot. How much more non-free can you get?[1] ;)
[1] Admittedly the slashcode project does exist, but Slashdot proper is indisputably not DFSG free.
Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
..and the flipside is true too.. in any context, people like yourself help ensure the next tyrant's regime. while he rules, only the progress which benefits him is permitted, causing him to become an obstructionist troll to those on the outside. when this (inevitably) happens, he enlists the help of established authority to prop up his business..
so, yes, while life is made up of compromise, it is not an excuse to roll over and simply take what is given to you, because, inevitably, it was not made to serve you, it was made to serve the one who made it.
Linux Mint Debian Edition
Meh, I was bored and it was more fun writing that than doing any work.
It'd be nice to be clear on licensing, redistribution rights etc.
Proprietary blobs are always very clear on licensing and redistribution rights :-) That's probably the first thing they tell you when you install them.
I'm not sure if the binary firmware blobs in the kernel have any different redistribution restrictions, though
I very much doubt that any such blobs are explicitly licensed for use under Linux and not, say, NetBSD. Your incarnation of the free OS would use the same blob in basically the same way. Of course if your OS can't talk to this or that binary driver, it's just too bad - but it's not the license that forbids you something, it's your new and improved driver API that does you in.
With regard to the freedom to understand (as another poster mentions) there is very little to understand in that code unless you also have the schematic of the hardware, *and* the HDL code for all the ASICs that are involved. For example, the super-duper-secret piece of NVidia code can say this:
uint32_t *p = (uint32_t *) REG_ARRAY_A_AUX_CTRL_REG3;
*p = REG_ARRAY_A_AUX_CTRL_REG3_SETUP1_MASK;
What does that tell you? Nothing, unless you - like the NVidia firmware guy - have access to *all* the relevant documentation and on top of that have the phone number of the ASIC developer on a speed dial. Without such information you know just enough to be dangerous :-) You can change one bit and burn the hardware. A lot of the code is also written in a certain way, and it may be not obvious why. For example, you may "optimize" a piece of code and break everything because the original code was crafted to execute in so many clock cycles or to leave certain registers untouched. We may debate whether this is a good way of writing code or not, but that's how some firmware is written, especially if you can't afford timer interrupts (like when you generate a serial bitstream for a chip that is much faster than your CPU.) In those cases you need to have very good understanding of the hardware that you are driving, and have a datasheet handy.
In other words, there is very little to learn from those binary blobs. Life is too short to study some junk code written to run some junk hardware for which you don't have a shred of documentation. And if you really want to learn something, build your own hardware from OpenCores parts and write your own drivers. I think they have a complete set of blocks there to build a decent computer from scratch.
That's fine, but how about the Broadcom wifi in two slightly older Dell laptops that I own? Both are from 3-5 years old and both are perfectly serviceable laptops. Both are a nightmare every time I install a new distro, because I have to figure out which specific revision of which specific wifi chipset is in the damn laptops. Then I have to find a working driver from god knows where, sacrifice a couple of goats, and in the end MAYBE my wireless will work. On a good day. When the sun is shining on me.
I know some people will say just replace the wifi cards with something more open, but why should I have to replace perfectly good hardware that works?
I'm all for keeping the kernel clean, but please, distro makers... make it easy to find and install the non-free bits that are needed to operate non-free hardware. It's ridiculous to expect that everyone builds their computers from only free and open hardware.
At least in modern ubuntu releases, this is fairly easy and automated with the Hardware Drivers app. This is sorely missing in Debian.