Thursday, June 17, 2010

Chapter 8 The Kernel!

I hope this goes better than Chapter 7. I wonder how much of the network stuff could have been left out until the system setup was ok.


cat > /etc/fstab << "EOF"
# Begin /etc/fstab

# file system  mount-point  type   options         dump  fsck
#                                                        order

/dev/sdb6     /            ext3  defaults        1     1
/dev/sdb5     swap         swap   pri=1           0     0
proc           /proc        proc   defaults        0     0
sysfs          /sys         sysfs  defaults        0     0
devpts         /dev/pts     devpts gid=4,mode=620  0     0
tmpfs          /dev/shm     tmpfs  defaults        0     0
# End /etc/fstab
EOF
 
This is interesting.
Filesystems with MS-DOS or Windows origin (i.e.: vfat, ntfs, smbfs, cifs, iso9660, udf) need the “iocharset” mount option in order for non-ASCII characters in file names to be interpreted properly.
I guess that this will help the spaces prolem in Windows.

root:/sources/linux-2.6.32.8# echo $LANG
nl_NL.ISO-8859-1@euro

Therefore,
  make LANG=nl_NL.ISO-8859-1@euro LC_ALL=menuconfig

And I get...

*** You have not yet configured your kernel!
*** (missing kernel config file ".config")
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
That's encouraging. But I notice that I have not run any configure.

#make oldconfig

Press enter for everything, choose Athlon/Duron (#12 in list ) as processor
WIFI I said no to, touchscreen, no.  I have no idea really what all the commands were. That's annoying.

#make

 Output at end




Root device is (8, 22)
Setup is 11756 bytes (padded to 11776 bytes).
System is 4068 kB
CRC 94875ed3
Kernel: arch/x86/boot/bzImage is ready  (#1)
  Building modules, stage 2.
  MODPOST 2 modules
  CC      arch/x86/kernel/test_nx.mod.o
  LD [M]  arch/x86/kernel/test_nx.ko
  CC      drivers/scsi/scsi_wait_scan.mod.o
  LD [M]  drivers/scsi/scsi_wait_scan.ko
I do not know if this is necessary, so feeling reckless,
root:/sources/linux-2.6.32.8# make modules_install
  INSTALL arch/x86/kernel/test_nx.ko
  INSTALL drivers/scsi/scsi_wait_scan.ko
  DEPMOD  2.6.32.8
Next,
root:/sources/linux-2.6.32.8# cp -v arch/x86/boot/bzImage /boot/vmlinux-2.6.32.8-lfs-6.6

root:/sources/linux-2.6.32.8# cp -v System.map /boot/System.map-2.6.32.8
root:/sources/linux-2.6.32.8# cp -v .config /boot/config-2.6.32.8
(saved a copy of this on home partition)
root:/sources/linux-2.6.32.8# install -d /usr/share/doc/linux-2.6.32.8
root:/sources/linux-2.6.32.8# cp -r Documentation/* /usr/share/doc/linux-2.6.32.8

root:/sources# chown -R 0:0 linux-2.6.32.8
Also configured the module boot order, although at this point I really have no clue.

Chapter 7.13 Network Script

I do not know if any of this is right, but this is what I entered. Specifically, I do NOT want it to be turned on at boot, because it might be wrong.

root:/etc/sysconfig/network-devices# cat > ifconfig.eth0/ipv4 << "EOF"
> ONBOOT=no
> SERVICE=ipv4-static
> IP=192.168.1.1
> GATEWAY=192.168.1.2
> PREFIX=24
> BROADCAST=192.168.1.255
> EOF



root:/etc/sysconfig/network-devices# cat > /etc/resolv.conf << "EOF"
> # Begin /etc/resolv.conf
> nameserver 10.0.0.138
> # End /etc/resolv.conf
> EOF

7.11-12-13 Configuring the localnet Script

Ok, this looks like another thing I want to learn. The meaning of network.So, what is the name of my computer. Does it have to be the same as my current OS? Use hostname to find it.
 root:/etc/sysconfig# hostname
 nameofmycomputer

echo "HOSTNAME=nameofmycomputer; /etc/sysconfig/network

root:/etc/sysconfig# more network
HOSTNAME=nameofmycomputer


Now, try this
root:/etc/sysconfig# IP_address rose.lfs.org rose_lfs
outputs bash: IP_address: command not found

Ok, just do the  cat command in the documentation. I chose the 192.168.1.1 because I want to work with apache eventually and this will help me understand that.  192.168.1.1 rose.lfs.org rose_lfs

root:/etc# more hosts
# Begin /etc/hosts (network card version)

127.0.0.1 localhost
192.168.1.1 rose.lfs.org rose_lfs
# End /etc/hosts (network card version)
 I have only one network card.
root:/sys/class/net# ls -l
total 0
drwxr-xr-x 4 root root 0 Jun 17 12:47 eth0
drwxr-xr-x 4 root root 0 Jun 17 12:47 lo
Running the for NIC loop does not give me the  70-persistent-net.rules file.

Try, LW
$INTERFACE=eth0 udevadm test --action=add eth0
unable to open device '/syseth0'
oops, try this. (from the lfs mailing list)
$INTERFACE=/sys/class/net/eth0 udevadm test --action=add /sys/class/net/eth0

The mailing list I was reading did not come up with a solution, alas. I am going to skip it. This is the output of the for command:

 udev_rules_new: rules use 11472 bytes tokens (956 * 12 bytes), 7523 bytes buffer
udev_rules_new: temporary index used 7620 bytes (381 * 20 bytes)
udev_device_new_from_syspath: device 0x8c25100 has devpath '/class/net/eth0'
udev_device_new_from_syspath: device 0x8c34c50 has devpath '/class/net'

 udevadm_test: UDEV_LOG=6
udevadm_test: DEVPATH=/class/net/eth0
udevadm_test: PHYSDEVPATH=/devices/pci0000:00/0000:00:0e.0
udevadm_test: PHYSDEVBUS=pci
udevadm_test: PHYSDEVDRIVER=8139too
udevadm_test: INTERFACE=/sys/class/net/eth0
udevadm_test: IFINDEX=2
udevadm_test: ACTION=add
udevadm_test: SUBSYSTEM=net
udevadm_test: MATCHADDR=00:30:1b:1e:b8:88
udevadm_test: MATCHIFTYPE=1
udevadm_test: MATCHDEVID=0x0
udevadm_test: COMMENT=net device ()

On my regular OS, there is a file: /etc/udev/rules.d/70-persistent-cd.rules
# more /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:1b:1e:b8:88", ATTR{type}=="1", KERNEL=="eth*", N
AME="eth0"

Linux 7.10 Getting lost, Come back here id device trouble.

The command udevadm test /sys/block/sdb,
gave a lot of output.Some of which is the product information. That's good.

"Note that it is not necessary to create the rules files or symlinks at this time, because you have bind-mounted the host's /dev directory into the LFS system, and we assume the symlinks exist on the host. The rules and symlinks will be created the first time you boot your LFS system."

This is comforting. I thought they had forgotten about me. This is the first reference back to the LFS since the dev chapter. I am not sure that it is a good idea to do all this explaining before he system is set up, since I do not know what they are talking about anyway.

At the moment, my computer has 1 internal cd player, a USB hub to which my printer, an external hard drive, and camera are connected (sporadically).

Wednesday, June 16, 2010

Chapter 7.9. Device and Module Handling on an LFS System

 root:/# modinfo
Usage: modinfo [-0][-F field][-k kernelversion][-b basedir]  module...
 Prints out the information about one or more module(s).
 If a fieldname is given, just print out that field (or nothing if not found).
 Otherwise, print all information out in a readable form
 If -0 is given, separate with nul, not newline.
 If -b is given, use an image of the module tree.


root:/# ls -l sys/bus
total 0
drwxr-xr-x 4 root root 0 Jun 17 10:05 ac97
drwxr-xr-x 4 root root 0 Jun 17 10:05 acpi
drwxr-xr-x 4 root root 0 Jun 17 10:05 gameport
drwxr-xr-x 4 root root 0 Jun 17 10:05 i2c
drwxr-xr-x 4 root root 0 Jun 17 10:05 isa
drwxr-xr-x 5 root root 0 Jun 17 10:05 pci
drwxr-xr-x 4 root root 0 Jun 17 10:05 pci_express
drwxr-xr-x 4 root root 0 Jun 17 10:05 platform
drwxr-xr-x 4 root root 0 Jun 17 10:05 pnp
drwxr-xr-x 4 root root 0 Jun 17 10:05 scsi
drwxr-xr-x 4 root root 0 Jun 17 10:05 serio
drwxr-xr-x 4 root root 0 Jun 17 10:05 spi
drwxr-xr-x 4 root root 0 Jun 17 10:05 usb
drwxr-xr-x 4 root root 0 Jun 17 10:05 virtio
Each of thos directories has the same set of files i.e. Ac97
drwxr-xr-x 2 root root    0 Jun 17 10:07 devices
drwxr-xr-x 2 root root    0 Jun 17 10:07 drivers
-rw-r--r-- 1 root root 4096 Jun 17 10:07 drivers_autoprobe
--w------- 1 root root 4096 Jun 17 10:07 drivers_probe
--w------- 1 root root 4096 Jun 17 10:07 uevent
Under these directories, there are more. I have cat'd the entire list to a file. (ls -l sys/bus/*/*/* > sys_bus_before.list)

 Maybe some day it will make sense. What I do not understand is how they got there. I only looked after I had typed modprobe which is the same time as the time stamp on the files. I am going to try and log out of chroot environment and log in again to see if they are still there. So they are permanent. It must have been something I did today because I just started this morning.

I do not understand what I have to do in this chapter.

I'll try the reading recomendations.

Userspace Implementation:  This is a useful defintion. "A device file is how a user program can access a specific hardware device or function." I never thought of the "hda" in /dev/hda as a file, but apparently it is and it "represents the first IDE drive of the system". Although I am used to seeing it with a number as well. The way Linux (or unix) is sold is via this "everything is a file concept.  I made a listing of the /dev directory and saved a copy. One of the lines for LFS is this one, /dev/sdb6

brw-rw---- 1 root daemon   8,  22 Jun 17 10:24 sdb6

I notice the b at the beginning and the word daemon as the group. This determines the properties of the file? Name has to match type of device, and are listed in  Device List

Wow, I remember having this problem years ago (probably with kernel 2.4) "If the user rearranges the USB topology, perhaps adding a USB hub in order to support more USB devices in the system, the USB probing order of the printers might change the next time the computer is booted, reversing the assignment of the different minor number to the two printers"

There is too much to understand in this article, so I am going to move on. If something does not work, I'll have to come back.

Chapter 7.8 Bash Shell Startup

On first reading, this is a bit confusing, login and interactive environments
 "An interactive login shell is started after a successful login, using /bin/login, by reading the /etc/passwd file"

My question involves visualization. How do I know that a login shell has started? Is it that I am allowed entry to the command line? Or, is the command line part of the "shell".  I think it is useful to think of it as opening a door to a house and entering, then one can do some stuff (like run some comand line commands) and then leave.

I have always associated a shell with an xterm but they are not one and the same. One can run multiple shells in one xterm, for example. Although I do not like to do this (hence my tangent in Chapter 6 regarding the color of the lfs window).

" A non-interactive shell is usually present when a shell script is running. It is non-interactive because it is processing a script and not waiting for user input between commands." So, maybe the non-interactive shell is like the shell of a car (or a sea shell? can that be its origin?). The act of driving will be the script.

Back to the text, we are creating the profile file here. This is read just after log in and sets all sorts of variables (environment)

root:/etc# LC_ALL=en_US.iso88591 locale charmap
ISO-8859-1
root:/etc# LC_ALL=nl_NL.iso88591 locale charmap
ISO-8859-1

This is what I chose.

root:/etc# more profile
# Begin /etc/profile
export LANG=nl_NL.ISO-8859-1@euro
# End /etc/profile

Since I have some experience with the profile file, I might add some more comments at a later time.


    Chapter 7.7. Creating the /etc/inputrc File

    "Most people do not need user-specific keyboard mappings so the command below creates a global /etc/inputrc used by everyone who logs in. If you later decide you need to override the defaults on a per-user basis, you can create a .inputrc file in the user's home directory with the modified mappings."

    This is not true in my house. I prefer the American keyboard but my kids have learned the Dutch keyboard so it would be handy to have user dependent settings.

    Chapter 7.6 Sysklog

    Notice the difference between sysklogd and syslogd !

    Reading the "man syslogd". This caught my eye. "Syslogd  reacts  to  a set of signals.  You may easily send a signal to syslogd using the following:

                  kill -SIGNAL `cat /var/run/syslogd.pid`

    My biggest problem with syslogs is that they are very difficult for me to read. Recent apps are beginning to at least provide some sort of sorting according to the day. I would like keywords like: sound or video to be available because these are errors I have had in the past.

    Ah, after some searching, this command is here: /sbin/syslogd
    root:/#file  /sbin/syslogd
    /sbin/syslogd: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

    I cannot look at it.
    root:/#  ls -l /sbin/syslogd
    -r-x------ 1 root root 31508 Jun 15 12:57 /sbin/syslogd



    Wait, I am confused. They are talking about sysklogd, with a "k". Which is:
    root:/# find / -name sysklogd
    /etc/rc.d/init.d/sysklogd
    /sources/lfs-bootscripts-20100124/contrib/lsb-v3/init.d/sysklogd
    /sources/lfs-bootscripts-20100124/lfs/init.d/sysklogd




    Here's a directory listing of init.d:

    root:/etc/rc.d/init.d# ls -lrt
    total 100
    -rwxr-xr-- 1 root root   982 Jun 16 11:36 udev_retry
    -rwxr-xr-- 1 root root  2229 Jun 16 11:36 udev
    -rwxr-xr-- 1 root root   654 Jun 16 11:36 template
    -rwxr-xr-- 1 root root   978 Jun 16 11:36 sysklogd
    -rwxr-xr-- 1 root root   767 Jun 16 11:36 sysctl
    -rwxr-xr-- 1 root root   825 Jun 16 11:36 swap
    -rwxr-xr-- 1 root root   834 Jun 16 11:36 setclock
    -rwxr-xr-- 1 root root   866 Jun 16 11:36 sendsignals
    -rwxr-xr-- 1 root root   531 Jun 16 11:36 reboot
    -rwxr-xr-- 1 root root  2261 Jun 16 11:36 rc
    -rwxr-xr-- 1 root root  1356 Jun 16 11:36 network
    -rwxr-xr-- 1 root root   841 Jun 16 11:36 mountkernfs
    -rwxr-xr-- 1 root root  1242 Jun 16 11:36 mountfs
    -rwxr-xr-- 1 root root  1637 Jun 16 11:36 modules
    -rwxr-xr-- 1 root root   978 Jun 16 11:36 localnet
    -rwxr-xr-- 1 root root   483 Jun 16 11:36 halt
    -rw-r--r-- 1 root root 16747 Jun 16 11:36 functions
    -rwxr-xr-- 1 root root  1286 Jun 16 11:36 consolelog
    -rwxr-xr-- 1 root root  2531 Jun 16 11:36 console
    -rwxr-xr-- 1 root root  2293 Jun 16 11:36 cleanfs
    -rwxr-xr-- 1 root root  3758 Jun 16 11:36 checkfs

    I still do not know what to do with this. Read on.

    Chapter 7 Commands to run before beginning.

    I hope the laborious part is over. It just occurred to me that I should make another backup.
     As root,
    export LFS=/media/lfs  
    mount -v -t ext3 /dev/sdb6 $LFS (see note below)

    The order of mount and chroot may or may not be important. I still do not understand what happens to LFS after chroot.

    mount -v --bind /dev $LFS/dev
    mount -vt devpts devpts $LFS/dev/pts
    mount -vt tmpfs shm $LFS/dev/shm
    mount -vt proc proc $LFS/proc
    mount -vt sysfs sysfs $LFS/sys
     
    chroot "$LFS" /usr/bin/env -i \
        HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
        PATH=/bin:/usr/bin:/sbin:/usr/sbin \
        /bin/bash --login
     

    Note, if you get the error,
    chroot: cannot run command `/usr/bin/env': No such file or directory
    It just means that you forgot to mount the partition. 
     
    Relevent output of the command mount, executed before the chroot
    /dev/sdb6 on /media/lfs type ext3 (rw) 
    /dev on /media/lfs/dev type none (rw,bind)
    devpts on /media/lfs/dev/pts type devpts (rw)
    shm on /media/lfs/dev/shm type tmpfs (rw)
    proc on /media/lfs/proc type proc (rw)
    sysfs on /media/lfs/sys type sysfs (rw)

    where $LFS is /media/lfs

    After chroot,  the output of the command mount is:
    root:/# mount
    sysfs on /sys type sysfs (rw)
    proc on /proc type proc (rw)
    /dev on /dev type none (rw,bind)
    I am assuming that there is a reason for which the devpts and shm are not in the list. Maybe they are a subdirectory. Chapter 6.2.2 in the manual describes this and I do not really understand it so I will move on.




    
    

    Chapter 7.5 Console

    I am curious about console because I use it a lot. Recently, however, on another linux session, I messed up the fonts and could not find the ones I liked. Also, knowing how to make this permanent is important to me.

    "This section discusses how to configure the console and consolelog bootscripts that set up the keyboard map, console font and console kernel log level." Since I am in Europe, the euro  symbol is important (€,had to look that up, thank you Wikipedia!). So I will do this section, even though I normally use an American keyboard.

    Looking at the examples, I chose the German one and replaced de with nl for Netherlands.
     root:/etc/sysconfig# cat > /etc/sysconfig/console << "EOF"
    > # Begin /etc/sysconfig/console
    >
    > KEYMAP="nl-latin1"
    > KEYMAP_CORRECTIONS="euro2"
    > FONT="lat0-16 -m 8859-15"
    > # End /etc/sysconfig/console
    > EOF

    There is a note about this not being relevent in the X window system, but in console mode only (not even xterm mode I guess).

    Chapter 7.4 Setclock

    Just reading the text here, about setclock script.



    #  hwclock --localtime --show
    Wed Jun 16 11:55:40 2010  -0.313826 seconds

    This is the time I see on my computer.  I guess that starting from scratch means that all these details that usually take for granted, need to be set.

    Chapter 7.2 LFS-Bootscripts-20100124

    Here we go.

    Just out of curiosity, what is in the /etc/sysconfig directory? Since kernel modules is the topic I am most interested in understanding. Modules is empty except for a "Begin /etc/sysconfig/modules" commented message.

    root:~# ls -lrt /etc/sysconfig/
    total 16
    -rw-r--r-- 1 root root  408 Jun 16 11:36 rc
    drwxr-xr-x 3 root root 4096 Jun 16 11:36 network-devices
    -rw-r--r-- 1 root root  559 Jun 16 11:36 modules
    -rw-r--r-- 1 root root 1037 Jun 16 11:36 createfiles

    I have read about runlevels before, and used them usually when I have messed up the linux and had to do some repairs (such as I was able).
     root:/etc/rc.d# ls -lrt
    total 36
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rc6.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rc5.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rc4.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rc3.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rc2.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rc1.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rc0.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 init.d
    drwxr-xr-x 2 root root 4096 Jun 16 11:36 rcsysinit.d

    Tuesday, June 15, 2010

    Chapter 6.60 Almost done!

    Whoa, I am near the end of Chapter 6. Feeling a bit bored and bleary eyed.
    Since this is supposed to be a learning partition, I am not going to strip the debugging flags. I have plenty of space.

    I have been doing this after each reboot. Except now tools is excluded.


    Previous command: 
    chroot "$LFS" /tools/bin/env -i \
        HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
        PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
        /tools/bin/bash --login +h

    With tools removed:

    chroot "$LFS" /usr/bin/env -i \
        HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
        PATH=/bin:/usr/bin:/sbin:/usr/sbin \
        /bin/bash --login
     
    "Ensure that the virtual kernel filesystems are mounted when reentering the chroot. This process was explained in Section 6.2.2,“Mounting and Populating /dev” and Section 6.2.3,“Mounting Virtual Kernel File Systems”."

    mount -v --bind /dev $LFS/dev
    mount -vt devpts devpts $LFS/dev/pts
    mount -vt tmpfs shm $LFS/dev/shm
    mount -vt proc proc $LFS/proc
    mount -vt sysfs sysfs $LFS/sys


    I logged out and in again. I will not delete tools. This is my root directory, if I understand that term.

    root:/# ls -lrt
    total 84
    drwxr-xr-x  12 root root  4096 Jun  3 15:15 tools
    drwxr-xr-x   2 root root  4096 Jun  7 19:19 opt
    drwxr-xr-x   2 root root  4096 Jun  7 19:19 mnt
    drwxr-xr-x   2 root root  4096 Jun  7 19:19 home
    drwxr-xr-x   2 root root  4096 Jun  7 19:19 boot
    drwxr-xr-x   2 root root  4096 Jun  7 19:21 srv
    drwxr-xr-x   4 root root  4096 Jun  7 19:21 media
    drwxr-xr-x   9 root root  4096 Jun  7 19:28 usr
    drwxr-xr-x  12 root root  4096 Jun  7 19:30 var
    drwxr-xr-x   2 root root  4096 Jun  9 13:15 rose_notes
    drwxr-xr-x  15 root root  4820 Jun 15 08:17 dev
    dr-xr-xr-x 124 root root     0 Jun 15 10:13 proc
    drwxr-xr-x  12 root root     0 Jun 15 10:13 sys
    drwxr-xr-x   2 root root  4096 Jun 15 13:33 bin
    drwxr-xr-x   2 root root  4096 Jun 15 13:50 sbin
    drwxr-xr-x   6 root root  4096 Jun 15 13:50 lib
    drwxrwxrwt   4 root root  4096 Jun 15 13:53 sources
    drwxrwxrwt   2 root root 20480 Jun 15 14:15 tmp
    drwxr-xr-x   7 root root  4096 Jun 15 14:15 etc
    drwxr-x---   2 root root  4096 Jun 15 14:18 root

    Next stop Chapter 7.

    Chapter 6.44-59

    • gzip
    • iproute I have no idea what this is. I just need to remember to run the tests ... after doing what?





      If you wish to run these tests after booting into your new LFS system, ensure you select /proc/config.gztestsuite/ subdirectory. CONFIG_IKCONFIG_PROC ("General setup" -> "Enable access to .config through /proc/config.gz") support into your kernel then run 'make alltests' from the testsuite/ subdirectory.
    • kbd
    • less
    • make
    • man-db
    • module-init No make command?, oh, that was for the testsuite which is one of these statements that assume that I know what they  mean.
    • patch
    • psmisc
    • shadow, do NOT install the Cracklib stuff. Set passwd
    • sysklogd. Looks like I should start paying better attention.
    • sysvinit
    • tar
    • texinfo
    • udev. I have been using tar jxf to unpack bz files. Now, I see that



      tar -xvf
      also works.
    •  udev. But what if I do not have a RAID device, or nor a mobile device, nor isdn?
    • vim creates a directory vim72 and not vim-7.2. Sigh. Unpacked language files as: tar zxf vim-7.2-lang.tar.gz -C ./vim72, , for controlling the output of make test, make test >& vim_make_test_log, skip the X window stuff since I do not understand it.

      vim -c ':options'
      took me into the editor and I have no idea what I was supposed to do. Shift-ZZ two times.set spelllang=en,nl

      Monday, June 14, 2010

      Chapter 6.36- 44

      •  Bzip
      • Diffutils
      • Gawk
      • findutils. I do not understand why find has to be moved to bin in place of remaining under /usr/bin. Something about it being needed on the root partition (what is that exactly?)
      • flex
      • gettext
      • groff  use: PAGE=A4 ./configure --prefix=/usr
      • grub, result of  make, root:/sources/grub-1.97.2/build# ls | wc
           2392    2392   62198
        misprint in text: /usr/inclue/grub

      Chapter 6.34- Autoconf

      • autoconf, For full test coverage, Autoconf can be re-tested after Automake has been installed.So I will not delete this directory yet.
      • automake
      • All 672 tests behaved as expected (4 expected failures) (63 tests were not run)
      • Re-run make check for autoconf

        422 tests behaved as expected.
        17 tests were skipped.

      Second Weekend

      I have to get back to where I was. Referring to Chapter 6.4, I ran the relevent mount and chroot commands. However, upon looking at the sources directory, I found a file, index.html, belonging to root. It was created after zlib was downloaded.

      Upon looking for who the index.html file belongs to, I found this for bash:

      Run the newly compiled bash program (replacing the one that is currently being executed):
      exec /bin/bash --login +h
      I am wondering whether I have to do this again. I ran it again, figuring that it can do no harm. See Chapter 6.4 for comments for re-running commands after computer shutdown.

      I think I found the source for the index.html.  I had been looking for the correct version  for zlib and I believe that it was downloaded by mistake. When I open it in Firefox, it refers to Sourge Forge.