Linux Kernel in a Nutshell by Greg Kroah-Hartman The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated April 18, 2007. UNCONFIRMED errors and comments from readers: (9) Footnote; You could add that Fedora Core also calls the package "quota." [16] 1; How can tar -xzvf linux-2.6.17.8.tar.gz work when this file is no longer available? The options -xzvf don't work with bunzip2 (isn't normal). Please, tell me how to continue the installation using the file linux-2.6.20.6.tar.bz2. {48} 7th line from the bottom; Very very minor technical addition: >> $ find -type f -name Makefile | xargs grep e1000 Without the -i option to grep, this doesn't work for strings like "via_rhine". But to follow the possible intention, there could be a hint to change non- alphanumerical chars to "." an use egrep like this: >> $find -type f -name Makefile | xargs egrep via.rhine {56} 4th paragraph, line 20; >> Now that we have the driver name,... A little annotation to the filename would be nice, because only the corresponding object-file does appear in the Makefile. So one could search for the filename without the suffix. The referred first section was about a dirname. {62} 9th line from the bottom; get-driver.sh doesn't always treat possible spaces in sysfs-filenames correctly: This example tests "/sys/bus/pci/drivers/Intel ICH/module" for existance: $ ./get-driver.sh adsp looking at sysfs device: /sys/class/sound/adsp follow 'device' link to parent: /sys/devices/pci0000:00/0000:00:1f.5 found driver: Intel./get-driver.sh: line 63: test: /sys/bus/pci/drivers/Intel: binary operator expected Even on my system there are 4 additional filenames with spaces in that (and only that) directory. So only the critical hunk would be: --- get-driver-orgy.sh 2007-01-20 15:08:03.000000000 +0100 +++ get-driver.sh 2007-01-20 15:08:03.000000000 +0100 @@ -60,8 +60,8 @@ DRIVERPATH=$(readlink -f $DEVPATH/driver) DRIVER=$(basename $DRIVERPATH) echo -n "found driver: $DRIVER" - if test -e $DRIVERPATH/module; then - MODULEPATH=$(readlink -f $DRIVERPATH/module) + if test -e "$DRIVERPATH/module"; then + MODULEPATH=$(readlink -f "$DRIVERPATH/module") MODULE=$(basename $MODULEPATH) echo -n " from module: $MODULE" fi For convenience, here the full listing with some more quotes and cites: #================================================================================= #!/bin/sh # # Find all modules and drivers for a given class device. # if [ $# != "1" ] ; then echo echo "Script to display the drivers and modules for a specified sysfs class device" echo "usage: $0 " echo echo "example usage:" echo " $0 sda" echo "Will show all drivers and modules for the sda block device." echo exit 1 fi DEV=$1 if test -e "$1"; then DEVPATH=$1 else # find sysfs device directory for device DEVPATH=$(find /sys/class -name "$1" | head -1) test -z "$DEVPATH" && DEVPATH=$(find /sys/block -name "$1" | head -1) test -z "$DEVPATH" && DEVPATH=$(find /sys/bus -name "$1" | head -1) if ! test -e "$DEVPATH"; then echo "no device found" exit 1 fi fi echo "looking at sysfs device: $DEVPATH" if test -L "$DEVPATH"; then # resolve class device link to device directory DEVPATH=$(readlink -f "$DEVPATH") echo "resolve link to: $DEVPATH" fi if test -d "$DEVPATH"; then # resolve old-style "device" link to the parent device PARENT="$DEVPATH"; while test "$PARENT" != "/"; do if test -L "$PARENT/device"; then DEVPATH=$(readlink -f "$PARENT/device") echo "follow 'device' link to parent: $DEVPATH" break fi PARENT=$(dirname "$PARENT") done fi while test "$DEVPATH" != "/"; do DRIVERPATH= DRIVER= MODULEPATH= MODULE= if test -e "$DEVPATH/driver"; then DRIVERPATH=$(readlink -f "$DEVPATH/driver") DRIVER=$(basename "$DRIVERPATH") echo -n "found driver: $DRIVER" if test -e "$DRIVERPATH/module"; then MODULEPATH=$(readlink -f "$DRIVERPATH/module") MODULE=$(basename "$MODULEPATH") echo -n " from module: $MODULE" fi echo fi DEVPATH=$(dirname "$DEVPATH") done {88} 3rd paragraph; where it says: /sys/module/usbcore/blinkenlights it should say: /sys/module/usbcore/parameters/blinkenlights (at least for kernel 2.6.17) (121) 2nd heading, "Architecture-specific targets", table 10-8; last row in table 10-8: isoimage Creates a CD-ROM boot image and places it in the file arch/i396/boot/image.iso. The syslinux package must be present on your system in order for this to work properly. arch/i396/boot/image.iso should be arch/i386/boot/image.iso