TL;DR. How do I switch to a newer kernel I just compiled & packed as .deb
? Generally, is there a sane way of upgrading a raspbian kernel remotely using a .deb
package?
I have successfully cross-compiled the 4.4.5 RPi kernel in form of .deb
packages, and installed them (specifically, linux-image-...
and linux-headers-...
below) on RPi.
These are the files I got after compilation:
linux-4.4.5+_4.4.5+-4.debian.tar.gz
linux-image-4.4.5+_4.4.5+-4_armhf.deb
linux-libc-dev_4.4.5+-4_armhf.deb
linux-headers-4.4.5+_4.4.5+-4_armhf.deb
linux-firmware-image-4.4.5+_4.4.5+-4_armhf.deb
linux-4.4.5+_4.4.5+.orig.tar.gz
I installed the following deb packages:
sudo dpkg -i linux-image-4.4.5+_4.4.5+-4_armhf.deb
sudo dpkg -i linux-headers-4.4.5+_4.4.5+-4_armhf.deb
Below is the contents of /boot
after installation:
$ ls -lat /boot
total 30972
drwxr-xr-x 21 root root 4096 Mar 12 21:31 ..
-rwxr-xr-x 1 root root 5085910 Mar 12 21:22 initrd.img-4.4.5+
-rwxr-xr-x 1 root root 129312 Mar 12 11:54 config-4.4.5+
-rwxr-xr-x 1 root root 1995382 Mar 12 11:54 System.map-4.4.5+
-rwxr-xr-x 1 root root 4074960 Mar 12 11:54 vmlinuz-4.4.5+
drwxr-xr-x 2 root root 8192 Mar 8 12:45 .fseventsd
-rwxr-xr-x 1 root root 4096 Mar 7 21:03 ._cmdline.txt
-rwxr-xr-x 1 root root 152 Mar 7 21:03 cmdline.txt
drwxr-xr-x 3 root root 8192 Mar 7 21:01 .TemporaryItems
-rwxr-xr-x 1 root root 4096 Mar 7 21:01 ._.TemporaryItems
drwxr-xr-x 2 root root 8192 Mar 7 20:37 .Trashes
-rwxr-xr-x 1 root root 4096 Mar 7 20:37 ._.Trashes
-rwxr-xr-x 1 root root 103 Feb 26 01:17 issue.txt
-rwxr-xr-x 1 root root 18974 Feb 26 01:17 LICENSE.oracle
-rwxr-xr-x 1 root root 1635 Feb 26 01:04 config.txt
drwxr-xr-x 2 root root 8192 Feb 26 01:03 overlays
-rwxr-xr-x 1 root root 10841 Feb 25 23:22 bcm2708-rpi-b.dtb
-rwxr-xr-x 1 root root 11120 Feb 25 23:22 bcm2708-rpi-b-plus.dtb
-rwxr-xr-x 1 root root 10871 Feb 25 23:22 bcm2708-rpi-cm.dtb
-rwxr-xr-x 1 root root 12108 Feb 25 23:22 bcm2709-rpi-2-b.dtb
-rwxr-xr-x 1 root root 12575 Feb 25 23:22 bcm2710-rpi-3-b.dtb
-rwxr-xr-x 1 root root 2505 Feb 25 23:22 fixup_cd.dat
-rwxr-xr-x 1 root root 6481 Feb 25 23:22 fixup.dat
-rwxr-xr-x 1 root root 9722 Feb 25 23:22 fixup_db.dat
-rwxr-xr-x 1 root root 9724 Feb 25 23:22 fixup_x.dat
-rwxr-xr-x 1 root root 4046732 Feb 25 23:22 kernel7.img
-rwxr-xr-x 1 root root 3963140 Feb 25 23:22 kernel.img
-rwxr-xr-x 1 root root 612472 Feb 25 23:22 start_cd.elf
-rwxr-xr-x 1 root root 4888200 Feb 25 23:22 start_db.elf
-rwxr-xr-x 1 root root 2739672 Feb 25 23:22 start.elf
-rwxr-xr-x 1 root root 3840328 Feb 25 23:22 start_x.elf
-rwxr-xr-x 1 root root 17920 Feb 9 13:32 bootcode.bin
-rwxr-xr-x 1 root root 1494 Nov 18 16:01 LICENCE.broadcom
-rwxr-xr-x 1 root root 18693 Aug 21 2015 COPYING.linux
drwxr-xr-x 6 root root 16384 Jan 1 1970 .
I know it's possible to switch the kernel by setting kernel=my_kernel.img
, but I don't have the image file. It's possible to run imagetool-uncompressed.py
to create the image file, but it implies a little more effort. Should I be doing that instead of .deb
?
.deb
, as I thought it has to be the easiest way. If it's not – what would be the easiest way?