Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Due to the indeterminate state of security over the internet, I will not provide my name except to say my username is forusword.
I am more or less brand new to Linux. I have a beginners level of knowledge about installing and implementing the OS and its software packages.
I realize that LFS is a task for all users, but geared toward an intermediate audience. Perhaps if I were an intermediate user, I would know the answer to this question which I have prepared for the Linux Questions users:
"Why do I require a host system in order to successfully compile LFS?" Not to be pragmatic, but that sounds to me like Linux isn't being built from scratch by building it in this manner. To cut to the chase, I wondered if there is an order that I can compile the necessary software packages so that I do not require a host distribution. I do not want traces of foreign operating systems left to possibly interfere with the Linux distribution during future use. It is just my absolute preference. Afterall, LFS is supposed to empower users. I have other questions about the software packages, but perhaps it is best to start with this seemingly most basic of questions. Thankyou for any response I might recieve in advance!I apologize for not immersing myself into the concept that is RTFM, in fact I have read the LFS manual through to the point where it was no longer useful to do without implementing the build. If you feel I have posted a rude question which is better answered elsewhere; do kindly disregard.
"Why do I require a host system in order to successfully compile LFS?" Not to be pragmatic, but that sounds to me like Linux isn't being built from scratch by building it in this manner. To cut to the chase, I wondered if there is an order that I can compile the necessary software packages so that I do not require a host distribution.
Changing the order of compilation will not achieve anything but trouble. Why do you think changing the order might eradicate the need of an OS? Without an operating system you might as well try to build the LFS with your computer switched off.
... in fact I have read the LFS manual through to the point where it was no longer useful to do without implementing the build
Appearently without understanding the basic concept. If you had you would understand that building the toolchain is supposed to prevent leaking traces of your host into your new LFS.
... not immersing myself into the concept that is RTFM
Without that concept you have little to no chance in succeeding to build your LFS. Read the chapter about the purpose of the toolchain again. If you understand it you will have your answer to your question.
Just start building your system WITHOUT deviating from the book. You do NOT have to understand every step the first time. Most of it will become clear after you finish your first LFS. If you get stuck you at any point you can post in this forum for help. Check your host system requirements before you venture into compiling LFS. Or better yet, use the LFS liveCD as host system.
Download here: http://www.linuxfromscratch.org/livecd/download.html
You may well be right about missing a concept, for reasons I won't detail. I did read the LFS book on the Live CD as I have it already, as well as burned to disc. The book gave me the awry feeling that using the Live CD would present more issues for me as a newcomer because it contains only old software packages. As a visual person, I also have a little trouble telling files where to go unless I can open a window and look at the structure in a graphic format; which as LFS is a live CD, no heirarchical format exists (unless I'm even more wrong). In my Linux class we only talked about the Knoppix Live CD which I am just as suited to using and installing except locating an FTP server which has the disc has been of some trouble due to miscreants on the network. Let's no digress!
I also began building LFS twice, and I thank you for reiterating that the toolchain was to assure removal of the host system I think I do recall reading it previously. My main issue at that time was with the sudo command.
It was driving me crazy! So, as I'm most used to Ubuntu or Debian based distributions and less inclined though not lost on a Red Hat distribution I was hoping to avoid using a host which has the sudo command software packages deployed.
If it would not be inappropriate, I do have a few questions about the tool packages which the LFS book didn't detail through chapter 6. It of course gave brief descriptions of the source but I need a more expert answer than is provided when curtailing writings to an audience which does not or may not have an expert skill level.
Can I post those questions here or should I stick to posting issues about trouble in the build?
"Why do I require a host system in order to successfully compile LFS?" Not to be pragmatic, but that sounds to me like Linux isn't being built from scratch by building it in this manner.
Well, you don't want to do what Linus has done when he first compiled the first linux version, do you? If you do, you would have to install MINIX and compile linux system version by version, package by package in order to satisfy the dependencies etc.
Anyway, you DO have to have some OS just to be able to run a compiler. It would be strange if you wanted ROM BASIC instead of OS .
see now that's interesting things to hear. Actually, if it is possible and requires Linux like commands, and I do want to compile from MINIX package by package; but: My computer is only six months old or so, I don't know that it will be suitable for such a task. Secondly, can you perhaps explain what ROM BASIC is?
The point is that in my personal experience, big box and mainstream Linux distros come bloated as far as Windows goes this is no secret, but for instance I just installed Fedora and removed some package which was used to setup mail servers. I don't need to setup a mail server, yet this made (I think? and you could check my post in Fedora forums) software updates return errors about abrt? The point of building a pure Linux system is simply to really be in control of a simplified set of programs. Being that I know nothing about programming this would be an endeavor, even still it is what I'm after. I don't like intrusions as I think no one else does. Flash animation, keyloggers, bah! to hell with it. So binary person, uh, 10110111 do you have anything interesting to add? particularly in minimizing even the LFS build because that was my original approach (oh as I just remembered this post pertains to) before you mentioned building from MINIX. Which I don't know the history of Linus the blanket boy (and that's merely a comparison from Charlie Brown if you recall), but if he built Linux maliciously you know I don't want anything to do with that. My opinion is that any line of code has the potential to be malicious to a network or system depending how it has been implemented and stabilized. Thanks.
Well... you seem to be really far from understanding the programming, its tools and principles. First, i doubt very very much that you are willing to start from the code dated back to 1990's (the one first compiled on MINIX). If you feel you are, you'll find very few people who'll be able to give you any instructions on this (maybe Linus and the oldest developers team).
You had better learn at least basic programming if you think building on some host system will make your build bloated. Once you learn to program (at least understand the basics i.e. Assembly language, tools needed to make programs and to analyse them), you can disassemble whatever program in whatever package you compile and see if it has any (malicious) connection with the system you built it on. Or, better yet (easier) is to examine the code of the packages you're gonna build and see how they can be affected by the build host.
minimizing even the LFS build
The smallest possible Linux system will consist of quite a few packages: kernel, busybox, GRUB/LILO. Maybe i've missed something in this list, but you get the idea. BUT! You still need some host to compile these, of course; though you'll have to analyse fewer lines of code you compile
All (or all minus a few) the packages in the LFS book give you the system which is the enough base for working off the build host, so that you can compile & install ANY other package you may need (having installed dependencies first, of course).
so, and i think that the conversation has averted a bit here and there I should still be right in posting here, how is it that assembly language and regular code for programs are going to interact? I guess what I don't see is how I require a host in either instance (at least on a software level). In a way that mode of thinking answers my question, but not if I don't understand how assembly language and other code will interact. Does that make sense?