Skip to content

Add osk-sdl as default luks unlock mechanism on boot

clayton craft requested to merge feature/add_osk_initramfs into master

This PR integrates osk-sdl into the postmarketos-mkinitfs package, so that osk-sdl and its dependencies are built into the initramfs and osk-sdl is run on boot if the rootfs is encrypted.

This works really well on my N900's touch screen, but I have some concerns about:

  1. tslib may need to be calibrated on other devices. I can provide instructions how if this is necessary for capacitive touchscreens. Info also found in the tslib project readme. You will create a pointercal file that needs to be installed to /etc in the device rootfs and mkinitfs will pick it up. See rx51 device package for an example.

  2. If your device's touchscreen driver does not create any of the following devices then you MUST set deviceinfo_dev_touchscreen to point to the touchscreen device (see device-nokia-rx51/deviceinfo in this PR for an example):

/dev/input/ts
/dev/input/touchscreen
/dev/input/event0
dev/touchscreen/ucb1x00

It seems tslib only looks at those locations for the touchscreen device.

  1. I'm most likely pulling in more than is necessary into the initramfs for osk-sdl/SDL2/directfb to function. I would appreciate some help in making this slimmer, if it's possible!

Please test as much as you can!

Additional instructions on running/testing https://wiki.postmarketos.org/wiki/Osk-Sdl_Debug

If you find bugs with osk-sdl, please report them in the osk-sdl repo and NOT here in the PR or in the pmbootstrap repo!

Fixes #59 (closed)

Blocking issues

  • Resolve rootfs detection issue (see this

  • Test mkinitfs error triggers if font path is invalid (see this)

  • Add notification in pmbootstrap install for users that are using fde, that they may not be able to unlock device if osk-sdl hasn't been configured for their device

  • Alpine packaging of sdl2 2.0.6 w/ directfb support

  • Alpine armhf builds of directfb, sdl2, and tslib

  • osk-sdl does not work with lg-mako #47

  • Initialization failure on maguro #27 - done

  • Generate object files in the Makefile, so distcc works #26 - done

  • Touch device not detected by tslib (many MT touchscreen devices) #31

  • mkinitfs should use "cp -a" to preserve symlinks (will reduce initramfs-extras size) (f4d46ad1543ce83a4a8cdc14af8d3d8e3c8cdd48)

Merge request reports