make error when building rom - Printable Version +- iPXE discussion forum (https://forum.ipxe.org) +-- Forum: iPXE user forums (/forumdisplay.php?fid=1) +--- Forum: General (/forumdisplay.php?fid=2) +--- Thread: make error when building rom (/showthread.php?tid=1811) |
make error when building rom - AnRkey - 2012-01-30 17:08 I'm having issues while compiling a rom for a Broadcom 57xx series onboard nic. Code: root@ubuntu:/home/ubuntu# lspci Any help would be most welcome. Regards, R RE: make error when building rom - robinsmidsrod - 2012-02-03 15:40 From what I can see in src/drivers/net/tg3.c, line 3399, a very similar device seems to be supported. You can try to add a line for your specific PCI ID to that file and try to compile the bin/tg3.rom file. If the tg3 driver doesn't work, you can try to do the same with the bnx2 driver. In fact, showing the full output from lspci for this particular device in Linux should show you whether it is using the tg3 or bnx2 driver. iPXE uses the same name of drivers as Linux. Once you've added your PCI ID to the appropriate file you can try it out from a CD or USB stick. I would suggest waiting burning it into firmware until you know it works reasonably fast. If no native driver exist for your card (that actually works) you can use the undionly.kpxe target together with chainloading. See the chainloading article on the main website for details on how. If you have C skills you can try to look more closely at the init phase in the Linux kernel and see if you can adapt the correct driver in ipxe to initialize the card correctly. RE: make error when building rom - AnRkey - 2012-02-03 16:25 Thanks, I have a test rig with the same hardware here at home. I'll give it a go this weekend and post the results. R RE: make error when building rom - AnRkey - 2012-02-04 20:52 (2012-02-03 15:40)robinsmidsrod Wrote: From what I can see in src/drivers/net/tg3.c, line 3399, a very similar device seems to be supported. You can try to add a line for your specific PCI ID to that file and try to compile the bin/tg3.rom file. You're correct, the tg3 driver is being used in Ubuntu 10.04.3. Code: 2:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5723 Gigabit Ethernet PCIe (rev 10) I'm giving it a go now, I'll update with the results shortly. src/drivers/net/tg3.c does not exist. I found src/drivers/net/tg3/tg3.c but that only has 1000 or so lines. I've edited it anyway, giving it a go now. ubuntu@ubuntu:~/ipxe/src$ make bin/14e4165b.rom [RULES] drivers/net/tg3/tg3.c [DEPS] drivers/net/tg3/tg3.c [BUILD] bin/tg3.o [AR] bin/blib.a ar: creating bin/blib.a [LD] bin/14e4165b.rom.tmp [BIN] bin/14e4165b.rom.bin [ZINFO] bin/14e4165b.rom.zinfo [ZBIN] bin/14e4165b.rom.zbin [FINISH] bin/14e4165b.rom rm bin/14e4165b.rom.zinfo bin/14e4165b.rom.bin bin/14e4165b.rom.zbin ubuntu@ubuntu:~/ipxe/src$ That was quick, it seems to have compiled. Going to burn it to the rom in a moment. Damn I emailed you the screenshot of the error. RE: make error when building rom - robinsmidsrod - 2012-02-05 16:29 As far as I can tell, the new tg3 driver that was added to the git repository on Mon Jan 30 23:10:52 2012 is supposed to support your PCI ID already. No edits should be necessary. If it indeed does not work then you've found a bug, and you should report it to the mailinglist. I would urge you to build the tg3.iso, tg3.usb or tg3.pxe make target while testing things out, and if you get that to work I would then go forward and try to flash it into the firmware of the card. Until you have an externally-loaded working driver I would keep the latest Broadcom PXE ROM in the firmware. If you're using ISC dhcpd it is fairly simple to create a simple config that chainloads tg3.pxe for this particular host and force use of the native iPXE driver. RE: make error when building rom - AnRkey - 2012-02-05 17:48 Cool, I'll give it a go later tonight and report back. RE: make error when building rom - AnRkey - 2012-02-06 10:30 can you fix the forum upload function? I think it's a permissions issue on the temp upload dir. I have screenshots and notes to upload. RE: make error when building rom - robinsmidsrod - 2012-02-06 11:08 You need to talk to mcb30 about that issue. I don't have access to the server shell. RE: make error when building rom - AnRkey - 2012-02-06 11:22 bin/ipxe.usb is working now. It's just the bin/14e4165b.rom that's not burn'able to the NIC pxe chip. I've opted to boot from bin/ipxe.usb instead of an ISO or chain loading. I'll report the rom issue to the devs a bit later. Thanks, Robin! (2012-02-06 11:08)robinsmidsrod Wrote: You need to talk to mcb30 about that issue. I don't have access to the server shell. I'll msg him later too. Thanks again! RE: make error when building rom - robinsmidsrod - 2012-02-06 13:21 The romburning software might require a file that is exactly X number of bytes to work. You can usually make this happen by padding the file with NULL bytes. If you look at the rom files downloadable from Broadcom, maybe they are all the same size. Try to pad the ipxe rom file null bytes until you reach the same size. I believe there is a tutorial on how to do this on the main ipxe site, or possibly buried somewhere on the old etherboot wiki. RE: make error when building rom - AnRkey - 2012-02-06 13:58 (2012-02-06 13:21)robinsmidsrod Wrote: The romburning software might require a file that is exactly X number of bytes to work. You can usually make this happen by padding the file with NULL bytes. If you look at the rom files downloadable from Broadcom, maybe they are all the same size. Try to pad the ipxe rom file null bytes until you reach the same size. I believe there is a tutorial on how to do this on the main ipxe site, or possibly buried somewhere on the old etherboot wiki. Do you have any more info on this procedure? I can't find it with a google search. RE: make error when building rom - robinsmidsrod - 2012-02-10 16:16 (2012-02-06 13:58)AnRkey Wrote:(2012-02-06 13:21)robinsmidsrod Wrote: The romburning software might require a file that is exactly X number of bytes to work. You can usually make this happen by padding the file with NULL bytes. If you look at the rom files downloadable from Broadcom, maybe they are all the same size. Try to pad the ipxe rom file null bytes until you reach the same size. I believe there is a tutorial on how to do this on the main ipxe site, or possibly buried somewhere on the old etherboot wiki. I believe the padimg.pl script included in the ipxe codebase should help you out. See http://comments.gmane.org/gmane.network.ipxe.devel/365 for details. RE: make error when building rom - AnRkey - 2012-02-28 15:08 (2012-02-10 16:16)robinsmidsrod Wrote:(2012-02-06 13:58)AnRkey Wrote:(2012-02-06 13:21)robinsmidsrod Wrote: The romburning software might require a file that is exactly X number of bytes to work. You can usually make this happen by padding the file with NULL bytes. If you look at the rom files downloadable from Broadcom, maybe they are all the same size. Try to pad the ipxe rom file null bytes until you reach the same size. I believe there is a tutorial on how to do this on the main ipxe site, or possibly buried somewhere on the old etherboot wiki. I decided that this was starting to take up waaaay to much time so I switched to the Intel cards. Wow, what a difference. Everything just worked first time. I can't figure out how to mount my freenas extent, but that's another thread for when I've lost the very last hair. |