LFS 4.0 Released
Tekmage writes "For those of you who have never had the pleasure of rolling your own Linux install from scratch, take a moment to check out Version 4.0 of Linux From Scratch. Definitely for the techies amonst us, there is (IMHO) truly no better way out there to get down and dirty with the inner workings of our favorite OS." LFS organizes its documentation into "books"; 4.0's book is dated yesterday.
Seems like a great way to learn the OS, anyway. Not for everyone, I suppose, but definately cool for the learning crowd, or if you plan on doing a large number of custom installs.
I have been using lfs for about two years. I cannot imagine going back to a normal distribution. LFS gives you so much freedom with the way YOU want to setup your system. If you are looking for just something to do, or if you dislike all the available distributions, try out LFS and you wont be sorry.
Man they must have seen us coming (have they been /.'ed before?), that is a nice list of mirrors on the linked page... that is until the linked page gets killed ;)
Are you local? There's nothing for you here!
Why not just use Gentoo? You get all of the benefits of a fully customized and compiled distribution when you want it. Yet it's completely automated for when you don't want to be bothered with every little package that goes into a fully functional system.
I've been using the 4.0 release candidate for about 2 weeks now, and although it is AWSOME, it does have some problems with some packages, like GDB and Tripwire (neither will compile). I'm pretty sure the problems are related to GCC 3.2. Hopefully a patch for GCC will be released soon so as to compile these apps properly. Just a warning for those interested in LFS (its great otherwise).
Gentoo is pretty much based on iso-linux from the linux from scratch project.
The benefits are great documentation from their website and the best package manager out today. It truly feels like an os you own and not by some corporation since you have to put the os together yourself. The forums are also great. If you want to get your hands dirty and have a huge community help you out through the process then look no further.
http://saveie6.com/
The gentoo config files are not all that bad - they bring order to the chaos that is a source based distribution. With LFS you either remember what you have installed (which may be easy since you tend not to install very much when you have to do it from scratch) or most likely keep track if it in a file (or on paper). Either way you need to know what you have installed so you have that info available to pass as configure options. With gentoo you keep track of that in one place. Then for every package that *can* use, for example, OpenLDAP it will automatically be configured to use it. It's so much easier than LFS - and yet I'm failing to see what you lose with Gentoo...
Its been a great way for me to learn the ins and outs of Linux. I still don't know everything but I'm much more comfortable setting everything up. And the #LFS channel on irc.linuxfromscratch.org is very helpful.
As an aside, try using Slackware 8.1 for your base distro. Its got a pretty small footprint but it still has everything you need.
Vote for global prefs bug
I don't get you. LFS is a great way for people to get a grasp of what gnu/linux is/contains. If they have the time or not is up to them, but this definately is news for nerds. I'd say that lfs has great eductational value. but that's me.
c0w goes moo.
I'm sure people are going to reply saying that LFS is a niche product and not news that many people care about.
Well, though most of you are probably exposed to Linux through the desktop, Linux is winning it's in-roads in the industry through embedded systems and handheld devices (not desktop). Functional LFS installs can be as little as 5 megs or so and completely customized. Perfect to compete with several-thousand-dollar offerings from MS, Palm, etc.
So if embedded systems are driving commercial linux support, in a way LFS and systems like it are more important in the short term than Mandrake and SuSE.
So why not write your local LFS contributer and say thanks?
Uninnovate - Only the finest in engineering.
the reason LFS doesn't come with cron is because it is not an ESSENTIAL program to the operation of a linux system. you may want/need it, but someone else might not. it isn't essential so its not included, plus there are hints that provide information on how to compile it. that is what is so great about lfs, anyone in the community can contribute by writing a hint.
LFS is a great way to learn Linux. It truly helped take me to the next level of my personal understanding of how things work.
However I would never recommend it for a production system. Even using it for a personal workstation takes loads of time to manage. One doesn't appreciate package management until they have installed a LFS system!!! Of course one could always use RPM/APT/DEB after doing a LFS installation...
"Linux install" and "pleasure" do not belong in the same sentence.
But if you need handholding, you really need it. On the other hand, if you're comfortable with using Linux, but want to know more about how it's put together, even Slackware is too high-level. LFS, on the other hand, is the ultimate Linux-learners tool, because it doesn't automate anything.
For some time I'm toying around with the idea of using LFS as the basis of a linux distribution.
Use LFS to create a linux demo/distribution, a bit like Beos R5. You boot the cd, try it out, and if you like it, have a program to copy the cd over to the hard disk and setup a bootloader.
And keep it small. BeOS managed to cram a lot of stuff into a 40mb iso image. Current mainstream distros are too fat, spreading all on at least 2 cds.
Well, gotta ditch the older version and check this new LFS book.
- Cron is not essential.
- Cron has historically been a security risk. What's the patch level on Vixie-Cron?
:-)
- Cron packages generally (there are exceptions) require a sendmail-like mail system for reporting
results. Sendmail (and even its not so
cumbersome clones) isn't generally necessary
or even wanted.
All that said, there's a wide choice of crons you can install, just see the BLFS (Beyond Linux From Scratch) hints.A text webbrowser, a ftpclient, telnet etc is also pretty basic, but don't expect to find it in LFS. LFS is sorta just enough to build another LFS from.
e etc etc stuff, check out Beyond Linux From Scratch:
If you want that cron/ftp/telnet/lynx/cdrecord/lame/xfree/kde/gnom
http://beyond.linuxfromscratch.org/
Johan Veenstra
yes, you do need somewhere to compile the chapter 5 programs in, but there are many people who provide iso images with the chapter 5 programs precompiled, or you could use another box to compile the stuff for chapter 5. after you have that sorted out, you could than just install the things from chapter 6 that you want and skip the other things. what is nice about lfs is that you can install what you want and not install what you dont want.
In order to build ANYTHING you need an existing tool chain. Here that means gcc, bash, ld, etc... LFS starts with creating a bootstrap system using your existing distribution: this existing distribution might just be a bootable ISO cd. LFS DOES go through everything: the kernel, gcc, glibc, ... everything.
LFS will show you how to build your own Linux, step by step. It will tell you everything you need to know to understand the bootup process.
If you want to run LFS on a 486 though, you'd probably be a lot better off getting it going from your main system, and then copying over. glibc alone can take HOUR(S) to compile on a modern system.
------ 24.5% slashdot pure
> Okay, so what do these people mean by "Linux From Scratch"?
> Installing another distro first to install "required tools"
> is in my view not installing from scratch.
If I understand correctly, the other distro you use to build
your LFS is not part of your finished project, and does not have
to be installed on the same drive or end up running on the same
hardware. i.e., you can take the hard drive from your 486 and
pop it in any working Linux system and build LFS on it, then
put it back in your 486 and use your shiny new LFS. At least,
I think that's the theory.
Cut that out, or I will ship you to Norilsk in a box.
Hey fear not. Getting KDE running on an LFS system is not *that* hard.
:) the completion of the lfs-book.
;-)
There's a subproject of LFS, that isn't as well known as it should be, that's documenting the process of installing software after (or I should say 'beyond'
http://beyond.linuxfromscratch.org/view/cvs/
In there, you will find all the information required to install the graphic libraries, X11, KDE, and so forth.
You can also check out the lfs-hints for additional software/issues that are not covered by the blfs-book;
http://hints.linuxfromscratch.org/hints.shtml
It's more about taking the time todo it
-1 Jackass
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Once the Gentoo ISO burned to CD is on hand does the Gentoo install require much more downloading? I'd like to give it another try but I'm on 56k for a while. I did check out gentoo.com but I couldn't figure out how much things had changed since I last tried it quite a while ago.
Your particular definition of scratch involves compiling the C source code.
:http://www.linux.org/dist/index.html
Some might say scratch could also be:
- Writing it in assembly
- Writing it in x86 machine language
- Flipping the bits on the hard drive
- Re-inventing the C source code
All of the methods require additional tools:
- A tool to take the Hard Disk and provide a file structure, write a boot sector and loader
- A tool with some commands to copy the compiler there
- A tool to take the C source code and generate the machine language binary code
You might find it similar to how mammals develop. As far as I know, most mammals require parents to feed, care, and raise their young. I can't think of any fertilized egg, fetus, or newborn that can survive without the parent to hand down their knowledge (I even heard that the reason we are able to live past 30 is to provide knowledge as grandparents or family/clan elders).
I have thought of one way to completely write the OS with only one machine. A long time ago, the old IBM PCs (and Apple computers) had a key sequence which would break into debug mode. After this mode starts, you would be able to type in the machine code to get a rudimentary system going. Another way would be to get an old ethernet card with a rom chip and burn a startup rom. Then you type in the boot loader.
For example: a bootable ``Hello World!'' program, consisting of just over 100 lines of assembler code.
While 100 lines of code is easy to hand type, imagine typing in the 10,000-100,000 characters for an extremely simple operating system. Then imagine hand typing in the machine code for a C compiler (yikes!), unless you want to hand type in the millions to 100's of millions of bytes of machine code to write a Linux system. There would be another way speed it up if you take apart a keyboard, wire it to a device capable of playing back keystrokes. I started to work on this but have postponed it until better times. I did start out by building Linux from Scratch and it took me 30-40 hours of very patient, slow progress. The complexity of even a minimal Linux is boggling when you jump in, compile, link, and see how much text scrolls by your screen when compiling it.
The advantage to Linux from Scratch is you have the greatest control over the OS. Without your direct control over every detail it won't run, as it depends on your Linux knowledge or following the tutorial to install.
Other links:
From-PowerUp-To-Bash-Prompt-HOWTO
How to Write an Operating System
If you want an extremely minimalist Linux distro, there's a list at
Select Category-minimalist, Platform-Intel compatible and click go.
Search for gateway on the page.
I've tried the following ones because they have the basic OS requirements for a user, they load from a floppy, and move resources to RAM:
Alphalinux
muLinux
You obviously didn't take the time to look at any of the recent books then. ReiserFS support was removed a nunber of months ago (from the lfs-book) and moved into the blfs-book.
t lf s/filesystems.html
There is now a dedicated section, not just for ReiserFS but any other FS we eventually want to include and support;
http://beyond.linuxfromscratch.org/view/cvs/pos
My home box, a 600Mhz AMD Duron, was bought two years ago, and I spent some days installing LFS on it. It's still the system I use now. A lot of software was added over time.
It works fine. However, now, after two years, package management is getting a bit aggravating. I find I have to upgrade libraries and stuff before I can install some new things, and there's no good way to uninstall the old ones. So you just make install the new one over it and hope it's all ok. I suppose I could look at the logs of make install to see what went where, and delete it by hand, but many of those logs are gone and it's too much work.
And recently I wanted to install something that triggered a bug in my trusty old gcc 2.95.2 (an actual software caused sig 11). So I installed gcc 3.2, the latest. And yes, many things have trouble, probably because their C++ isn't entirely up to the standard, but it's still irritating. Also some .configure scripts seems to get confused when the gcc version is 3.2. Keeping both around is doable, but not as smooth as I'd want it.
This system is fun, and everything is *exactly* like I want it, but I'll go to some "real" distro on my next computer.
I believe posters are recognized by their sig. So I made one.
One point that installing LFS drives home: GNU/Linux is a totally fair name. If I recall correctly, of the LFS version I installed, 45 of 61 packages came from ftp.gnu.org, and some others were also part of the project. Calling my system a GNU system is actually more accurate than calling it Linux. But I'll reserve that name for systems running Hurd.
I believe posters are recognized by their sig. So I made one.
I learn't an awful lot doing this, but still have far more to learn yet. That's why I've begun trawling through Beyond LFS. The LFS documentation is very good. If you want to know more about a particular package read the INSTALL and README files after unpacking the file under /usr/src.
I haven't seen Gentoo so I cannot compare, but I can say I'm very chuffed to boot up my very own linux distro and to spend time building upon the LFS foundation (and all the time my understanding of linux grows too!).
Thanks to the LFS team for their efforts and respect to you all.................
A UYK-7 boot had you pull a loader out of its 512 bytes of NDRO (read, BIOS), which you then used to load a program loader from tape, after which you initiated the program.
All via switches and direct register manipulation in octal.
Aye, MS-Denial Of Service (DOS) was heaven by comparison...
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
When you bake cookies "from scratch," that doesn't mean that you're buying some chips-ahoy's in a ziplock bag and heating them up in the microwave.
It means that you need some tools, a cook book tells you the ingredients and what to with them, and you bake yourself some cookies.
The right time to try LFS is when you feel you've learned everything you're likely to learn from playing with SuSE. Or maybe when you just have an overwealming LFS itch you need to scratch. Or maybe there's just not anything on TV.
But what if there's something in LFS I need to know and don't? Well, the LFS text is pretty good at specifying what you need to know. So if you get stuck, just go back to playing with SuSE until you feel ready for another pass. But you're probably smarter about that kind of basic stuff than you think.
AFAIK, the problem you suggest has been corrected in later versions of emerge. Unless you remove a package forcefully you will be warned about the dependancy issues.
It's just an unpopular opinion.
I've tried Gentoo too. I think the portage system per se is pretty good, and I like their XML based documentation. However, the software in portage is not up to the quality standards of Debian, for example. I emerged X11, and after waiting for several hours I was rewarded with non-functioning X server software a missing external symbol). This is not a problem with portage per se, but the contents of portage. Yes, I do have the source, but I don't have the time to figure this one out when I can simply download a Debian iso and know that everything will work.
Of course one glitch like this doesn't put me down on gentoo. I think it has a place, but I can't see using gentoo on anything but my personal experimental machine. First it takes to long to install major systems by emerging them. Secondly, it's too bleeding edge and therefore (in my opinion) too squirrely for use on machines I have to provide support with.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Dewey, what part of this looks like authorities should be involved?