Kickstart Dapper with a newer kernel version that got support for my hardware

Jaco Engelbrecht bje at serendipity.org.za
Tue Jun 26 10:59:51 UTC 2007


Hi,

I'm currently rolling out some systems on HP DL320 servers, with a LSI
SAS 1068 RAID controller.

During the installation of Dapper 6.06 LTS, partman hangs because it
didn't detect any drives.  LTS is the reason for using Dapper, amongst
things.

I decided to install Feisty (2.6.20 kernel), and it detects both my
network card and the RAID controller.  Great!

Now I'm trying to find the "correct" way, of making a 2.6.20 kernel work
with my Dapper installation.  I'm installing these systems via PXE
boot/kickstart.  So it's not that straight forward.

So, I'm looking for hints on how to make a initrd.gz from a later kernel
that already got support built in for my hardware, that's usable for
netboot purposes.  I've tried various things over the last couple of
days, but no luck.

Typically, if I were to add support for a newee network card, I'd do
something like this documented below.  I had a look at doing this to add
support for my RAID controller, but it does not seem that easy:

--
# cd /root
# mkdir -p extract-{dapper,feisty}
# cd extract-feisty
# zcat /export/autoinstall/ubuntu/feisty/ubuntu-installer/i386/initrd.gz
| cpio -i
# cd ..
# cd extract-dapper
# zcat /export/autoinstall/ubuntu/dapper/ubuntu-installer/i386/initrd.gz
| cpio -i
# cd ..
# cp
./extract-feisty/lib/modules/2.6.20-15-generic/kernel/drivers/net/bnx2.ko
 extract-dapper/lib/modules/2.6.15-23-386/kernel/drivers/net/
# grep bnx extract-feisty/lib/modules/2.6.20-15-generic/modules.alias
>> extract-dapper/lib/modules/2.6.15-23-386/modules.alias

# grep bnx extract-feisty/lib/modules/2.6.20-15-generic/modules.dep >>
extract-dapper/lib/modules/2.6.15-23-386/modules.dep
# vi extract-dapper/lib/modules/2.6.15-23-386/modules.dep

( change 2.6.20-15-generic to 2.6.15-23-386 )

# find . | cpio -o --format='newc' |   gzip -9 > initrd.gz
# mv /export/autoinstall/ubuntu/dapper/ubuntu-installer/i386/initrd.gz
/export/autoinstall/ubuntu/dapper/ubuntu-installer/i386/initrd.gz.prev
# cp initrd.gz
/export/autoinstall/ubuntu/dapper/ubuntu-installer/i386/initrd.gz
--


I then decided to rather try find a way to make a newer kernel with
support already built in, work with an older distribution instead.

What I've done so far:

 - installed Ubuntu Dapper 6.06 LTS on another HP DL320 with no RAID
controller
 - installed 2.6.20-15-386 kernel (fetched
linux-image-2.6.20-15-386_2.6.20-15.27_i386.deb and did a dpkg -i)
 - changed /etc/mkinitramfs/initramfs.conf: set BOOT=nfs and MODULES=netboot
 - mkinitramfs -o /home/bje/initrd-2.6.20-15.netboot.gz

My first attempt gave me:

--
WARNING: Couldn't open directory /lib/modules/2.6.20-15-generic: No such
file or directory
FATAL: Could not open /lib/modules/2.6.20-15-generic/modules.dep.temp
for writing: No such file or directory
--

So I figured, OK, just do this:

# zcat ../initrd-2.6.20-15.netboot.gz | cpio -i
# cp -pr lib/modules/2.6.20-15-386 lib/modules/2.6.20-15-generic
# find . | cpio -o --format='newc' |   gzip -9 >
initrd-2.6.20-15.netboot-fixed.gz

Booting using initrd-2.6.20-15.netboot-fixed.gz now gives me:

--
[    1.581323] Freeing unused kernel memory: 328k freed
[    1.604422] softcursor: disagrees about version of symbol struct_module
[    1.608651] bitblit: disagrees about version of symbol struct_module
[    1.612712] font: disagrees about version of symbol struct_module
[    1.616607] tileblit: disagrees about version of symbol struct_module
[    1.620620] fbcon: disagrees about version of symbol struct_module
[    1.625943] vesafb: disagrees about version of symbol struct_module
Begin: Loading essential drivers... ...
[    1.636038] commoncap: disagrees about version of symbol struct_module
[    1.640803] capability: disagrees about version of symbol struct_module
[    1.648808] softcursor: disagrees about version of symbol struct_module
[    1.653494] bitblit: disagrees about version of symbol struct_module
[    1.657515] font: disagrees about version of symbol struct_module
[    1.661533] tileblit: disagrees about version of symbol struct_module
[    1.665577] fbcon: disagrees about version of symbol struct_module
Done.
Begin: Running /scripts/init-premount ...
[    1.683001] fan: disagrees about version of symbol struct_module
[    1.688121] processor: disagrees about version of symbol struct_module
[    1.692882] thermal: disagrees about version of symbol struct_module
Done.
Begin: Mounting root file system... ...
Begin: Running /scripts/nfs-top ...
udevplug[1166]: make_queue: unable to create /dev/.udev/queue: No such
file or directory
[    2.026296] tg3: disagrees about version of symbol struct_module
[    2.035042] tg3: disagrees about version of symbol struct_module
[    2.043882] tg3: disagrees about version of symbol struct_module
[    2.054421] tg3: disagrees about version of symbol struct_module
[    2.070388] tg3: disagrees about version of symbol struct_module
[    2.086372] tg3: disagrees about version of symbol struct_module
[    2.118873] usbcore: disagrees about version of symbol struct_module
[    2.122931] uhci_hcd: disagrees about version of symbol struct_module
[    2.127390] usbcore: disagrees about version of symbol struct_module
[    2.131466] ehci_hcd: disagrees about version of symbol struct_module
[    2.141730] usbcore: disagrees about version of symbol struct_module
[    2.145855] uhci_hcd: disagrees about version of symbol struct_module
[    2.150653] usbcore: disagrees about version of symbol struct_module
[    2.154632] uhci_hcd: disagrees about version of symbol struct_module
[    2.163210] usbcore: disagrees about version of symbol struct_module
[    2.168539] uhci_hcd: disagrees about version of symbol struct_module
[    2.172812] usbcore: disagrees about version of symbol struct_module
[    2.177127] usbcore: disagrees about version of symbol struct_module
[    2.181444] uhci_hcd: disagrees about version of symbol struct_module
[    2.189708] uhci_hcd: disagrees about version of symbol struct_module
Done.
[    2.207343] sunrpc: disagrees about version of symbol struct_module
[    2.211454] lockd: disagrees about version of symbol struct_module
[    2.215821] nfs: disagrees about version of symbol struct_module
[    2.221672] af_packet: disagrees about version of symbol struct_module
SIOCGIFINDEX: er[    2.230457] Kernel panic - not syncing: Attempted to
kill init!
ror 19
ipconfig[    2.234330]
--

Any ideas?  Am I wasting my time?

Is there any documentation on how to add support for newer (RAID
controllers/)hardware to a LTS release?  I can't wait for the next LTS
release to come out, and I can't run mixed versions of Ubuntu on this
particular platform - different versions of software, it also makes
management of the systems a nightmare.

Jaco

-- 
bje at serendipity.org.za
the faculty of making fortunate discoveries




More information about the ubuntu-server mailing list