[ipxe-devel] Booting different initrd , depending on hardware query pci bus

Petry Roman, SHS-S IT-TS Roman.Petry at shsservices.org
Wed Jan 29 07:52:17 UTC 2014


Hello
I use ipxe now for several weeks to boot some thinstation thinclients
over the network. Via http.. works great.. thanks for such a good tool.
I still have one wish 8-)..

Is there a way to boot alternative initrd images depending on the
hardware of the client.. i have some clients which have a nvidia gpu and
others do have ati.. if i embed both dirvers my initrd goes up to
340MB.. with one driver i have only 210 MB..

One way would be to use a pcibus query to get the types.. is this
possible with ipxe ?
The other way would be to use a "better" php script to query a hardware
inventory database and return the right initrd..i would prefer the first
if possible so no more backend hacks are needed.
At the moment my script is simple ..

----
#!ipxe
ifstat
ifopen
show ip
show hostname
kernel http://bootserver.de/ts5.1dev/vmlinuz.thin51devstable2
video=uvesafb:1024x768-32,mtrr:0,ywrap splash=verbose,theme:default
console=tty1 loglevel=3 LM=3
initrd http://bootserver.de/ts5.1dev/initrd.thin51devstable2
boot
-----

Lspci
----
tc10257:~# lspci
00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition
Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port
1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port
2 (rev 02)
00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port
4 (rev 02)
00:1d.0 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #1 (rev 02)
00:1d.1 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #2 (rev 02)
00:1d.2 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #3 (rev 02)
00:1d.3 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI
Controller #4 (rev 02)
00:1d.7 USB controller: Intel Corporation N10/ICH 7 Family USB2 EHCI
Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev
02)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE
Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev
02)
01:00.0 VGA compatible controller: ATI Technologies Inc Caicos [Radeon
HD 7400 Series]
01:00.1 Audio device: ATI Technologies Inc Caicos HDMI Audio [Radeon HD
6400 Series]
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device
5289 (rev 01)
02:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 0a)
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE
802.11b/g/n WiFi Adapter (rev 01)
----

Any advice would be great.

Thanks roman




More information about the ipxe-devel mailing list