[gPXE] iSCSI boot works sometimes
Andrew Bobulsky
rulerof at gmail.com
Wed Jan 19 09:23:53 EST 2011
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.voelker at 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 at etherboot.org
> http://etherboot.org/mailman/listinfo/gpxe
>
More information about the gPXE
mailing list