User Tools

Site Tools


pi_kernel_operations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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.
  
pi_kernel_operations.txt ยท Last modified: 2018/09/14 00:28 by vk3smb