Hello Chad, As a disclaimer, I've got next to no idea how device drivers on Linux work, so I've only got some guesses for you ;) I suspect you might be right about driver load order having something to do with it. Specifically, in your non-working example's dmesg output:
> [ 1.249252] forcedeth 0000:00:0a.0: PCI INT A -> Link[LMAC] -> GSI 20 > (level, low) -> IRQ 20 > [ 1.249350] forcedeth 0000:00:0a.0: setting latency timer to 64 > [ 1.302279] Loading iSCSI transport class v2.0-870. > [ 1.315354] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x732 @ 1, addr > 90:fb:a6:2b:ee:ff > [ 1.315450] forcedeth 0000:00:0a.0: highdma csum pwrctl gbit lnktim msi > desc-v3 I'm unsure as to whether the iSCSI driver used here cares whether or not a NIC is available before it goes hunting for the iBFT, but it could be possible. It looks like Linux kernels are designed to not care a whole lot about device driver load order... which seems odd to me, but I'm sure there's a reason for it. While the blog post I found is a little dated, the technique (though a little convoluted!) may likely still apply. Take a look here: http://rackerhacker.com/2009/01/26/linux-adjust-storage-kernel-module-load-order/ Doubling down on that disclaimer again, the following suggestion is a complete guess: First, open your /etc/modprobe.d/blacklist file and add iscsi on to the end of it. Then, open your /etc/modules file and specify the forcedeth driver followed by the iscsi driver. Might work :P Best regards, Andrew Bobulsky On Wed, Jan 19, 2011 at 8:35 AM, Chad Voelker <chad.voel...@gmail.com> wrote: > > Hello, > > I apologize for being slightly off-topic... > > I have a Ubuntu 10.04 Myth frontend that I'm trying to get booting with > iSCSI. gPXE is working, and attaching the iSCSI drive and initiating the boot > sequence on the iSCSI drive. Following the guide here: > http://etherboot.org/wiki/sanboot/ubuntu_iscsi2, it sometimes fails on the > file /etc/initramfs-tools/scripts/local-top/iscsi where it tries to call > ipconfig to get DHCP info (even though the server is there and fine, > otherwise we wouldn't have gotten this far). > > This works somewhere around 1 out of 3 boots. What I've noticed in dmesg is > that when working, the iSCSI driver is loaded near the end of the process. > I've listed (trimmed) versions of the dmesg output below, if you need the > complete output let me know. > > Is there somewhere that I can dictate the order that things are loaded? Any > other ideas? > > Thanks. > -Chad > > dmesg (entries that are repeated / unimportant are shortened with a "...") > > Working... > > [ 0.947158] udev: starting version 151 > [ 1.115166] ahci ... > [ 1.132935] scsi0 : ahci... > [ 1.252750] ata1: SATA max UDMA/133 ... > [ 1.253462] forcedeth: Reverse Engineered nForce ethernet driver. Version > 0.64. > [ 1.254782] ACPI: PCI Interrupt Link [LMAC] enabled at IRQ 23 > [ 1.254869] forcedeth 0000:00:0a.0: PCI INT A -> Link[LMAC] -> GSI 23 > (level, low) -> IRQ 23 > [ 1.254965] forcedeth 0000:00:0a.0: setting latency timer to 64 > [ 1.318176] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x732 @ 1, addr > 90:fb:a6:2b:ee:ff > [ 1.318264] forcedeth 0000:00:0a.0: highdma csum pwrctl gbit lnktim msi > desc-v3 > [ 1.348043] usb 2-3: ... > [ 1.572051] ata1: SATA link down (SStatus 0 SControl 300) > [ 1.572193] ata2: SATA link down (SStatus 0 SControl 300) > [ 1.600025] ata6: SATA link down (SStatus 0 SControl 300) > [ 1.600139] ata3: SATA link down (SStatus 0 SControl 300) > [ 1.600146] ata4: SATA link down (SStatus 0 SControl 300) > [ 1.600202] ata5: SATA link down (SStatus 0 SControl 300) > [ 1.619530] Loading iSCSI transport class v2.0-870. > [ 1.667310] iscsi: registered transport (tcp) > [ 1.678221] iBFT detected at 0x93350. > > Not Working... > > [ 0.947224] udev: starting version 151 > [ 1.247791] forcedeth: Reverse Engineered nForce ethernet driver. Version > 0.64. > [ 1.249164] ACPI: PCI Interrupt Link [LMAC] enabled at IRQ 20 > [ 1.249252] forcedeth 0000:00:0a.0: PCI INT A -> Link[LMAC] -> GSI 20 > (level, low) -> IRQ 20 > [ 1.249350] forcedeth 0000:00:0a.0: setting latency timer to 64 > [ 1.302279] Loading iSCSI transport class v2.0-870. > [ 1.315354] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x732 @ 1, addr > 90:fb:a6:2b:ee:ff > [ 1.315450] forcedeth 0000:00:0a.0: highdma csum pwrctl gbit lnktim msi > desc-v3 > [ 1.325446] ahci ... > [ 1.327784] scsi0 : ahci... > [ 1.330959] ata1: SATA max UDMA/133 ... > [ 1.352040] usb 2-3: ... > [ 1.648030] ata2: SATA link down (SStatus 0 SControl 300) > [ 1.648131] ata1: SATA link down (SStatus 0 SControl 300) > [ 1.652029] ata4: SATA link down (SStatus 0 SControl 300) > [ 1.652122] ata5: SATA link down (SStatus 0 SControl 300) > [ 1.652132] ata3: SATA link down (SStatus 0 SControl 300) > [ 1.656026] ata6: SATA link down (SStatus 0 SControl 300) > [ 1.672896] iscsi: registered transport (tcp) > [ 1.683754] iBFT detected at 0x93350. > > > _______________________________________________ > gPXE mailing list > gPXE@etherboot.org > http://etherboot.org/mailman/listinfo/gpxe > _______________________________________________ gPXE mailing list gPXE@etherboot.org http://etherboot.org/mailman/listinfo/gpxe