Linked by Steve Mulder on Fri 31st Jan 2003 07:35 UTC
Why, you might ask, would anyone want to build their own operating system? It's really about being in control and knowing what's going on.In the next few paragraphs I'll explain what motivated me to take on this project, the recipe I used, and what I like about it.
Permalink for comment
To read all comments associated with this story, please click here.
450MB is minimal?? Oh Dear. It must be Mozilla and what not. Even if you included the source in the 450MB, that's still 200+MB, and still blinkin' enormous. IMHO.
I've never followed the LFS instructions before, but looking through them and they seemed pretty straightforward.
I have built a custom "single floppy" system before. You need to be a lot more frugal, but it wasn't overly difficult. Always a thrill when it actually boots, too.
For your amusement, it was designed for some thin clients: kernel, ppp, telnet. It was going swimmingly until I needed to add lpd, and discovered that lpd was HUGE! That killed it right there as I didn't have the time to tear it apart and strip it down. I was truly disgusted at the size of lpd.
I also didn't know about busybox at the time, either. That would have made things easier too, I think.
Anyway...
Even if you don't build your own system from scratch, it's nice to do things like go through your boot scripts and understand what every part of that process is, and what every program does. Do you know what everything listed in ps -ef is doing on your system? Most folks don't.
We hardened a stock Solaris box and when we were done, ps -ef had like 5 processes running, and one of those was the shell.
When it all comes down to it, the system needs very little beyond init.
I need to try the mini-ISO from BSD. BSD is a better starting point nowadays I think specifically because of it's lack of dependence on Perl, which has ...umm... grown, over the years, and tends to be plopped wholesale onto systems.
Perl's wonderful, etc, but it's a bit large for a minimal system.
But, everyone who is so inclined should try something like this. Understand everything in your rc scripts, understand what everything in /dev does. These are all black holes on many folks systems.
450MB is minimal?? Oh Dear. It must be Mozilla and what not. Even if you included the source in the 450MB, that's still 200+MB, and still blinkin' enormous. IMHO.
I've never followed the LFS instructions before, but looking through them and they seemed pretty straightforward.
I have built a custom "single floppy" system before. You need to be a lot more frugal, but it wasn't overly difficult. Always a thrill when it actually boots, too.
For your amusement, it was designed for some thin clients: kernel, ppp, telnet. It was going swimmingly until I needed to add lpd, and discovered that lpd was HUGE! That killed it right there as I didn't have the time to tear it apart and strip it down. I was truly disgusted at the size of lpd.
I also didn't know about busybox at the time, either. That would have made things easier too, I think.
Anyway...
Even if you don't build your own system from scratch, it's nice to do things like go through your boot scripts and understand what every part of that process is, and what every program does. Do you know what everything listed in ps -ef is doing on your system? Most folks don't.
We hardened a stock Solaris box and when we were done, ps -ef had like 5 processes running, and one of those was the shell.
When it all comes down to it, the system needs very little beyond init.
I need to try the mini-ISO from BSD. BSD is a better starting point nowadays I think specifically because of it's lack of dependence on Perl, which has ...umm... grown, over the years, and tends to be plopped wholesale onto systems.
Perl's wonderful, etc, but it's a bit large for a minimal system.
But, everyone who is so inclined should try something like this. Understand everything in your rc scripts, understand what everything in /dev does. These are all black holes on many folks systems.