LinuxBIOS Gets GUI
LWATCDR writes "Has a great write up on combining LinuxBios a Linux kernel, busybox, X, a window manager, and rxvt into a two meg flash chip. So what does get you? A six second boot time for one.
All sorts of uses come to mind. Terminals to use with the Linux Terminal server. A very fast booting embedded system like a Car computer. With every one pushing for multi-core cpus, mega gigabyte drives and many gigabytes of ram it is interesting to see how small you can go."
Uh, shouldn't that be a two gig flash chip, not two meg? X is a bit bigger than two megs, last time I checked.
The determined Real Programmer can write Fortran programs in any language.
We call this an Amiga
Fast boot times excite me.
I hope they weren't running their webserver with it.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
This gives a whole new meaning to the word "embedded"!
Yes, but does it run... oh, never mind!
Offtopic???
DUR!!!!
No, this is pretty much exactly what "embedded" meant all along.
While the X server was quite cool, I don't see what functionality it can bring at this stage of the game. I want to see a Linux BIOS that works for my hardware that allows me all the features of my existing BIOS. If you can do that with X, great! But right now, I want function over form. A text base menu like what I have now would be fine.
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
Eh? Just how much space is on your typical RFID, anyway?
It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
If only I could just plug one of these into my PlayStation and boot Linux in 6 seconds, instead of the hours, reboots, and disc swaps to install Ubuntu on it.
In fact, what would be great would be a 2GB (maybe 4GB) Flash drive with minimal linux and gcc running on many different architectures, which loads the Linux source and recompiles for the host into which it's plugged. Maybe caching the last few, including the most popular PPC/x86/MIPS versions, which could of course be precompiled. There's probably a role for the Internet in updates, but running off the local drive will make the process much faster.
Ultimately I'd like to see all this run off the Flash in my mobile phone, booting the hosts off Bluetooth. That would take new BIOS'es for the hosts which could pair with Bluetooth and boot from it before booting the installed OS. Preferably all config'ed and run from an app in my phone.
--
make install -not war
There's a better quality video (i.e. a non-YouTube one) available at http://downloads.sourceforge.net/fornix/linuxbios. ogg
So.. it has come to this
Ahh...but then there's also FBUI, which is a full blown GUI system that runs as an in kernel module (~50k). Has some light weight libraries for interfacing with it. Would save tons more room than kdrive with all this other stuff. No networkable hooks though
Between this, and the Linux support for SIM cards, how long until we can make our own linux phone? A completely DIY phone might even tempt me to get one...
[ cruise / casual-tempest.net / xenogamous.com / transference.org / quantam sufficit ]
But fast boot times have been available for years.
My car stereo (www.empeg.com) has been able to fast boot linux from flash for over 7 years.
The article does mention other applications like carr PC's, etc. but this could have lots of household PC uses. I would LOVE to have something like this, but for "consumer use", it would need to automatically boot, connect to the network using either presets or DHCP, and then present a menu (text or graphical--doesn't matter) displaying a list of available VNC and rdp servers to connect to (I use Windows primarily, so that's MY need, but Linux (aka X) connections could be useful too.) Then launch the graphical session.
Better still, let me just define a dedicated server, and have it auto-boot and connect.
My desire is to use older PC's as quick-booting "terminals" accessing Windows servers. Then, from the users' perspective, it's a seamless Windows environment.
My mom always said, "Jim, you're 1 in a million." Given the current population, there are 7000 of me. God help us all!
...does it run Windows?
Sorry.
Imagine a beowulf cluster of these....
running a bunch of these in a Beowulf cluster.
If you see a rock violating the law of gravity, then the law is wrong, not the rock!
First if you are shutting down your car PC then you are doing it wrong. You use hibernate or sleep modes, shutting the thing down completely is the WRONG way to do it. What that I hear you say? your motherboard does not support linux hibernate? Your fault for using the wrong hardware.
You CAN get hardware thatdoes what you want, you CAN get hibernate to work EVEN on unsupported hardware, Software hibernate exists out there and is a patch for the linux kernel, works quite well and is fast.
6 second boot from bios is great, you are NOT getting the OS to boot to useability in 6 seconds with how most people have their Car PC install. I dont care what kind of voo-doo is going on in the bios. You have to roll your own embedded OS to get the incredibly boot times or use a stripped down slackware to get it done.
Honestly the Linux BIOS needs to focus on working on far more platforms and motherboards first and the flashy GUI last. I love it, we used it in an embedded design 4 years ago but for general use it's limited to a small subset of motherboards.
But the summary's example for CarPC use is not realistic, Designing for a automotive platform first and showhorning a standard PC in your car LAST is the solution to getting lightning fast boot times in a CarPC.
Do not look at laser with remaining good eye.
"who needs hard drives when you can fit everything in the BIOS just fine"
Motherboard support is the most important thing to be working on. I have wanted to use LinuxBIOS for > 5 years now, but the supported hardware list is laughably small.
Given that is for a BIOS project, the primary goal is to load another OS off larger storage medium. So why an GUI? Easy, what do you do when your main OS fails? You reach for a bootable recovery CD or USB drive. Oh, but you aren't at home and didn't bring it with you! Gah! Oh wait, you can boot the BIOS in GUI mode and get on the internet and use a web browser and all sorts of stuff!
Even better, what happens when your grandmothers primary OS fails? Think she can use CLI tools and fsck the disk and other such things? What about a GUI where she can point and click through a diagnostic wizard? Maybe even click something to let you ssh in and fix it remotely?
Realistically, I don't think the setup will stay at 2Meg, but I don't think it will need to be more than 32Meg since you can have a fully useful PDA in 32Meg. And if more storage is needed, it can always be extended by using the "recovery partition" concept.
I'll admit that it's arguable that all this is necessary, but I'd argue that enabling the public to know if the issue is RAM or HDD or some other easily swapable part is necessary in taking the frustration out of owning a computer, as well as in reducing waste. There are too many people that don't know that memory can go bad and be replaced easily and that the computer itself is still quite useful. A diag wizard in the bios can fix this problem.
- Disclaimer: Information in this post deemed reliable but not guaranteed.
My Apple ][+ boots to the OS in 1 second!
...doesn't seem like it would be doing much system checking.
Of course, bad RAM is pretty much a thing of the past.
-rick
deleting the extra space after periods so i can stay relevant, yeah.
I was just coming in here to say the same thing.
It reminds me of my old DOS days when I tried to map DOS into 1024 MBs of very fast level-2 cache on a Tyan Pentium-1 Motherboard. I never succeeded, but it booted quick and crashed faster!
I still run DOS (triple-booting with Mepis and Fedora) from time-to-time for WordPerfect and custom macros and it's right spritely on a Sempron-2800. DRDos 7.03 takes about 3 Mb.
Anyone have any idea? I'd really like to see some work in this area, because a lot of manufacturers fail to fix BIOS bugs (especially after a certain amount of time).
They're using KDrive, one of the build options of XFree/XOrg done by Keith Packard specifically for embedded or small targets. At my last job we were compiling that for a MIPS target, and the X executable came in at around 650k IIRC.
It's the support libraries and fonts that make an X install huge. Drop those and you can easily squeak in a busybox implementation in 2 Megs.
That being said - this is a fantastic hack. Everyone in the thread is thinking embedded computers for cars, but not me. I'm thinking Geode chips, PC/104 boards and industrial control.
And since I'm thinking about it, thank you Keith if you happen to read this. The other guy I was working with on this project actually got in touch with you over IRC and you helped us out with some problems we were having. Very nice of you to give us a hand - we really appreciated it.
Weaselmancer
rediculous.
The title of the Slashdot article is completely incorrect and misleading.
The GUI shown is just a normal Linux GUI which runs after Linux has booted. The fact that its code is stored in the same flash device as the LinuxBIOS is just simple aggregation, and totally irrelevant.
It has nothing to do with the LinuxBIOS code at all, and it is certainly not a GUI for LinuxBIOS.
Great work in making it fit into 2 meg, but really bad Slashdot title.
I've been wanting a cheap laptop to essentially be a dedicated word processor for years. I hate waiting for a machine to load, and I abhor the distractions that a full service operating system offers while I'm trying to compose something. A command line interface and a 6 second boot time sound ideal to me. I can't be the only person who has an interest in a machine like this--witness the Alphasmart product line and its popularity with writers. If I had the ability to mass produce such machines, I would certainly try to market and sell them.
Not necessary anymore. Remove it!
In 2004, Gavin Barraclough wrote an OS (from scratch) in only 3721 bytes:
...
"This is a 32-bit multitasking operating system for x86 computers, with GUI and filesystem, support for loading and executing user applications in elf binary format, with ps2 mouse and keyboard drivers, and vesa graphics. And a command shell. And an application - a simple text-file viewer."
Granted, it may not be the must useful (or maintainable!) OS
http://www.de.ioccc.org/years.html#2004_gavin
"Good news, everyone!"
...Comrade Linux runs YOU!
40-Pin IDE Flash memory that fits quite nicely in the ide socket.
2GB for less than $50.00
I do commend the efforts of getting linux in the bios, but what can you really do with 2MB?
My hard drive can read 30mb/s and has a 16MB of cache. If the image is 2MB, and grub prefetches it into drive cache, can't it also boot this software in 6 sec? Drive spin-up should happen in parallel with POST, so the only time you lose is waiting for the legacy bios to do its thing...
;)
Still, a diskless 2MB Linux + X is damn impressive! After all, "1.44" floppies are really 2MB...
I wonder what would happen if they could work with these guys.
the NPG electrode was replaced with carbon blac
This is a 32-bit multitasking operating system for x86 computers, with GUI and filesystem, support for loading and executing user applications in elf binary format, with ps2 mouse and keyboard drivers, and vesa graphics. And a command shell. And an application - a simple text-file viewer." ...
Granted, it may not be the must useful (or maintainable!) OS
Piece of cake... According to Andrew S. Tanenbaum "you'd have to be real dumb not to be able to write an operating system in a month.".
Sorry, but that dont impress me much. Anyone can do it in a month. Unless you're real dumb, in which case you write an obsoleted monolithic kernel instead. *ducks*
We often refuse to accept an idea merely because the tone of voice in which it has been expressed is unsympathetic to us
"Oh yeah, DVDs are measured in decimal multiples too. 4.7GB == 4700000000B."
Um, no, a DVD is 4700372992B
Which isn't 4.7GB in decimal OR octal.
Why are HDD in Kb (1024) multiples? Because a sector is 512bytes. So a 120GB HDD isn't 120,000,000 bytes.
YOU were the one who wanted to go all pedantic...
So where's the Basic interpreter?
Not only that, but consider that for many purposes, given this BIOS, you don't *need* any other OS. I think that's the real point here.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Apple once embedded System 6.0.3 in the Macintosh Classic ROM. This was in 512K and allowed the user to boot when their boot media was corrupted.
So fitting Linux into 2 meg is hardly surprising. Being flash it can be updated, obviously, highlighting the limited usefulness of the Mac solution.
Unfortunately, the "he must be compensating for something" argument doesn't apply here (in fact, it would apply in the complete opposite situation), otherwise I'd have been all over that.
I suppose I'll have to go with a firm, yet warranted, "you know what they say about guys that write small operating systems..."
I'll be here all night, folks.
You can write an operating system in an hour if all it does is load from a boot sector and play /usr/games/moo. Its making it attractive to modern computer users that takes a while.
Whenever I update the Freshmeat record, I'm noting the addition of two or three FLASH chips, probably the same number of support chips, and usually one or two motherboards. The web pages are hopelessly out-of-date when it comes to what LinuxBIOS supports. My suggestion is to print out the web page then add everything I've noted in the updates since the page was last changed. My guess would be that you would give LinuxBIOS a great deal more credibility.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
The phone is limited to USB 1.1 in order to save power.
this idea was proposed in 2001 on halfbakery.com, an australian site for half baked ideas.
f bakery.com/idea/OS_20ROM_20for_20the_20desktop#107 7642000
their link seems down now, so here's the wayback machine version:
http://web.archive.org/web/20060305034407/www.hal
Even just playing /usr/games/moo is probably harder than you think. Unless by "operating system" you mean something like DOS where you pretty much rely on the BIOS for disk, video, and input. And even then you still have to implement filesystem support (if only read-only), loading of executables into memory, basic system calls, etc. And if this is a statically linked Linux/BSD binary, you'll probably have to know how to switch into 32 bit mode and setup a VM.. in which case you'll lose a lot of BIOS support. Even a very basic OS is a fair amount work.
-matthew
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
does it run Windows?
If my grammar and spelling are off, I am [distracted/tired/careless] (take your pick)
Probably an unnecessary question, but are you aware of wapuro? (waado puroosessa == word processor)
I realize just now that I haven't noticed them in the stores in the last several years, but they used to be quite common in Japan. Small word processing dedicated portable with a built-in (usually thermal) printer. Releatively heavy beasts in most cases, however. Hitachi or Toshiba, about ten years ago, was selling a model without the printer, but ultra-lights of course wiped out the market for those.
I think the problem with maintaining the market is the pricing.
You have a stepford wife.
I prefer the "u" in honour as it seems to be missing these days.