Forum

Full Version: Unable to boot Xbian after kernel recompile
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

I've been trying to build a kernel module for my Wifi adapter for the past few days, but keep running into problems where the kernel driver (8188eu.ko) gets built against the wrong Module.symvers and won't load.

I figured I would just build my own kernel and use the module.symvers that is generated in the process. That way I can be absolutely sure that the Module.symvers matches my running kernel.

I've followed the instructions on the wiki and succesfully compiled a kernel. However when I replace the kernel.img on my SD-card with the kernel.img I compiled, Xbian won't boot.

Unfortunately, there is some problem where part of the output falls outside of my TV screen, so I can only see the error message partially.

This is the output I see:
Terminal
...ing root as: mount -t btrfs -o rw,subvol=root/@,noatime,compress=lzo,thread_pool=1,space_cache,autodefrag /dev/mmcblk0p2 /rootfs
...: mounting /dev/mmcblk0p2 on /rootfs failed: No such device
...ing root partition /dev/mmcblk0p2 faild

Then I get dropped to a shell. When I check /dev, I can see the mmcblk0p2 device. If I check dmesg, I can see the driver finding the two partitions on the SD-card.

I tried this for 3.8.13 (just copying kernel.img) and 3.9.8 (copying everything from kernelandfirmware), but get the same result.

I would really appreciate any help I can get in getting Xbian to boot with a recompiled kernel.

Kind regards,

Jeroen
initramfs.gz file properly generated with up-to-date modules (to actual kernel.img) needs to exists.

this is handled automatically with apt processes, if you need custom kernel with custom install, deploy kernel.img, deploy /lib/modules/3.x.y and run
Code:
xbian-update-initramfs 3.x.y

(the 3.x.y as parameter is needed is you are changing kernel version, otherwise the one reported from uname -r would be used.

mk

(wiki updated)
Thanks, that was the solution to my problem. I managed to build the 3.9.8+ kernel, generate a new initramfs and use the Module.symvers that was created after compiling the kernel to build the 8188eu kernel driver. My Raspberry is now pretty much running the latest and the greatest while wirelessly conected to the Internet.

One more question, now that I've succesfully built the driver, is there any way to make the driver a part of the Xbian distribution? I don't know exactly how popular this wireless dongle is, but I've found a few other posts with people trying to get it to work.
indeed it is. but, people would need to use exactly your kernel.img and modules. but, xbian is providing kernal package as well as header package for development (own modules compile for instance).

if you compile the sources against distro packages, you could easily copy the .ko (or create a user .deb). but then with each update to kernel, it needs to be recompiled.

or even you can do dkms package, which will build on users installations automatically. even auto rebuild, if kernel changed.
Reference URL's