Modular kernel for the Gemini PDA available from the gemian repository
Recently Adam Boardman and I have managed to integrate the modular kernel for the Gemini PDA into the gemian kernel repository. So, from now on, whenever the kernel gets improved, the modular kernel gets built and the update is available for Debian via apt.
Installing the modular kernel
From now on, the modular kernel for the Gemini PDA can be installed easily using apt:
sudo apt install gemian-modular-kernel
When using the new bootloader the kernel gets flashed to the boot partition automatically. This works because the new bootloader passes the current boot partition’s name to the kernel using the kernel cmdline. The cmdline can be examined with:
cat /proc/cmdline
When using the old bootloader with the Gemini PDA this information is not available to the kernel and consecutively to the operating system, thus one still has to flash the kernel image manually after installing or updating the kernel package. For this one has to carefully decide which boot partition the Linux system is being booted from. Using the wrong partition name can render other installed operating systems unbootable. To recover, flashing the wrongly overwritten boot partition using the flash tool might be necessary. When knowing the boot partition the new kernel can be flashed using dd (the X in bootX has to be replaced with the number of the boot partition) as shown below.
sudo dd if=/usr/share/kernel/linux-boot.img of=/dev/disk/by-partlabel/bootX
After flashing the kernel the either or the other way a reboot is necessary. The boot partition number can be determined from the scatter file that has been used initially to flash the Gemini. Alternatively it can be found out from the key combination that has been used to boot the Gemini. Detailed information on this can be found in the Gemini bootloader documentation.
Building out of tree modules
For building out of tree modules with the Gemini (in example for using USB devices that are not supported with the kernel), in addition to the kernel, the kernel-headers package has to be installed:
sudo apt install gemian-modular-kernel-headers
With the kernel headers and the appropriate build toolchain (gcc, etc.) additional kernel modules can be compiled on the Gemini. Instructions on how to do this can usually be found with the module source.
Some prebuilt modules (iptables mirror target, frandom, 88XXau) for the kernel can be downloaded below:
gemini-modules-extra-3.18.41.tar.gz (4895 downloads )
To use the modules, the downloaded archive has be extracted to the root directory. Afterwards depmod has to be executed:
cd /; sudo tar -xzf /path/to/gemini-modules-extra-3.18.41.tar.gz; sudo depmod
With high probability these modules should still be usable after upgrading the modular kernel to a newer build.
regards
Jürgen