5 ms·
> Worth it in many ways. Can you elaborate? Part of my everyday life as a coder is downloading packages and building them, so I'm curious how this brings more
by zackattack 15y ago
> Worth it in many ways.
Can you elaborate? Part of my everyday life as a coder is downloading packages and building them, so I'm curious how this brings more to the table. I flipped through the book (http://www.linuxfromscratch.org/lfs/view/7.1/ http://www.linuxfromscratch.org/lfs/view/7.1/) and couldn't tell..
- slindsey 15y agoYou still need to do some research, but it helped me focus on what I wanted to learn. Why was I using that command? What does that package do? Crap, I typed that wrong - why did I get that error message?
- sirclueless 15y agoBefore I built LFS, I had only a rough idea of the internals of the C build system and Linux runtime. Basically, I just knew that I had a recent GCC and some surface-visible tools like make, autoconf etc. and most software built just fine when I needed it to. The process of bootstrapping a clean GCC that operates in a chroot-jail and then using that to construct build a system from the ground up -- kernel, glibc and all -- gives great insight into the dependencies and build process of each of these basic packages. It's great that the Linux world has become so sugar-coated, and typical build instructions for source packages nowadays can be as simple as a list of apt-get packages to install followed by "./configure && make && sudo make install" but this glosses over an awful lot, and turns your build and runtime dependencies into a black box.
- chimeracoder 15y ago> ./configure && make && sudo make install When I used Ubuntu, I'm not sure I ever even needed that.
- exDM69 15y agoIf you're not aiming to build a complete system for every day use, the book still teaches how to bootstrap Linux. So if you know how to build and install regular software, you might still be interested in cross-compiling and creating a tiny Linux kernel and rootfs you can boot in an emulator like qemu. You can either use glibc and GNU userspace or use ucLibc and busybox, or perhaps glibc+busybox. If you already know how to bootstrap a Linux system, then you can go through the book and build a few dozen packages by hand and sooner or later you will learn to appreciate the efforts of Debian (and other) package maintainers go through.