This shows you the differences between two versions of the page.
— |
pi_kernel_operations [2018/09/14 00:28] (current) vk3smb created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Note ====== | ||
+ | This information is WAY out of date and is kept for historical purposes only. | ||
+ | |||
+ | ===== Getting ready ===== | ||
+ | |||
+ | Go to [[https://github.com/raspberrypi/linux]] and download the tarball of the kernel source to your home folder. | ||
+ | |||
+ | Run the following after it has downloaded: | ||
+ | <code>tar -zxvf your_filename.tar.gz</code> | ||
+ | |||
+ | Now update the sytem as follows: | ||
+ | <code> | ||
+ | apt-get update | ||
+ | apt-get -y dist-upgrade | ||
+ | apt-get -y install gcc make bc screen ncurses-dev watchdog</code> | ||
+ | |||
+ | Clean the build folder by running: | ||
+ | <code>make mrproper</code> | ||
+ | |||
+ | To get the correct config for the PI2/3: | ||
+ | <code>KERNEL=kernel7 | ||
+ | make bcm2709_defconfig | ||
+ | </code> | ||
+ | |||
+ | ===== Compile the Kernel===== | ||
+ | |||
+ | In the build folder, run the following to set the configs and then generate a menu: | ||
+ | <code>make menuconfig</code> | ||
+ | This where we have to check that the OSS modules are installed. (By using the .config it should). But it also gives us a chance to unload any crap we do not need from the kernel to streamline it. | ||
+ | |||
+ | We also need to disable the frequency scaling and power saving. Both of these affect the audio on the dongle. Find the option //Disable watchdog shutdown on close//. This will mean on a reboot and there is a hang, it will force a reboot. | ||
+ | |||
+ | After this is complete, make the modules and headers required to compile other software: | ||
+ | <code>make -j4 zImage modules dtbs | ||
+ | make scripts | ||
+ | </code> | ||
+ | |||
+ | =====Install the Kernel===== | ||
+ | So both the Kernel and the source is the same, we have to install the new kernel. If you are upgrading Kernels, you will need to update the firmware too. | ||
+ | |||
+ | Install the Kernel modules and overwrite the lib folder as required: | ||
+ | <code>make modules_install | ||
+ | make headers_install | ||
+ | sudo cp arch/arm/boot/dts/*.dtb /boot/ | ||
+ | sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/ | ||
+ | sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/ | ||
+ | sudo scripts/mkknlimg arch/arm/boot/zImage /boot/$KERNEL.img | ||
+ | </code> | ||
+ | |||
+ | =====Watchdog setup===== | ||
+ | Edit the /etc/modules file | ||
+ | <code>nano /etc/modules</code> | ||
+ | Enter the following in the last line of the file: | ||
+ | <code>bcm2709_wdog</code> | ||
+ | Save that file. Now we need to edit the /etc/watchdog.conf. Uncomment the lines: | ||
+ | <code>#max-load-1 = 24 | ||
+ | #watchdog-device = /dev/watchdog</code> | ||
+ | Finally we need to make sure it starts on boot: | ||
+ | <code>update-rc.d watchdog enable</code> | ||
+ | |||
+ | Save this file and Reboot the pi. | ||