RobertCNelson / linux-dev

MIT License
150 stars 96 forks source link

3.8.13-bone41 on BeagleBone Black does not boot after installing generated .debs #23

Closed interfect closed 10 years ago

interfect commented 10 years ago

I built the 3.8.13-bone41 kernel on my laptop (Ubuntu 13.10) with the build_kernel.sh script (turning on a few config options related to enable some packet scheduler features), and then built Debian packages of it with the build_deb.sh script. I then fired up my BeagleBone Black with a fresh install of ubuntu-13.10-console-armhf-2014-02-16 from the demo image provided on the wiki (which shipped with the 3.8.13-bone40 kernel), SCP'd all the generated .deb files over, and dpkg -i'd them. Upon reboting the board, it did not come up on the network, so I'm presuming it didn't boot (as I don't have the hardware to check any other way).

  1. Should this have worked? Or are the .deb packages for that kernel not supposed to install and boot on that system? Do I need to do something like replace the boot image manually, or configure uboot to choose among installed kernel versions, or uninstal the existing kernel first? Is the bone41 version not going to install cleanly over the bone40 version?
  2. Is there a way to install a custom kernel with the setup_sdcard.sh script? I looked through it and it looks like the kernel build script does not generate an initrd.img, which the install script needs, and does build headers, firmware, and modules files, which the install script does not appear to call for.
  3. How can I get a system installed with setup_sdcard.sh to run a custom-compiled kernel? Is install_kernel.sh with the SD card in the build host the only way? Is that tested to work on top of the demo images?
interfect commented 10 years ago

So it turns out that the device does boot after I properly power cycle it (not a shutdown -r), but it boots the old kernel. The debs seem to have dumped their stuff into /boot, while the system loads its boot files from /boot/uboot.

interfect commented 10 years ago

OK, so I tested install_kernel.sh on top of a fresh setup_sdcard.sh install, and it does indeed boot my newly built kernel. Only config-3.8.13-bone41 ends up in /boot, and all the other files end up in /boot/uboot.

So I'm going to declare that the problem I'm having is with the .deb packaging specifically.

RobertCNelson commented 10 years ago

What you see is correct, just installing the .deb file doesn't upgrade the actual kernel files we use to boot as they only update /boot/ also the deb package still doesn't currently include the dtb's.

For reference, you can get a good idea of what is required to install via the *.deb file from here: https://github.com/rcn-ee/farm/blob/master/install-me-template.sh Regards,