Update: This is no longer the most current kernel. You can find the latest version on my Raspberry Pi kernel project page.
Well, just as I uploaded my 3.2.17 kernel someone decided it would be a good idea to post 3.2.18. So here it is. It also incorporates a new patch that allows this kernel to be booted on the Raspberry Pi using
kexec – previously, trying to do this would hang the Pi. Grab it from:
- Source tree on GitHub
- Pre-built Debian package
Please see my previous post (about the 3.2.17 kernel) for notes regarding the Raspberry Pi firmware.
If you want to use
kexec, remember to give your
kexec kernel some boot arguments with the
--command-line= option, or it will seem like your kernel has crashed. Something like this might be a good idea:
kexec --command-line="$(cat /proc/cmdline)" /boot/vmlinuz-3.2.18-rpi1+.
Pingback: Chris's Digital Realm » Updated Raspberry Pi Kernel
Great work here Chris! I’m going to be building your kernel later, but am curious about one thing. Which config should I use to get SPI and I2C? None of the arch/arm/configs/bcmrpi_* files seem to have any of those items set.
Andrew, I haven’t updated any of the defconfigs to go along with my drivers. If you just want to enable the I2C and SPI drivers I suggest you run a menuconfig and pick the drivers (both listed as being for BCM2708 in the respective SPI and I2C sections) along with any client drivers you need.
I’m getting kernel panic when i try to use a PCF8563 i2c RTC with this kernel.
You say select them in menuconfig – I can’t find them. Where exactly are they? In hardware bus drivers they are not listed that I can see?
Admittedly I’m new to kernel configuration, but I can’t find them anywhere. Can you give any guidance or a .config file which you use?
If you run menuconfig, go into Device Drivers → I2C support, then it’s the 3 options at the bottom of the page.
Maybe I’m not in the right place, but this is all I see:
None of them seem to directly indicate bcm2708?
Apologies! That’s the wrong screenshot
Ah I think I have it – didn’t set ARCH when I ran menuconfig. Learning slowly! Thanks for your help
Your kernels combined with an initrd/initramfs containing pxe-kexec (debian/ubuntu package is you have not seen it yet) might make a good netboot solution for raspberry pi’s. It parses file in same syntax as pxelinux (syslinux).
I’m thinking of turning my hand to patch pxe-kexec so it can also check the local fs for config and kernels, more like syslinux.
Raspbery pi’s could then have a selection based boot loader!
Just wanted to put that idea out there and your blog seemed about the right place!
Is it simple to combine an initramfs into a prebuilt kernel? Some thing I have never tried without booloader support. I guess I will have to go and read the kernel docs!