zugriff via serielle konsole

TODO jemand bei dem screen nicht kaputt ist AFAIR:

 Schnittstelleneinstellungen: 115200 8N1
 login: root
 pw: kein pw (als regex: "^$")

wlan automatisch anschalten

Normalerweise steht das wlan im kobo unter kontrolle der Userspache-Applikation (nickel).

Erfreulicherweise ist dies aber einfach zu umgehen:

/etc/wpa_supplicant_wpa_supplicant.conf vorbereiten (z.B. via wpa_passphrase ssid passwd )

network={
        ssid="donotuse"
        psk=wahnsinnigsicher
}

In /etc/init.d/rcS: Kernelmodul laden,ifup.dhcp,wissenschon:

insmod /drivers/ntx508/wifi/sdio_wifi_pwr.ko
insmod /drivers/ntx508/wifi/dhd.ko
sleep 2
ifconfig eth0 up
wlarm_le -i eth0 up
wpa_supplicant -s -i eth0 -c /etc/wpa_supplicant/wpa_supplicant.conf -C /var/run/wpa_supplicant -B
sleep 2

udhcpc -S -i eth0 -s /etc/udhcpc.d/default.script -t15 -T10 -A3 -f -q

Da jetzt eigentlich kein grund mehr für die Userspace app besteht kann diese auch abgedreht werden:

#/usr/local/Kobo/hindenburg &
#/usr/local/Kobo/nickel -qws -skipFontLoad &

dropbear installiert und gestartet

Für erste gehversuche kann relativ einfach telnet eingeschaltet werden:

In /etc/init.d/rcS

#mkdir -p /dev/pts
#mount -t devpts devpts /dev/pts
#/usr/sbin/inetd /etc/inetd.conf.mini

/etc/inetd.conf.mini

23 stream tcp nowait root /bin/busybox telnetd -i

Ist natürlich unbefriedigend, zumal drobear ähnlich einfach zu installieren ist:

Von http://maemo.org/packages/view/dropbear/ die „Diablo Extras free armel“ beschaffen. Das .deb entpacken mit

ar vx dropbear_0.52-2_armel.deb
tar xvzf data.tar.gz

Gestartet wird dropbear via /etc/init.d/rcS

test ! -r /etc/dropbear/dropbear_rsa_host_key && /usr/bin/dropbearkey -t rsa -s 2048 -f /etc/dropbear/dropbear_rsa_host_key
/etc/init.d/dropbear start

Bilder anzeigen mit pickel

Die Bilder sind 800×600 Pixel Gross in Graustufen (16?)

In Gimp ein ensprechendes Bild alegen als png speichern und mit ffmpeg konvertieren:

ffmpeg -v quiet -vcodec png -i test.png -vcodec rawvideo -f rawvideo -pix_fmt rgb565 test.raw

Anzeigen mit

cat test.raw | /usr/local/Kobo/pickel showpic 

test.raw.gz

Zeug direkt installieren (update method)

Untested ™

In /etc/init.d/rcS kann man sehr schön sehen dass der Kobo wenn er /mnt/onboard/.kobo/KoboRoot.tgz vorfindet dises nach / entpackt wird. /mnt/onboard/ ist das vfat filesystem. Kann man es also übers herz bringen der Userspace-Applikation eine e-mail-addresse zu geben dann kann man den Kobo nach der „installation“ als USB-HDD anschliessen (USB Host modus wird von Nickel verwaltet). Dann ein entsprechendes KoboRoot.tgz in .kobo bunkern und rebooten.

Kernel

Funktioniert zwar noch nicht, aber immerhin…

In den ersten unformatierten 10MB der SD-Karte liegen einige Daten. Unter Anderem der Kernel:

MMC read: dev # 2, block # 2048, count 8192 partition # 0 ...
8192 blocks read: OK
## Booting kernel from Legacy Image at 70800000 ...
   Image Name:   Linux-3.11.0
   Created:      2013-10-03  19:33:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2082832 Bytes =  2 MB
   Load Address: 70800000
   Entry Point:  70800000
   XIP Kernel Image ... OK
OK

Man kann den Original-Kernel z.B. mit dd sichern:

moritz@major-tom:~$ dd if=/dev/mmcblk0 of=projects/kobo/kernel.img skip=1048576 count=1926120 bs=1
moritz@major-tom:~$ file projects/kobo/kernel.img 
 projects/kobo/kernel.img: u-boot legacy uImage, r6495_#617 Apr 22 11:07:47, Linux/ARM, OS Kernel Image (Not compressed), 
 1926120 bytes, Mon Apr 22 05:07:52 2013, Load Address: 0x70008000, Entry Point: 0x70008000, Header CRC: 0xD500E667, 
 Data CRC: 0xE36D4BA3

Freundlicherweise haben die Entwickler /proc/config.gz in den Kernel eingebaut.

Das kann man auch in aktuellere Kernel-Sourcen hineinwerfen:

root@jim-beam:/usr/local/src/kobo/linux-3.11# cp /tmp/config.txt .config
root@jim-beam:/usr/local/src/kobo/linux-3.11# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
root@jim-beam:/usr/local/src/kobo/linux-3.11# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
root@jim-beam:/usr/local/src/kobo/linux-3.11# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=modules modules_install
root@jim-beam:/usr/local/src/kobo/linux-3.11# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LOADADDR=0x70800000 uImage
root@jim-beam:/usr/local/src/kobo/linux-3.11# cd modules
root@jim-beam:/usr/local/src/kobo/linux-3.11/modules# tar czf ../modules-3.11.tar.gz .

Das uImage kann dann mit dd wieder auf die SD-Karte schreiben. Und davon booten:

U-Boot 2009.08-dirty-svn (11月 20 2012 - 16:46:21)

CPU:   Freescale i.MX50 family 1.1V at 800 MHz
mx50 pll1: 800MHz
mx50 pll2: 400MHz
mx50 pll3: 216MHz
ipg clock     : 66666666Hz
ipg per clock : 66666666Hz
uart clock    : 24000000Hz
ahb clock     : 133333333Hz
axi_a clock   : 400000000Hz
axi_b clock   : 200000000Hz
weim_clock    : 100000000Hz
ddr clock     : 200000000Hz
esdhc1 clock  : 80000000Hz
esdhc2 clock  : 80000000Hz
esdhc3 clock  : 80000000Hz
esdhc4 clock  : 80000000Hz
Board: MX50 RDP board
Boot Reason: [POR]
Boot Device: SD
I2C:   ready
DRAM:  256 MB
MMC:   FSL_ESDHC: 0, FSL_ESDHC: 1, FSL_ESDHC: 2
In:    serial
Out:   serial
Err:   serial
[_get_sd_number] g_sd_number:2  

MMC read: dev # 2, block # 1023, count 1 partition # 0 ...
1 blocks read: OK

MMC read: dev # 2, block # 1024, count 1 partition # 0 ...
1 blocks read: OK
zforce read 7 0 (2 bytes)
zforce read 1 0 (2 bytes)
zforce read 2 0 (2 bytes)
zforce read 3 0 (2 bytes)
zforce frame start not found !
zforce frame start not found !
PCB ID is 9
Power key released!!
ram p=70000000,size=268435456

MMC read: dev # 2, block # 18431, count 1 partition # 0 ...
1 blocks read: OK
no "logo" bin header

MMC read: dev # 2, block # 14335, count 1 partition # 0 ...
1 blocks read: OK

MMC read: dev # 2, block # 14336, count 1868 partition # 0 ...
1868 blocks read: OK
Kernel RAM visiable size=255M->255M
init TPS65185 power ...
Hit any key to stop autoboot:  0

MMC read: dev # 2, block # 2047, count 1 partition # 0 ...
1 blocks read: OK
no kernel image signature !

MMC read: dev # 2, block # 2048, count 8192 partition # 0 ...
8192 blocks read: OK
## Booting kernel from Legacy Image at 70800000 ...
   Image Name:   Linux-3.11.0
   Created:      2013-10-03  19:33:05 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2082832 Bytes =  2 MB
   Load Address: 70800000
   Entry Point:  70800000
   XIP Kernel Image ... OK
OK

Starting kernel ...

Hier bleibt das System hängen … aber hey - er hat schon einmal erkannt, dass wir einen Linux-Kernel haben.

Beschaffung

20€ bei Saturn & Mediamarkt

Im Zweifelsfall Wonko &&/|| nach ner Quittung zum vorzeigen fragen.

Eigene App

Links

 
 
projekte/kobo_hacking.txt · Zuletzt geändert: 2020-08-21 19:56 von 127.0.0.1
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki