Debian Derivative Optimized for the Raspbery Pi Released
sfcrazy writes "The Raspberry Pi foundation has announced the release of the first SD card image based on the Raspbian distribution. The image will make it easier for Raspberry Pi users to switch from 'generic' Debian Squeeze to this 'optimized' image."
The new image is based on Wheezy and optimized for ARM with floating point instructions, and supersedes the Squeeze based soft float image. Benchmarks show much improvement in performance, and the updated software in Wheezy generally improves the usability of the Raspberry Pi.
The bigger performance problem so far are the X window system device drivers.
Right now it seems the driver is just a frame-buffer driver and the CPU does all the work,
and is not using the GPU.
Until they write accelerated drivers, the performance will by slow.
If this CPU were in my cellphone, I'd have paid a LOT less for it.
Unless you just want a phone that works and costs $35. Not everyone has unlimited money to buy phones that have processing power that mostly exists for bragging rights.
Because its optimized for the Raspberry Pi hardware and the tweaks it uses are likely to be near worthless for most other hardware. Its like all the distributions that were coming out for the EEE PC (first low cost netbook to gain popularity) which had the main advantage of being really easy to install/use on the particular platform. In other words, instead of spending a few hours configuring Debian to optimize it for my hardware I can just install a simple OS.
Taxation is legalized theft, no more, no less.
They haven't changed much code, only recompiled it with different settings, so there isn't anything to push back to Debian.
Before & after. Because broadcom does not subsidize it (they would go broke at the rate it is being produced ~ 4000 per day)
In other words, instead of spending a few hours configuring Debian to optimize it for my hardware I can just install a simple OS.
Its not that simple. Now you have to subscribe to the debian security mailing list and backport all security patches to your little customized OS.
Also some day your little offshoot OS will go away or the devs will stop working on it. Now what? That'll never happen with main line Debian.
I hate supporting special little OS like that, its absolute agony. Main line Debian or nothing, please.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
For only a few more dollars you could have a slightly more powerful CPU like tha allwiner A10 and a little more RAM soy you can run real debian and real ubuntu like the Beagleboard, Beaglebone and the Odroid-X can and you wouldn't need a forked, stripped linux distro, you could run the real thing. You don't need a weird graphic processor without drivers that nobody will touch, you need RAM and compatibility.
I hope they fix this in the next revision, the allwiner is selling for penauts nowadays.
Or you just take regular snapshots of the testing branch and merge your changes?
Check here: http://www.raspberrypi.org/downloads
in girum imus nocte et consumimur igni
I was paid $50 to get my phone (free with rebate).. now the service, that's another story. But they go hand-in-hand, so you can't really separate them. It's an HTC Sensation, and is my first foray into smartphones. It's cool - but I really still don't get how people can't live without them. And I'm no luddite, hell I used to work for THE cell phone company back in the day and had one of the first flipphones and first StarTacs. I got those because it was cool.. now I just find them annoying for the most part.
My beliefs do not require that you agree with them.
By this logic every deal the Sales Dept. makes is 'subsidized' depending on customer. RPi got a sweetheart DEAL, not subsidization.
Good-bye
It is weird when you are fixing someones XP pc and you realize that your phone has 2x the memory, a faster processor and screen with slightly more pixels than theirs. A good kind of weird.
But it's not in my cell phone.
Is the domain being hosted by 1,000 Pi's in a cloud cluster?
sudo make me a sandwich
That doesn't mean it's subsidized. Subsidized implies that Broadcom is paying for each Raspberry Pi, either through selling components at a loss or by giving cash to the foundation.
If you mean Broadcom gave the Raspberry Pi Foundation a deal on components that would normally only be available to bigger customers, I can believe that. Actually subsidizing each board? Doubt it.
Ha! not when you figure total cost of ownership
Debian armhf in testing and unstable has a minimum CPU requirements of ARMv7-A+VFPv3-D16+Thumb2. Unfortunately, the Raspberry Pi CPU doesn't meet these specs.
What Raspbian did was rebuild virtually all Debian Wheezy packages to the ARMv6+VFPv2 specs of the Raspberry Pi. Fortunately, the armhf ABI is fully supported on ARMv6 which means that Raspbian built packages run fine under Debian Wheezy armhf. This made the port much easier than it otherwise might have been as all building occurred on Debian armhf systems and the resulting binaries just needed to be verified free of ARMv7 code.
It was explained way back in the early days how it's being done.
Broadcom originally agreed to keep the fab running when they get a big order and produce a small number of extra chips which they'll sell to the foundation for the bulk price.
Why not contribute the changes you make back to main line Debian?
Well it's not much of a fork, much more a port.
The debian foundation has two ARM binary versions, the 'performance' version (armhf) that's compiled for ARMv7 or better chips, and the 'compatible' (armel) version that's compiled for IIRC ARMv4 or better.
One of the reasons the pi is so cheap is it uses an older SoC, based on ARMv6. The cortex chipsets A9 you see in say, the iphone or samsung SoC are ARMv7 instruction set based. So up to now, the standard raspberry pi debian distro was the vanilla armel squeeze, with a wheezy armel beta. However, the pi ARMv6 does have floating point hardware that allows for 'hardfloat' compilation rather than the 'softfloat' compilation option - which is used in the ARMv7 version of debian, but not the armel version. Using the hardware support for floating point calculation is obviously faster than doing it in software emulation, thus the new port to take advantage of every little bit of performance you can get out of the $5 SoC on the pi.
So raspbian is basically debian ARM, but all the binary packages have been recompiled with the hardfloat option to take advantage of the floating point hardware; they're using wheezy as the target, which is current debian testing IIRC. It's debian armhf, but compatible with the v6 pi. The Debian Foundation weren't interested in supporting a 3rd version of debian on ARM hardware, which is entirely fair enough - the amount of people interested in an ARMv6 with hardfloat who aren't using the pi is going to be very small, though they can of course run raspbian on their hardware too if they also have ARMv6 with hardware floating point; it's not like debian are rolling in money themselves. They were happy for a 'roll your own' version though, which is what has happened.
Last I checked, the raspbian project team (which is basically two guys) had successfully compiled basically everything in the debian package tree, along with keeping up to date with the constantly changing nature of debian testing; they had a compile farm running continuously to keep up, and the setup is worth reading about when the raspbian site comes back; it's a tiny operation that's giving hundreds of thousands of pi owners a significantly faster default distro on a shoestring budget. I think it's brilliant, and is an excellent example of why open source is so awesome. Want an entire OS and software custom compiled to get every ounce of performance out of the hardware? Go for it! And look, these guys have done it for you!
Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
From the Raspbian FAQ:
For the great majority of Raspbian users, for practical purposes the answer is "No". Packages from the Debian repositories cannot and should not be used with Raspbian. However, if you really know what you are doing and can deal with a file system that may no longer boot, it may be possible to get certain select Debian packages working with Raspbian. The rest of this answer deals with how that might be done.
Debian armel packages use the soft float ABI which is incompatible with the hard float ABI used by Raspbian. In theory it should be possible to install Debian armel packages in parallel with Raspbian packages using multiarch. However multiarch setups conflict with a hack we had to make to support the videocore libraries and there are other potential issues too. As such we don't currently recommend or support multiarch configurations with Debian armel and Raspbian armhf.
Debian armhf packages should be compatible with raspbian packages but a system with such a mixture WILL NOT RUN ON THE PI. Furthermore there may be corner cases where libraries build slightly differently on Raspbian. Such mixed systems can be useful for development (they were used heavily in the process of creating Raspbian) but are not recommended for general use.
Architecture independent ("arch all") packages are compatible between Debian and Raspbian. Source packages should in general be compatible though some may need modification to adjust compiler settings (most Debian packages just use the compiler defaults but some use their own settings for various reasons).
If it is, I would recommend selling them to all of those that are waiting and buy a real server...
Good question, the changes we make in raspbian come into basically three categories.
1: changing compiler defaults. Theese can't be pushed upstream until/unless the debian tools get an understanding of flavours*. This is a subject I intend to bring up on the debian mailing lists in-time but it may well cause a flamewar.
2: hacks, it's inevitable that when you have only two people doing a project on this scale that you will run into issues that you don't have the manpower to solve properly and so have to hack around to keep things moving forward. Such hacks include things like reducing optimisation levels, using non-default gcc versions and disabling testsuites. I don't think debian would want these changes.
3: proper bugfixes, I do try and push these back to debian where possible.
We do not intend to be a fork, the VAST majority of source packages are imported from debian and rebuilt with no source changes whatsoever.
* a flavour is a variant that is binary compatible but has different minimum CPU requirements.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
For the record we are NOT cross-compiling. We are building natively on arm hardware (though admittedly not on Pis)
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
> That'll never happen with main line Debian.
Try telling that to those of us with DEC Alphas. For some bizarre reason we really won't believe you.
Also FatPhil on SoylentNews, id 863
The only confusing part is that they call the architecture "armhf". This means that you don't get an error message if you try to install debian armhf packages but they just crash when you try to run them.
You can use official debian armel. It'll just be bit slower.
Yes, http://archive.raspbian.org/raspbian/pool/main/g/gcc-4.7/gcc-4.7_4.7.1-2%2Brpi1.diff.gz shows that they modified the gcc-4.7 package to generate code for ARMv6:
+gcc-4.7 (4.7.1-2+rpi1) wheezy; urgency=low
+
+ * Set defaults for raspbian (ARMv6+VFP)
+ * Disable testsuite
+
+ -- Peter Michael Green Sun, 01 Jul 2012 13:20:21 +0000
Short answer: because that is what debian does and if you want to remain sane when rebuilding something as large as Debian you try and stay as close to what they do as possible.
Long answer: while there is some limited support for cross-compiling in the debian tools it is very poorly documented and there is absoloutely no requirement for individual packages to support being cross compiled, let alone any testing as to whether packages meet that requirement. Trying to cross-build would mean that in addition to solving armv6 hardfloat specific issues (which fortunately are relatively rare) we would also have to fixup every package to support cross-compiling.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register