An anonymous reader writes
"TCCBOOT is the first boot loader able to compile and boot a Linux kernel directly from its source code. It can compile and start booting a typical Linux kernel in less than 15 seconds on a 2.4 GHz Pentium 4. TCCBOOT uses the latest version of the TinyCC C compiler."
script? (Score:4, Insightful)
Perl5 does the same thing. read, compile, run..
So what are the uses for this?
But why? (Score:4, Insightful)
And I'm still not sure! What's wrong with compiling it every time the code changes and booting up quicker than 15 seconds?
Jolyon
I'm trying to think of a reason why ... (Score:4, Insightful)
Maybe you could use some Knoppix-style hardware detection to probe the hardware at boot-time, then custom-compile a kernel to match? I just can't really see that that would be an improvement over just compiling in everything and the kitchen sink as a module.
Oh, well, even if it's useless, it's neat.
Re:Too fast... (Score:1, Insightful)
Do you actually reboot that often? I'm pissed off if I have to reboot once every 6 months.
There's always an "excuse" to be away from the screen. It's called having a life outside of your computer. If you have let your work enter your personal life so far that you seriously believe you have to be attached you have more problems than you think.
Re:script? (Score:5, Insightful)
I prefer to see this as a great proof of concept that kernel compilation can be made fast enough to do "on the fly". Considering that driver installation for Linux still often requires a kernel recompile, if this system can be made solid enough it could make things like that a lot easier for end users, though I think I'd prefer to have it done at package installation time rather than boot time :-)
Main reason for this? (Score:5, Insightful)
I think the main thing here is the TCC compiler, which is 100K or so, and very fast.
This TCCBOOT is something to showcase the speed of the TCC compiler.
Optimizer? (Score:2, Insightful)
Re:usefulness? (Score:5, Insightful)
Plus using this mechanism as-is without alternative boots would mean compiling your kernel every time you boot. A waste of time and resources.
Note that it didn't say it booted in 15 seconds
This has some "because you can" value, but otherwise I just don't see it as being useful to the user, or even to the vast majority of kernel developers.
Making C feel like Perl is not a good thing for me
Re:usefulness? (Score:4, Insightful)
The only way you can prevent this is to prevent the tinkering in the first place, which is what all the appliance type systems do. Even then, you can always pop the hood and start reflashing the eproms, etc. rendering the device non-functional.
Linux runs on Many different architecturs and supports THOUSANDS of different devices. Because you have the ability to cross-compile and include / exclude support for just about anything, it's trivial to create a non-functional kernel. This is NOT a design flaw.
Back to the topic at hand... It would be very cool to include hardware / device detection and auto-compile all the different modules / support needed to run on any particular platform, even optimizing for the local processor. Furthermore, you do this via netboot / PXE as well as a boot CD. I dont know what capabilities tinycc has for optimization - probably none, but that may be something that could be added.
Re:Wha? (Score:2, Insightful)
Resetting the whole box should be faster than ssh'ing in and typing a "/etc/init.d/shorewall restart" and "/etc/init.d/openvpn restart".
Why? Resetting the box requires the whole OS and all support routines to be started. Restarting a couple of services doesn't - why on earth should rebooting the whole lot be faster? That being said, are you using a cut-down desktop distro? That is probably why it takes so long - take a look at the embedded market for hints on how to have a faster booting system.
Re:What we really want to know is (Score:2, Insightful)
Re:script? (Score:2, Insightful)
why would this be cool? it would mean an end to the 'all systems run the same binary' dilemna, you know
i predict that there will be a distro of linux, using tccboot, in the very near future, which offers the ability to encrypt everything to a unique system key, probably something on-chip. per-processor, custom binaries, it will only run what it compiles itself.
Re:Too fast... (Score:2, Insightful)
REALLY, REAALLLY Useful. (Score:2, Insightful)
TCCBOOT is what is going to defeat the DMCA, because pretty soon, from firmware on, we can all be encrypting our own executable binaries to a safe and unique internal system key. TCCBOOT makes it possible to integrate even the operating system build into a key-based, locked-down-in-sillicon, complete computing system.
As a manufacturer of equipment, this is exciting to me. As a consumer, it sorta is a bit scarey, but I don't wanna be much of a consumer any more anyway, so I'm not that freaky about it.. as a programmer, this really interests me because it means I could probably make money from software again; it'd mean I'd have to *only distribute source* (i.e. the death of precompiled binaries), but then, I like that anyway, being an F/OSS activist, as I am
TCCBOOT is a big wind in a very small place.
How did that get "insightful"? (Score:3, Insightful)
I have problems with Comcast. But I only have to tell people to reset the cable modem. The firewall never has problems.
There's no need to "babysit" Linux. Once you've set it up correctly, it keeps running.
10:15:56 up 156 days, 19:54, 1 user, load average: 0.00, 0.00, 0.02
There's a problem waiting to happen. Will you know if you've setup something wrong on your firewall and you get cracked?
Rather, you are a good example of why ISP's need to offer "managed" services. The Internet is not a safe place to connect a computer and too many people are unwilling to take the time to learn how to protect their systems.
You might want to think about that. (Score:3, Insightful)
Ugly is a matter of opinion.
The useless crap can be removed, UNLESS you're talking about IE which is a problem because it is bolted to the OS which makes the security problems in IE operating system holes.
The crashes can usually be mitigated by rebooting the system. Remember, Microsoft has issued a couple of service packs to deal with problems such as that. Until you get the service pack that fixes the crash bug you're experiencing, you don't have much in the way of options, do you?
What that actually means is that you've never triggered any of the crash bugs that Microsoft has admitted to.
If you don't use a sub-system that has a crash bug in it, is it because you know how to use Windows or because you are avoiding those bugs?
The problem with Windows is that it isn't designed for easy diagnostics. It is easier to just reboot it than to actually find the problem.
With Linux, the diagnostic process is easy.
Go ahead. Show that I'm wrong. What would you do if you were getting a blue screen on startup with a message about the software hive?