View Single Post
Old 12-12-2019, 02:17 PM   #714
tshering
Wizard
tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.
 
Posts: 3,489
Karma: 2914715
Join Date: Jun 2012
Device: kobo touch
Quote:
Originally Posted by rtiangha View Post
OK, just straight up copying the coordinate data from 4.19 seems to work (or, at least it boots and launches nickel fine; I can't tell if there's a difference or not, and I'm still not sure what that stuff does).
You can see the difference only when your file system is corrupted and dosfsck cannot repair it.

At this point in the rcS file there is a file system check. From a certain FW version onward Kobo added user interaction. If there is a need to repair the file system and dosfsck fails to do so several times, the user is informed about it and given the opportunity to admit or refuse a factory reset. To make the user interaction possible they provided pickel with a new function: /usr/local/Kobo/pickel wait-for-hit $COORDINATES.

KSM checks whether the pickel version available on the device is able to handle wait-for-hit (if [ $(strings /usr/local/Kobo/pickel | grep -c wait-for-hit) -ge 1 ]) or not and acts accordingly :

Code:
if  [ $(strings /usr/local/Kobo/pickel | grep -c wait-for-hit) -ge 1 ]; then
  FS_CORRUPT=0
  dosfsck -a -w /dev/mmcblk0p3 || dosfsck -a -w /dev/mmcblk0p3 || dosfsck -a -w /dev/mmcblk0p3 || dosfsck -a -w /dev/mmcblk0p3 || FS_CORRUPT=1
  if [ $FS_CORRUPT == 1 ]; then
	case $PRODUCT in
		kraken|phoenix|star)
			export COORDINATES="200 740 350 150";;
		[...]
		*)
			export COORDINATES="140 600 300 70";;
	esac
	[...]
  fi
else ### if pickel cannot handle wait-for-hit
  dosfsck -a -w /dev/mmcblk0p3
fi
Recently the expected value/format of COORDINATES has changed and I suppose pickel has therefore changed too. To stay backwards compatible KSM would have to distinguish whether pickel expects the old or new format of COORDINATES and provide the appropriate value/format of COORDINATES accordingly.

Last edited by tshering; 12-12-2019 at 02:50 PM.
tshering is offline   Reply With Quote