Another improved modular Linux kernel for the Gemini PDA
The time has come for another modular linux kernel for the Gemini PDA. The linux kernel binaries I have shared before were lacking proper USB pendrive support. Whenever a drive got connected it froze and the device begun behaving strange, in example it has been impossible to open applications afterwards. Furthermore, in the meanwhile the Geminis keyboard ghosting issue got fixed in the updated kernel sources. Thus I have decided to build another kernel with the following changes:
•Enabled modules for more USB devices
•Enabled FB_UDL and DRM_UDL (for displaylink devices)
•Disabled SCSI_MQ_DEFAULT (for getting USB pendrives working again)
The changes and dependencies result in this kernel configuration: gemini-3.18.41+-config.gz (480 downloads )
For the build, again the updated kernel source the from https://github.com/gemian/gemini-linux-kernel-3.18 has been used.
Again the kernel modules for the iptables MIRROR target (will not be usable with the default iptables version on the Gemini) and frandom have been added.
Those who do not want to go through the build themselves can download my prebuild kernel from here:
Kernel Image:
modules_firmware-gemini-3.18.41+.tar.gz (581 downloads )
Modules:
linux_boot-gemini-3.18.41+.img (451 downloads )
Instructions for flashing the image can be found on: support.planetcom.co.uk. Make sure to use a proper scatter file, in example the one that has been used for the initial flashing. Using the Download only mode of the flash tool is sufficient. Uncheck all partitions but linux_boot (or boot if you boot into linux as default). For the linux_boot respectively the boot partition select the downloaded kernel image. With newer scatter files the boot partition names have changed to boot, boot1 and boot2. Select the appropriate one for your Gemini.
Alternatively you can flash the kernel using dd:
dd if=linux_boot-gemini-3.18.41+.img of=/dev/block/disk/by-partlabel/boot
If Linux is not your primary operating system on the Gemini use boot1 or boot2 instead, depending on your partition layout.
After flashing, copy the modules archive onto your Gemini and extract it in your root directory:
cd /
tar -xzf /path_to/modules_firmware-gemini-3.18.41+.tar.gz
After rebooting the device, USB pendrives and other SCSI like devices like HDDs and DVD drives/burners should work again when attached to the Geminis USB ports.
Regards
Jürgen
December 29th, 2019 at 10:10 pm
I know am late for the party, question is can this be done without having multiple boots? couple hours ago I reflashed to android root only because I thought would use termux since none of the linux OS’s is actually usable, and tbh in those couple days I have reflashed my Gemini-pda more than 5 times trying different boot options and also was having trouble with TWRP when i wanted to flash nethunter over android …. I wish i knew about that project a year earlier though, great job and even late it is appreciated …
December 30th, 2019 at 1:05 am
This kernel is for Linux only. It won’t work properly with Android (some Android features, that interfere with Debian Linux have been disabled). Setting up a single boot Linux only system should work, if this has been the question, but I have never tried it out with the Gemini. Anyways, in the meanwhile the updated version of this kernel is available from the Gemian repo (https://www.mygnu.de/2019/04/modular-kernel-for-the-gemini-pda-available-from-the-gemian-repository), and should be default now.
April 17th, 2022 at 4:39 pm
hi, can you share you linux boot img please
April 19th, 2022 at 3:21 pm
Hi Ashley,
if I remember correctly, I have disabled the downloads a while ago because flashing the files bricks the system with the updated Gemian. But you should not need the files. As per https://www.mygnu.de/2019/04/modular-kernel-for-the-gemini-pda-available-from-the-gemian-repository/ the modular kernel is available from the repository. Unless some major things have changed since then, you should be able to get it running following the instructions there.
Mith