I want to build a Linux distro?
Saturday, January 15th, 2011 at
09:48
I want to build a linux distro which is entirely terminal based. I’m considering LFS and I want to include only terminal based applications. But I want it to be as simple as possible. No long commands to remember or anything like that. Anyone want to form a team?
Tagged with: Linux • linux distro
Filed under: Linux Applications
Like this post? Subscribe to my RSS feed and get loads more!
If you want to build a console based distro I recommend you read this thoroughly:
http://info.ee.surrey.ac.uk/Teaching/Unix/
It’s essentially a tutorial for the bash shell. There are other shells you know, but iit’s better to look at them after you know the bash shell.
The first thing to understand is that until X starts your OS is console — not terminal based. A terminal is an X-Windows program (still) which gives you access to the console. I’m typing this on slackware — using X but while I could set it to boot to X I most emphatically refuse to. Gentoo also does not install X-windows by default.
I’m still torn about going into the history or telling you what skills you need and what you should have done. In essence what we call Linux is several products from several sources — Kernel.org the GNU TOOLS, X.org and BSD — which together form a modular operating system. None of the shells have long commands to remember, but they ALL have tortuous ones with MANY options. You may be dissatisfied with it, and want to write a new command shell. Fine. A shell is an interpreter and many second semester CS students are assigned the task of writing an interpreter. Many of these shells are free because professionals decided they didn ‘t like what they were using. In other words it is NOT unreasonable to JUST tell you go do it.
I’ve done Linux from Scratch. I’ve even installed it to a pen drive (don’t, the pen drive runs Pure Dyne now). It’s a hard job but a GREAT education whether you succeed or don’t. And obviously even now I don’t have a clue which will happens when I start — both have. So I advocate it. Don’t just jump in though.
If you’ve never built your own kernel, do. I don’t know what distro you use — but the last time I used the provided kernel it was on debian which I switched off of "for a few weeks" in 2007 and haven’t been back to since. I will use defaults to bootstrap my systems and compile the kernels I shall be using, but mostly I play with make menuconfig a lot. And oldconfig but I will get back to that.
Now if you don’t know about gentoo — it’s sort of a meta-distribution which compiles programs SPECIFICALLY for your machine. Here is a tutorial I published on doing it when you aren’t a computer guru:
http://www.linuxforums.org/articles/easy-installation-of-gentoo-linux-use-the-slax-live-cd_888.html
Debian-based distributions like Ubuntu or Mint, use different configurations than more UNIX-like linuxes like slackware (which slax is based on) or gentoo. You will find a configuration file in the boot menu of most Debian-based distros. It is different from the config.gz file on, say the slax or gentoo install disk and I wouldn’t use it. I would DEFINITELY do a gentoo install before a Linux from scratch, because you are doing the same thing which is using a host os to bootstrap your system into operation. That said I’m currently doing a reinstall i’m having problems with.
If you have a programming background then having done that and Linux from scratch you should be able to write an interpreter to suit yourself. I would however look at Mac OS X which uses bash and other programs Linux uses for its command line. The last step, making a distribution, there are a LOT of tutorials for. The first step is just to get an image of your ideal system onto a hard drive. So good luck.