LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This 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

Reply
 
Search this Thread
Old 06-23-2008, 05:23 PM   #1
noob_d
LQ Newbie
 
Registered: Apr 2008
Posts: 13

Rep: Reputation: 1
LFS minimal install (small book plus zillion questions)


First let me state my goal: To create a more basic LFS install. The book states that ch. 6 creates an environment more for user convenience than a minimal install would. I want that minimal install.

To further explain, I want a system without networking, database stuff, and a bunch of utilities that won't get used to begin with. I've already gone through the LFS book and installed it numerous times, and have even written my own installation scripts. I also did some research on FHS and have conceptualized it on a basic level, at least.

But I have to wonder: is all that software really necessary? Berkeley DB? M4? (etc.) I know there is some I will list and you'll wanna shout "YES!!", but I'm going for a BASIC install and can add stuff I know I'll want later. I'm doing this as part of the learning process for myself, and see what is truly a MINIMAL working system, and what is truly necessary.

Now on to the software in question (in order by the LFS book):

1. In chapter 5, do I really need TCL, Expect, and DejaGNU if I am not going to run any tests? (I've been through all the tests a few times and it all works)
2. Man - can install later
3. Binutils - I think I figured it is necessary
4. GCC - is it necessary after a package manager (ex. dpkg) is installed, if I am not going to recompile the kernel?
5. Berkeley DB
6. Sed - is it needed after it is used in the LFS book?
7. E2fsprogs - can install later
8. Iana-etc
9. M4
10. Bison
11. Ncurses - I know this is needed for "make menuconfig" when compiling the kernel, but is it used any other time?
12. procps - can install later
13. libtool
14. perl
15. readline - figured LFS uses it during Bash install's configure script, and I know what it does, but is it necessary?
16. zlib - does tar, gzip and bzip2 call this library?
17. autoconf - see 18
18. automake - does Make NEED this?
19. diffutils - I'm guessing Patch uses it, other than just comparing files
20. file
21. findutils - can install later
22. flex
23. gawk
24. gettext
25. grep - can install later
26. groff
27. kbd
28. less
29. mktemp - is this used for making temp files?
30. module-init-tools - can install later, maybe
31. patch - can install later
32. psmisc - can install later
33. shadow - can install later
34. sysklogd
35. texinfo
36. udev - used during boot or mounting of drives (hard, cd, usb)?

(entries without any text after them mean I have no clue about them, and/or they just don't sound necessary)

Any insight to this is greatly appreciated.
Thanks,
Darrell
 
Old 06-24-2008, 10:22 AM   #2
snowtigger
Member
 
Registered: Mar 2005
Location: england
Distribution: slackware, win2k
Posts: 364

Rep: Reputation: 34
How small do you want to go?

I stumbled across this > http://asashi.net/pages/pitux.html. While reading a post on here

Just an example for how small you can go.

 
Old 06-24-2008, 10:53 AM   #3
noob_d
LQ Newbie
 
Registered: Apr 2008
Posts: 13

Original Poster
Rep: Reputation: 1
How small?

I'm not particular on size, but I just want to leave out unnecessary fluff. Basically I want to start as close to ground zero as I can, and work my way up. I tried Debian's net install, but even without choosing any extra software, it appears to have a bunch of extra stuff.

I'm just trying to determine what is fluff and what is -absolutely- necessary for a system to be able to install more software. I know different people will have different definitions of 'necessary' and 'fluff'. To me, anything that isnt needed to have a shell, basic commands (coreutils and util-linux), and the ability to compile and install software, is fluff.

Here are the packages I am installing during this trial run of LFS:
Linux headers, glibc, binutils, gcc, sed, coreutils, ncurses, readline, bash, bzip2, grub, gzip, make, module-init-tools, sysvinit, tar, udev, util-linux, vim, kernel

Leaving out:
man pages, berkeley db, e2fsprogs, iana-etc, m4, bison, procps, libtool, perl, zlib, autoconf, automake, diffutils, findutils, flex, gawk, gettext, grep, groff, inetutils, iproute, kbd, less, man-db, mktemp, patch, psmisc, shadow, sysklogd, texinfo

Does this help describe things better? Or am I leaving out necessary software?
 
Old 06-24-2008, 11:43 AM   #4
druuna
LQ Veteran
 
Registered: Sep 2003
Posts: 10,532
Blog Entries: 7

Rep: Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374Reputation: 2374
Hi,

The init scripts that reside in /etc/rc.d/init.d do use some of the programs you are not installing:

- cleanfs, console, functions and udev all use grep (I have more, but those won't be installed in a basic install).
- functions and modules both use sed.

Just 2 I checked. You might want to check all the other progs you want to leave out against these scripts.
 
Old 06-24-2008, 11:46 AM   #5
snowtigger
Member
 
Registered: Mar 2005
Location: england
Distribution: slackware, win2k
Posts: 364

Rep: Reputation: 34
You are almost there, but id' suggest something more like this,

glibc, sed, coreutils, ncurses, readline, bash, bzip2, grub, gzip, module-init-tools, sysvinit, tar, udev, util-linux, vim, kernel
e2fsprogs, procps, libtool, zlib, diffutils, findutils, flex, gawk, gettext, grep, less, mktemp, psmisc, shadow, sysklogd,

That should give you a reasonable system to then install other stuff to. However i may have missed something.

There is no networking stuff. Or the ability to compile more packages, but then you can do that on another machine.

glibc can be built in two ways. 1, full build, used for when you need to compile other software. And 2, small, when needed just for making the system run.

 
Old 06-24-2008, 04:09 PM   #6
noob_d
LQ Newbie
 
Registered: Apr 2008
Posts: 13

Original Poster
Rep: Reputation: 1
Where can I find a list of these dependencies? I've spent 2 days searching, and the only thing I've come across is LSB. However it does not say X is used for A & B, Y is needed for the system to boot, etc. etc. That's what I really need.
 
Old 06-25-2008, 06:32 PM   #7
m4mach
Member
 
Registered: Jul 2007
Location: Poland
Distribution: Debian
Posts: 45

Rep: Reputation: 15
To boot the system you need only kernel and bash. All dependencies for base programs are in the LFS book
 
Old 06-26-2008, 09:59 AM   #8
noob_d
LQ Newbie
 
Registered: Apr 2008
Posts: 13

Original Poster
Rep: Reputation: 1
How did I miss it?

Thank you.
Holy dependency craziness!
Looking over things, I'm wondering if I can safely install the kernel while in the chroot environment WITH the /tools (as in section 6.4). Or do I have to do it in the one without the /tools? In other words, do I need to log out and back in to the chroot env. in section 6.59 to do the stripping and install the kernel?

And one last question: Once I install a package manager (dpkg) will I still need GCC and Make?
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
LFS Book Chapter 6 - 1st step (chroot to /mnt/lfs) doens't work bauld Linux From Scratch 11 03-15-2006 12:31 AM
Minimal Slack 9.1 Install Questions Poetics Slackware 1 05-22-2004 04:31 PM
minimal install questions Albin Linux - General 2 08-31-2003 10:48 AM
LFS 4.1 book install hung at section 6.14: Glibc-2.3.1 SparceMatrix Linux From Scratch 4 05-30-2003 04:56 PM
LFS 3.2 book, but LFS packages 3.0 CragStar Linux From Scratch 2 04-07-2002 03:15 PM


All times are GMT -5. The time now is 07:02 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration