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.
Notices
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.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
thing is i keep putting off learning linux because it ends up being frustrating.
i decided to give LFS a try to not only relearn linux but to learn things i never tried. However my lack of linux experience is is already starting to show.
i am currently stuck on page 38 of the LFS 6.3 book.
what has me stuck is this command
mkdir -v ../binutils-build
i get
"mkdir: cannot create directory '../binutils-build : Permission denied"
why is this? first it doesn't explain were i should issue this command from. i assumed the root directory of the newly created and setup $LFS partion. however i don't understand the reason for the ".." before "/binutils-build". so far it seems everything is set up perfectly.
what i did was create the tools and sources directories like before. then copied all the sources and patches to the $LFS/sources directory. did the users and ownership stuff. seems like it skips a load of info. don't i have to untar the GCC or what ever first???
i am running off the current LFS live CD. so far i have fallowed all the instructions and had no problems.
what could be the reason this fail? or what steps have been left out or what am i missing here?
also explain the the next section a bit better. i really don't understand this. as of so far i have just been typing things as i have been told and then learning as i go back. problem may be i know some linux, but lack knowledge of some really basic and core stuff to linux. i hope this message does not just get ignored.
Last edited by yellowdart137; 09-05-2008 at 09:48 PM.
I would have to say, if you don't have a good grip on the core fundamentals of Linux (common commands, navigating the filesystem, etc), LFS might be the wrong place to start.
You will certainly learn a lot from LFS, but if you are going into it blind you will more than likely end up frustrated and give up. Worse, you will just mimic everything from the documentation (which it sounds like you might be doing now) and not actually absorb the information and learn from it.
I would personally suggest moving up the ladder a bit to something that is not quite as demanding, yet not pushed to the opposite end of the spectrum. I would suggest distributions like Debian, Slackware, and Gentoo. These distributions are not nearly as hard to setup and run as LFS, yet are still involved enough to teach you the core concepts of the OS.
At the point where you issue the command "mkdir ../binutils-build" you need to have untarred the binutils tarball and changed directory into it. You also need to chown user:group -R ${LFS} for the user that is performing the build.
rest of the system
|-->${LFS}
...|-->sources
......|-->binutils-2.17
......|..|--where you should be when issuing the command
......|-->binutils-build this is the directory that you are trying to create
Last edited by claytonjohnroby; 09-06-2008 at 01:30 AM.
Reason: formatting
The '..' means "parent directory", so if your current directory is /ping/pong/ then '..' means '/ping'. The top level directory '/' is a bit different - it's its own parent, so the parent of '/' is '/'.
If I recall correctly, the LFS spends some time setting up an 'lfs' user with an 'lfs' directory in which you'll build all your tools etc. You're meant to log into the 'lfs' account with "su - lfs" (the '-' is very important) and you should be dumped into an environment that's set up for building LFS.
Most operations can be done by the lfs user, but there are some operations which have to be done by 'root' when you get around to installing certain programs and building the final system "image".
LFS is fine if you want to learn something about how to build a system from scratch and how the boot process goes but as already posted, isn't really a good place to start if all you want to do is run Linux and install some programs to use. In fact you will probably find LFS very frustrating since you will probably spend hours (if you know what you're doing) patching software which had not been patched to build on LFS yet.
yea, but watch out for the linux senior noob snobs that will write a paragraph on how you should use the easiest distros instead of jumping in head first. The people at LFS should have including a page on untarring and better explained the directory structure -- not your fault!
After you get LFS built you should do it again and learn even more. Just remember to email the guys that made the book and tell them about their omission!
It isn't an "omission", LFS is not designed to teach you basic Linux commands. For that, get this. Explaining how basic commands work in the documentation for each and every distribution is pointless, it is assumed that you have at least a rudimentary understanding of the principles involved when you install; which is true of every piece of software.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.