If you did want to use a newer kernel here is how you would replace the kernel modules in the initrd:
Extract the frankenstein initrd (assuming your zip archive structure working root dir is /iso/wubi-fedora):
- Code: Select all
# mkdir /tmp/initrd
# cd /tmp/initrd
# zcat /iso/wubi-fedora/ubuntu/disks/boot/initrd-frankenstein.img | cpio -idv
The modules are in the initrd image just like they are on the root file system. Usually there is just a minimal subset of modules in the initrd though. Just copy that same list of modules from the /lib/modules/<kernelversion> in the root file system image to the initrd image's /lib/modules/<kernelversion> then remove the old modules directory. If your root.disk file is mounted on /mnt/root and say you really wanted to use that new kernel you mentioned and it was installed in the image you could copy the necessary modules to the initrd directory structure like so:
- Code: Select all
# cd /tmp/initrd/lib/modules
(make new kernel dir)
# mkdir 2.6.27.25-170.2.72.fc10.i686
(change into old kernel dir)
# cd 2.6.27.5-117.fc10.i686
(create same directories in new that exist in old)
# for i in `find -type d`; do mkdir -p ../2.6.27.25-170.2.72.fc10.i686/$i; done
(copy new modules with same name as old modules into new modules dir)
# for i in `find -type f`; do cp -a /mnt/root/lib/modules/2.6.27.25-170.2.72.fc10.i686/$i ../2.6.27.25-170.2.72.fc10.i686/$i; done
(remove old module directory structure)
# cd ..
# rm -rf 2.6.27.5-117.fc10.i686
Now you just have to create the new initrd from this directory structure:
- Code: Select all
(go back to the root of the initrd directory stucture)
# cd /tmp/initrd
# find | cpio -H newc --quiet -o | gzip -9 > initrd-frankenstein.img
Now you should have a new initrd-frankenstein.img in the current directory with the new kernel modules. Replace the frankenstein image in your zip archive with this one and boot the new kernel. Don't forget to put the new kernel in your zip archive and set the menu.lst boot line to boot it.