Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 370803

Summary: gentoo.igz has very limited set of NIC drivers - this breaks netboot for machines without e1000 or tg3
Product: Gentoo Release Media Reporter: Mark Zhitomirski <marcuzero>
Component: NetbootAssignee: Gentoo Release Team <releng>
Status: RESOLVED FIXED    
Severity: normal CC: dan, genkernel
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Mark Zhitomirski 2011-06-09 12:18:40 UTC
Following this forum post: http://forums.gentoo.org/viewtopic-p-6206902.html?sid=90a4f15ec40d47a3a4b0091c82454045#6206902
I was able to successfully netboot VirtualBox VM (which emulates e1000 NIC)
but could not mount image.squashfs from NFS due to missing NIC driver (r8169 "Realtek 8169 gigabit ethernet") on a real machine.

After unpacking install-amd64-minimal-20110421.iso and then isolinux/gentoo.igz
gunzip -c ../gentoo.igz | cpio -idv
one can see that lib/modules/2.6.37-gentoo-r4/kernel/drivers/net/
has only 2 drivers: e1000 and tg3 (and etc/modules/net lists only them too)

Reproducible: Always

Steps to Reproduce:
1. Setup network harness with dhcpd, tfptpd, NFS and stuff it with kernel, initrd and image.squashfs
2. Try in VirtualBox with e1000 emulation (addon required) - should be OK
3. Pick a host without e1000 or tg3 NIC or change NIC type in VirtualBox to pcnet - boot stops shortly after: 
>>Mounting root...
udhcpc: SIOCGIFINDEX: No such device
Actual Results:  
Setup cannot proceed as machine is not on network

Expected Results:  
More modules  are loaded and NFS is usable

My pxelinux.cfg/default has this entry:

LABEL Gentoo-minimal-amd64-nfs
    MENU LABEL Install Gentoo amd64
    KERNEL gentoo/gentoo
    APPEND initrd=gentoo/gentoo.igz loop=/image.squashfs root=/dev/ram0 init=/linuxrc looptype=squashfs nfsroot=172.16.0.1:/export/netboot/ cdroot=1 real_root=/dev/nfs dosshd passwd=guessMe
Comment 1 Mark Zhitomirski 2011-06-09 19:19:09 UTC
as proof of concept added all net/ drivers from image.sqashfs to unpacked igz tree and added 

r8169
pcnet32
atl1c

to etc/modules/net
repacked gentoo.igz 

find . | cpio -o -H newc |gzip -9 -c - > ../gentoo.igz.new

Redeployed it to tftp server.
Now VirtualBox VM can boot with AMD PCnet emulation and NFS mount is OK.
Comment 2 Mark Zhitomirski 2011-06-22 18:25:31 UTC
> After unpacking install-amd64-minimal-20110421.iso and then 

Same story with recent install-amd64-minimal-20110609.iso.

List iso contents (app-cdr/cdrtools) :
isoinfo -i install-amd64-minimal-20110609.iso -l

Command to extract .igz  : 
isoinfo -i install-amd64-minimal-20110609.iso -x "/ISOLINUX/GENTOO.IGZ;1"> gentoo-20110609.igz
Comment 3 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2014-06-22 02:25:09 UTC
This is caused by genkernel only adding support for e1000 and tg3.
I've talked to genkernel maintainers and have got an ok to add more drivers to the x86 / x86_64 arches. What drivers would anyone suggest?
Comment 4 Mark Zhitomirski 2014-06-22 20:32:16 UTC
(In reply to Jorge Manuel B. S. Vicetto from comment #3)
> What drivers would anyone suggest?
i'd suggest 'r8169', 'atl1c' as they are quite popular with desktop mobo makers. 
VM emulated NICs (pcnet32, virtio-net, vmxnet3) probably should be suggested too.
Comment 5 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2014-06-25 19:47:42 UTC
Thanks for the suggestion. I've added a few more that I believe are common on server harddware[1][2].

 [1] - http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=52c112cf039f2d5f875d0916da4977a4aa33073a
 [2] - http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=35d7275d87ee8c6831c3e92e1885701e0466b0bd
Comment 6 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2016-07-30 12:40:14 UTC
This should be fixed by now.