Is anyone else finding $LFS more 'challenging' than they thought it would be?
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.
Is anyone else finding $LFS more 'challenging' than they thought it would be?
I knew it was going to be difficult as I'm no expert, but is anyone else getting a little frustrated?
As I am working through the book (6.3) I never really know if the stuff I am working on will be there next time I start the machine, or am I doing this wrong - are you meant to do the whole thing in one sitting?
One more thing - on page 38 (chapter 5.3.1) there are the commands:
make -C ld clean
make -C ld LIB_PATH=/tools/lib
cp -v ld/ld-new /tools/bin
Where I wrote 'Special NOTE' above there is mention of measuring the time it takes to build the package using the commsnd - time { ./configure ... && make && make install; }, but this comment is in-between the other commands - When do I type this?
Distribution: approximately NixOS (http://nixos.org)
Posts: 1,900
Rep:
LFS book does contain instructions on resuming after reboot. The main idea is that files are persistent and environment variables are not, and little else is set up during the LFS build.
In my own time I found LFS challenging to do without typos, read the book, understood what should be going and downloaded ALFS. jhalfs and nalfs are both rather simple to use. Then I built a lot of packages manually, and then failed to upgrade the system.. After full rebuild I constructed a perverted package system using unionfs, and after some time switched to NixOS (source-based, and no notion of package conflict - even between glibc 2.5 and glibc 2.7).
But please, do not help proliferation of Gentoo init script system if you do not like it specifically - just because it is source-based...
Yes, LFS building can become quite frustrating very easily, even if you follow everything as described.
I would suggest you write all building commands in a few cleanly separated shell scripts, so you can "start from scratch" again much faster for everything that worked well up to the point where the problems show their ugly face.
Is anyone else finding $LFS more 'challenging' than they thought it would be?
Not at all! I actually found it way easier than I tought! I'm still amazed how simple it is! Just follow the instructions, if you get into trouble come here @LQ, check the svn version if something does not work, check the mailing lists and google, all is there. You can stop-and-resume the build anytime.
Another good ones (next on my list) are diy-linux.org and jaguarlinux.com.
Have fun!
Thanks for all the replies - your time and effort is appreciated
About the gentoo comments - I have been using the LFS live-cd as my host (I thought it would make things run more smoothly - all the correct package versions etc), so I guess that's gentoo?
I'd probably find it much easier if I actually knew what I was doing...
Thanks again for the input.
time { CC="gcc -B/usr/bin/" ../binutils-2.17/configure \
--prefix=/tools --disable-nls --disable-werror && make && make install; }
Everyone using Gentoo
FYI,
The above code didn't work for me. I received some errors and so I ran:
CC="gcc -B/usr/bin/"
time { ../binutils-2.17/configure ... make ... make install; }
the two above lines separately and that did the trick.
I find that if one doesn't follow the book precisely your going to encounter difficulties that you can't recover from (unless you understand the relationship between the tools). LFS is the best way of learning the toolchain.
yes I did try the command and got an error but didn't know what else to try, so I couldn't do the 'timing' by the system - I did use my stopwatch for a few commands though, and I have just realized I've messed up at bit so will have do a new post I think.
guys, i just compiled binutils today. ok, it's not explicitly clear if you are new to linux but at the beginning they mention the prerequisites. one is bacis understanding of unix/linux. sry, but you will run in a lot of problems like this if you lack it .
you only have to issue the command
Code:
time { ./configure ... && make && make install; }
when you are trying to estimate the time it will take to compile the package (read 4.5 About SBU).
if you are in source/ unzipp the binutil package. cd in it. then issue the commands of the book:
the '\' at the end of the line--see book--means that the shell (/bin/bash) should escape the newline character at the end of the line. normally, newline characters end a command but the command is quite long so if you copy paste--what the guys who wrote the book assume--than you'll need it.
then do the rest of the procedure...
good luck, vadkutya
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.