[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Using PXE+GRUB to boot Linux on a Thinkpad T20
From: |
Patrick J. LoPresti |
Subject: |
Using PXE+GRUB to boot Linux on a Thinkpad T20 |
Date: |
29 Jul 2002 12:25:40 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Executive summary: I need some help from a Linux PCI/CardBus (or
possibly 3c59x) wizard.
I am trying to use PXE to boot a diskless Linux system on an IBM
Thinkpad T20 laptop. Using pxegrub, I have a diskless Linux system
booting fine on our desktop machines, but I have hit some snags with
the T20.
First, the T20's onboard Ethernet card is a 3com 5c556B, which the
pxegrub network drivers do not support. But by comparing the Linux
3c59x driver with the GRUB 3c50x driver, I was able to patch the
latter to work on the T20.
It works well enough to load menu.lst, read a kernel and initrd, boot
the kernel, mount the initrd, and give me a shell prompt, all from the
network alone. What a nice feeling.
The real problem happens when I then try to start the network in
Linux. When I load the Linux 3c59x driver, it (correctly) probes the
card as a 3c556B, but then prints this warning:
***WARNING*** No MII transceivers found!
All attempts to access the network fail, printing messages like these:
eth0: command 0x3002 did not complete! Status=0xffff
"ifconfig eth0" shows that the driver thinks the MAC address of the
card is FF:FF:FF:FF:FF:FF, which is clearly wrong.
Note that the exact same kernel (2.4.18) and modules can access the
network just fine when I boot them from a floppy or a CD-ROM. So this
is definitely some bad interaction between the network boot and the
the Linux drivers. (Other kernels, like 2.2.21, behave similarly;
they work fine when booted locally, but when loaded by pxegrub they
complain while probing the network.)
I actually suspect the issue is with the Linux PCI support and not the
3c59x driver. When I boot a working kernel (any kernel) on this
laptop, it shows the Ethernet card to reside at I/O address 0x1800.
But when I do the network boot, the 3c59x driver reports the I/O
address as 0x1400 (or 0x5800 in Linux 2.2.21). Given that, and the
bogus MAC address, and the driver's inability to talk to the card, I
am guessing that the I/O address is just wrong.
At this point, I am hoping some Linux PCI/CardBus/3c59x wizard will be
kind enough to offer some assistance in tracking this down. I am
pretty good at gathering information, but I do not know enough about
PCI or the Linux implementation to figure this out by myself.
Thanks!
- Pat
- Using PXE+GRUB to boot Linux on a Thinkpad T20,
Patrick J. LoPresti <=
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Donald Becker, 2002/07/29
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Patrick J. LoPresti, 2002/07/29
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Donald Becker, 2002/07/29
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Patrick J. LoPresti, 2002/07/29
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Donald Becker, 2002/07/29
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Patrick J. LoPresti, 2002/07/29
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Donald Becker, 2002/07/29
- Re: Using PXE+GRUB to boot Linux on a Thinkpad T20, Patrick J. LoPresti, 2002/07/30