# PXE and Genkernel [SOLVED]

## lordbinky

I have a PXE Genkernel squash image that was created using the instructions found on the Gentoo wiki (http://gentoo-wiki.com/HOWTO_build_a_LiveCD_from_scratch).  This has been up and running for several years without a problem and has been updated frequently with negligible issues.

But recently within a month or two, after a few updates, including a genkernel kernel update the PXE bootable thinclient isn't working.  

Here is my pxelinux.cfg/default menu item for this thin client:

```

label dev

   menu label Gentoo (dev-only for testing)

   kernel /pookydev/boot/kernel-genkernel-x86-2.6.26-gentoo

   append initrd=/pookydev/boot/initramfs-genkernel-x86-2.6.26-gentoo looptype=squashfs root=/dev/loop0 nfsroot=172.16.4.23:/diskless/pookydev real_root=/dev/nfs ip=dhcp nodevfs cdroot panic=10

```

Here is the error:

```
>>Attempting to mount NFS CD image on 172.16.4.23:/diskless/pookydev

!!The filesystem mounted at /dev/nfs does not appear to be a valid /, try again

!!Could not find the root block device in .

   Please specify another value or: press Enter for the same, type "shell" for a shell, or "q" to skip...

root block device() ::
```

At this point if I type /dev/loop0 and press enter, the system boots normally as it should.  It is as if the root= is not getting passed further down the boot process.

I tried:

- Changing the settings in the menu to reflect the same settings other users have had.

- The git version of genkernel (genkernel-9999)

- looking for an older version of genkernel.  I was unable to find one.

- Different kernels.  The older kernels that have already been created work, if I recompile them using genkernel those kernel's don't work.

I checked:

- That livecd-tools is installed. It is.

- NFS, DHCP, and TFTP are all running on the server.

- Other kernel revisions that have not been rebuilt by genkernel within the last month or two all work.

Here is a sample of genlop -l of the guest thin client source image(note that it goes back as far as 2006):

```

     Wed Jun  4 17:57:47 2008 >>> app-arch/tar-1.20

     Wed Jun  4 17:57:59 2008 >>> sys-devel/gnuconfig-20080123

     Wed Jun  4 17:58:44 2008 >>> net-dialup/minicom-2.3-r1

     Wed Jun  4 18:01:27 2008 >>> sys-devel/libperl-5.8.8-r2

     Wed Jun  4 18:02:41 2008 >>> app-benchmarks/lmbench-3_alpha3

     Wed Jun  4 18:03:58 2008 >>> app-admin/syslog-ng-2.0.9

     Wed Jun  4 18:14:23 2008 >>> net-fs/samba-3.0.28a-r1

     Wed Jun  4 18:14:36 2008 >>> net-ftp/ftp-0.17-r7

     Wed Jun  4 18:15:32 2008 >>> sys-kernel/gentoo-sources-2.6.24-r8

     Wed Jun  4 18:17:30 2008 >>> media-libs/imlib2-1.4.0-r1

     Thu Jun  5 10:24:48 2008 >>> sys-kernel/gentoo-sources-2.6.25-r4

     Thu Jun  5 10:52:15 2008 >>> net-analyzer/zabbix-agent-1.1.7

     Fri Jun 13 11:16:28 2008 >>> sys-apps/smartmontools-5.38

     Fri Jun 13 11:16:52 2008 >>> sys-devel/bc-1.06.95

     Fri Jun 13 11:17:13 2008 >>> sys-apps/man-pages-2.79

     Fri Jun 13 11:18:21 2008 >>> sys-libs/com_err-1.40.9

     Fri Jun 13 11:19:02 2008 >>> sys-libs/ss-1.40.9

     Fri Jun 13 11:20:35 2008 >>> sys-fs/e2fsprogs-1.40.9

     Mon Jun 16 13:24:15 2008 >>> sys-process/htop-0.7

     Tue Jun 17 15:12:00 2008 >>> x11-drivers/xf86-video-i810-2.1.1

     Thu Jun 19 11:24:35 2008 >>> sys-apps/man-pages-2.80

     Tue Jun 24 11:15:46 2008 >>> sys-apps/mlocate-0.20

     Tue Jun 24 14:32:31 2008 >>> sys-apps/slocate-3.1-r1

     Thu Jul  3 11:04:58 2008 >>> sys-block/lsiutil-1.52

     Thu Jul  3 15:40:06 2008 >>> x11-plugins/cputnik-0.2.0

     Thu Jul  3 15:40:25 2008 >>> sys-fs/mdadm-2.6.7

     Thu Jul  3 15:40:46 2008 >>> x11-plugins/wmcpuload-1.1.0_pre5

     Thu Jul  3 15:41:05 2008 >>> sys-devel/autoconf-2.61-r2

     Thu Jul  3 15:44:10 2008 >>> sys-libs/libsmbios-0.13.13

     Thu Jul  3 15:44:46 2008 >>> app-editors/nano-2.1.2-r1

     Thu Jul  3 15:44:58 2008 >>> sys-fs/squashfs-tools-3.3

     Thu Jul  3 15:45:54 2008 >>> sys-fs/lvm2-2.02.36

     Thu Jul  3 15:46:09 2008 >>> sys-kernel/genkernel-3.4.10-r1

     Thu Jul  3 15:47:03 2008 >>> net-misc/rsync-3.0.2

     Thu Jul  3 15:49:31 2008 >>> sys-kernel/gentoo-sources-2.6.25-r6

     Thu Jul 10 12:19:03 2008 >>> x11-drivers/nvidia-drivers-173.14.09

     Thu Jul 10 12:19:49 2008 >>> media-video/nvidia-settings-169.07

     Mon Jul 14 13:40:52 2008 >>> sys-block/tw_cli-9.5.0.1

     Mon Aug  4 09:50:51 2008 >>> sys-apps/lshw-02.13b

     Mon Aug  4 09:52:23 2008 >>> sys-fs/ntfs3g-1.2531

     Mon Aug  4 09:52:32 2008 >>> games-misc/cowsay-3.03-r1

     Mon Aug  4 09:58:18 2008 >>> sys-devel/binutils-2.18-r3

     Mon Aug  4 09:59:29 2008 >>> app-editors/vim-core-7.1.319

     Mon Aug  4 10:00:57 2008 >>> app-admin/testdisk-6.10

     Mon Aug  4 10:02:58 2008 >>> sys-boot/grub-0.97-r6

     Mon Aug  4 10:03:06 2008 >>> games-misc/fortune-mod-firefly-2.1.1

     Mon Aug  4 10:04:09 2008 >>> sys-kernel/gentoo-sources-2.6.25-r7

     Mon Aug  4 10:06:14 2008 >>> app-editors/vim-7.1.319

     Mon Aug  4 10:41:55 2008 >>> www-client/mozilla-firefox-2.0.0.16

     Mon Aug  4 10:46:14 2008 >>> x11-drivers/ati-drivers-8.501

     Tue Aug  5 12:18:26 2008 >>> sys-kernel/gentoo-sources-2.6.26

     Tue Aug 19 16:16:02 2008 >>> sys-boot/netboot-0.9.8

     Wed Aug 20 15:40:56 2008 >>> perl-core/digest-base-1.15

     Wed Aug 20 15:41:04 2008 >>> dev-perl/Crypt-PasswdMD5-1.3

     Wed Aug 20 15:41:28 2008 >>> app-arch/bzip2-1.0.5-r1

     Wed Aug 20 15:42:13 2008 >>> net-misc/wget-1.11.3

     Wed Aug 20 15:48:20 2008 >>> dev-libs/glib-2.16.3-r1

     Wed Aug 20 15:49:16 2008 >>> app-editors/vim-core-7.2

     Wed Aug 20 15:49:23 2008 >>> virtual/perl-digest-base-1.15

     Wed Aug 20 15:50:22 2008 >>> net-misc/rsync-3.0.3

     Wed Aug 20 15:50:49 2008 >>> sys-fs/udev-124-r1

     Wed Aug 20 15:52:54 2008 >>> media-libs/imlib2-1.4.1

     Wed Aug 20 15:53:03 2008 >>> dev-perl/Digest-SHA1-2.11

     Wed Aug 20 15:56:23 2008 >>> gnome-base/libgnomeui-2.22.1

     Wed Aug 20 15:57:59 2008 >>> app-editors/vim-7.2

     Wed Aug 20 15:58:31 2008 >>> sys-boot/syslinux-3.52

     Wed Aug 20 15:58:48 2008 >>> sys-apps/man-pages-3.05

     Wed Aug 20 15:59:01 2008 >>> sys-apps/man-pages-posix-2003a

     Wed Aug 20 16:01:35 2008 >>> sys-kernel/gentoo-sources-2.6.26-r1

     Tue Sep  2 11:14:19 2008 >>> app-misc/livecd-tools-1.0.40

     Tue Sep  2 12:06:39 2008 >>> dev-perl/DateManip-5.54

     Tue Sep  2 12:06:46 2008 >>> app-portage/genlop-0.30.8-r1

     Tue Sep  2 14:08:05 2008 >>> perl-core/libnet-1.22

     Tue Sep  2 14:08:15 2008 >>> dev-perl/Error-0.17.012

     Tue Sep  2 14:09:13 2008 >>> dev-python/pygobject-2.14.2

     Tue Sep  2 14:09:52 2008 >>> dev-python/numeric-24.2-r6

     Tue Sep  2 14:10:51 2008 >>> x11-libs/pixman-0.10.0

     Tue Sep  2 14:11:07 2008 >>> dev-perl/Net-SSLeay-1.30

     Tue Sep  2 14:11:18 2008 >>> dev-perl/GSSAPI-0.24

     Tue Sep  2 14:14:31 2008 >>> x11-libs/cairo-1.6.4

     Tue Sep  2 14:14:40 2008 >>> dev-perl/IO-Socket-SSL-1.13

     Tue Sep  2 14:14:46 2008 >>> virtual/perl-libnet-1.22

     Tue Sep  2 14:14:55 2008 >>> dev-perl/Authen-SASL-2.10-r1

     Tue Sep  2 14:15:12 2008 >>> dev-python/pycairo-1.4.12

     Tue Sep  2 14:15:20 2008 >>> dev-perl/Net-SMTP-SSL-1.01

     Tue Sep  2 14:17:51 2008 >>> dev-python/pygtk-2.12.1-r2

     Tue Sep  2 14:19:29 2008 >>> dev-util/git-1.5.6.4

     Tue Sep  2 16:23:10 2008 >>> dev-perl/Array-RefElem-1.00

     Tue Sep  2 16:23:19 2008 >>> dev-perl/DelimMatch-1.06

     Tue Sep  2 16:23:28 2008 >>> dev-perl/Data-DumpXML-1.06

     Tue Sep  2 16:23:42 2008 >>> dev-util/libconf-0.40.00

     Tue Sep  2 16:23:47 2008 >>> app-portage/flagedit-0.0.7

     Tue Sep  2 16:24:20 2008 >>> sys-kernel/genkernel-9999

```

I think it is related to a change that was made in genkernel, since that is the commonality with the issue.  But this is a problem since I cannot go back to 3.4.9.    

Any assistance with this issue is appreciated.Last edited by lordbinky on Wed Sep 03, 2008 7:21 pm; edited 1 time in total

----------

## nativemad

Hi

I would try to get the .config from the working kernel... then create the new kernel via genkernel with that .config.

Otherwise, i would still have the tarball of genkernel-3.4.9 if you like...

Cheers!

----------

## lordbinky

I have tried an older .config from previous kernels.  All the old kernel rebuilds are using the same .config with some minor changes in network and storage device modules.

Would it be possible to get the tarball from you?  You can private message me if you want.  If needed I can get you an ftp account to upload it.

----------

## nativemad

I've just checked now... my netboot also has the same boot-settings and still uses genkernel 2.4.9!

As i use a modified version of genkernel (i made a unionfs-root), i can't quickly check a newer genkernel-version...  

I've just had a look at genkernel(the 3.4.10 version)... It seems really a bit b0rked for our usage!   :Wink: 

/usr/share/genkernel/generic/linuxrc ~line 410

```
if [ -d ${NEW_ROOT}/dev -a -x ${NEW_ROOT}/sbin/init ]

                        then

                                break

                        else

                                bad_msg "The filesystem mounted at ${REAL_ROOT} does not appear to be a valid /, try again"

                                got_good_root=0

                                REAL_ROOT=''

                        fi

```

This means, that it would probably work, if you make a /dev directory and an executable /sbin/init in the nfs-share itself! --absolutely no guarantee!  :Wink: 

----------

## lordbinky

Uhg, nativemad, that looks like silliness. . . I will have to try that. 

But for now it works.  I finally tested genkernel 3.4.9.  I had some problems finding the ebuild to easily install it (thank google cache).  Genkernel 3.4.9 works great.

Thank you for all your help.

[edit]

I posted a bug report here:

https://bugs.gentoo.org/show_bug.cgi?id=236606

----------

