Table des matières
La Page sur la Liseuse KOBO
pages en rapport: ça donne encore envie avec des kobo <40€ made in china …
Ancien mais encore utile
Bidouiller la Kobo Touch
Ces hacks, largement inspiré des liens ci-dessous, a été testé sur une liseuse Kobo Touch avec le firmware 2.0.0.
Avant toute chose, faites une sauvegarde du système !
Il existe deux moyens de modifier le système de fichier :
- Ouvrir la Kobo, sortir la carte miniSD et la connecter à un ordinateur. Il y a 3 partitions : recoveryfs, rootfs et KOBOeReader
- Créer une archive KoboRoot.tgz et la copier dans KOBOeReader/.kobo en connectant la Kobo avec le câble
Cette dernière astuce a été décrite sur le site Chauveau central. Le principe est que s'il existe une archive KoboRoot.tgz au démarrage de la Kobo, celle-ci est décompressée à la racine du système.
Enregistrer la Kobo sans passer sur le site officiel
Cette faille sera corrigé prochainement ; il faudra alors trouver une autre solution !
Traduction directe du blog d'Antoine Amarilli, où vous trouverez plus de détails.
Avec sqlite, il suffit d'entrer un enregistrement :
echo "insert into user values('foo', 'foo', 'foo', 'foo', 'foo');" | sqlite3 /mnt/kobo/.kobo/KoboReader.sqlite
Installer telnet et ftp sur Kobo
Traduction et mise à jour du site Beware of soapy frogs
Si vous travaillez directement sur le répertoire etc
Modifiez le fichier etc/inittab en y ajoutant ces deux lignes :
::sysinit:/etc/init.d/rcS2 ::respawn:/usr/sbin/inetd -f /etc/inetd.conf
Créez le fichier etc/init.d/rcS2 :
#!/bin/sh mkdir -p /dev/pts && mount -t devpts devpts /dev/pts && /usr/sbin/inetd /etc/inetd.conf &&
Modifiez les permissions du fichier pour le rendre exécutable :
chmod a+x /etc/init.d/rcS2
Créez le fichier /etc/inetd.conf
# service_name sock_type proto flags user server_path args 21 stream tcp nowait root /bin/busybox ftpd -w -S / 23 stream tcp nowait root /bin/busybox telnetd -i
Si vous travaillez avec une connection câblée
Créez les fichiers décrits plus haut et les mettre dans une archive. Vous pouvez copier-coller ce code dans un terminal :
mkdir etc cd etc echo "# This is run first except when booting in single-user mode." > inittab echo "::sysinit:/etc/init.d/rcS" >> inittab echo "::sysinit:/etc/init.d/rcS2" >> inittab echo "::respawn:/usr/sbin/inetd -f /etc/inetd.conf" >> inittab echo "::respawn:/sbin/getty -L ttymxc0 115200 vt100" >> inittab echo "::ctrlaltdel:/sbin/reboot" >> inittab echo "::shutdown:/bin/umount -a -r" >> inittab echo "::restart:/sbin/init" >> inittab echo "# service_name sock_type proto flags user server_path args" > inetd.conf echo "21 stream tcp nowait root /bin/busybox ftpd -w -S /" >> inetd.conf echo "23 stream tcp nowait root /bin/busybox telnetd -i" >> inetd.conf mkdir init.d cd init.d echo "#!/bin/sh" > rcS2 echo "mkdir -p /dev/pts &&" >> rcS2 echo "mount -t devpts devpts /dev/pts &&" >> rcS2 echo "/usr/sbin/inetd /etc/inetd.conf &&" >> rcS2 chmod a+x rcS2 cd ../.. tar czf KoboRoot.tgz etc
Ensuite, copiez ce fichier KoboRoot.tgz dans KOBOeReader/.kobo, débranchez la Kobo, redémarrez-la, et voilà !
Il reste à connaître l'adresse IP. Cette commande sur le réseau local permet de savoir quelles sont les adresses IP connectées (il faut savoir quelles sont les autres adresses du réseau !) :
nmap -sP 192.168.1.1-254
Enfin :
telnet IP_de_la_kobo
le login est root.
Pour le FTP, le login et le mot de passe et le login sont root.
Installer SSH avec dropbear
Traduction du site uni.2ch.net
La partie avec la connexion câblée
Télécharger l'archive suivante Dropbear serveur/client ssh, puis décompresser le dans un répertoire, ensuite regarder les si tout a bien été décompresser faite :
$ ls etc usr
Ensuite créer un répertoire root dans le même dossier, où vous avez /etc et /usr , dans le dossier /root créer faite :
$ mkdir -p root/.ssh $ ssh-keygen -y -f ~/.ssh/id_rsa > root/.ssh/authorized_keys $ tar czf KoboRoot.tgz usr/{bin,lib,sbin} root
Ensuite connecté votre kobo a votre ordinateur pour avoir accès à la partition vfat dans la quelle vous placé le fichier KoboRoot.tgz dans le dossier /.kobo , pour que la kobo puisse se mettre à jour. Une fois que votre kobo a redémarrer, connecter vous en telnet a votre kobo, puis faite :
$ mkdir -p /etc/dropbear/ $ cd /etc/dropbear/ $ dropbearkey -t rsa -f rsa_host_key $ dropbearkey -t dss -f dss_host_key $ echo '::respawn:/usr/sbin/dropbear -d /etc/dropbear/dss_host_key -r /etc/dropbear/rsa_host_key -F -s' >> /etc/inittab $ cp /etc/passwd /mnt/onboard/passwd.backup $ sed -i 's/^root::/root:*:/' /etc/passwd $ chown -R root:root /root $ chmod 700 /root $ chmod 700 /root/.ssh $ chmod 600 /root/.ssh/authorized_keys $ sync;sync;sync $ reboot
Le login est root et le password root. Et voila vous devriez avoir un accès ssh a votre kobo.
des liens glannés
Cross Compilation
http://www.friendlyarm.net/downloads
arm-linux-gnueabi-gcc est le compilateur et pas arm-linux-gcc , il faut changer ca dans le fichier build/build-config.sh
installer aussi libglib2.0-dev
Compilation du noyo
Un merci à clc <at> alum <dot> mit <dot> edu
http://ccoffing.net/tech/proj/ocherbook/
https://github.com/ccoffing/OcherBook
le gcc arm gnu-eabi etant deja en place , cf [rasberry:la_page_rasberry_pi]
Recuperer les sources de KoboLabs: de https://github.com/kobolabs/Kobo-Reader
git clone https://github.com/ccoffing/OcherBook.git # recup du noyo de la kobo bonne version git clone git://github.com/kobolabs/Kobo-Reader.git koboreader cd OcherBook tar xvfz ../koboreader/hw/imx508/ntx/linux-2.6.35.3.tar.gz cd linux-2.6.35.3 # recup du .config precedement telechargé , celui present dans /proc/config.gz si on boot sur une SD kobo cp config.txt .config make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig #faire les modif puis make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k -j1 # modules mkdir ../modules make modules_install ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- INSTALL_MOD_PATH=../modules/ ... # tout ceci etant un peu approximatif :( #lala lala
lala
Piste pour un système complet sur la SD
l'idée est :
- de ne plus avoir de limitation pour poser nos programmes
- pouvoir compiler directement sur la kobo
- avoir un gestionaire de paquet qui prenne des binaires ARM V7 ou 7a d'Ångström en attendant le notre ?
2 pistes :
- modifier la SD et donc le système Kobo
- en faire une completement
Piste 1 - En modifiant la SD KOBO
On commence par copier le root_fs en l'épurant
On pose un programme de gestion de paquet ipkg ?
un gcc , faire attention a la différence eglibc et glibc ?
De ce que j'ai compris:
- u-boot charge les parametres du .mmc ,le u-boot mmc contient :
baudrate=115200 loadaddr=0x70800000 uboot=u-boot.bin kernel=uImage bootcmd_mmc=run bootargs_base bootargs_mmc;load_ntxkernel; bootm bootcmd_SD=run bootargs_base bootargs_SD;load_ntxkernel; bootm bootcmd_recovery=run bootargs_base bootargs_recovery;load_ntxkernel; bootm verify=no bootcmd=run bootcmd_mmc bootargs_recovery=setenv bootargs ${bootargs} root=/dev/mmcblk0p2 rootfstype=ext4 bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootfstype=ext4 bootargs_SD=setenv bootargs ${bootargs} root=/dev/mmcblk1p1 rootfstype=ext4 bootargs_base=setenv bootargs console=ttymxc0,115200 rootwait rw quiet lpj=3997696 stdin=serial stdout=serial stderr=serial bootdelay=0
#/proc/cmdline console=ttymxc0,115200 rootwait rw quiet lpj=3997696 root=/dev/mmcblk0p1 rootfstype=ext4 hwcfg_p=0x7ffffe00 hwcfg_sz=512 waveform_p=0x7ff00800 waveform_sz=1046016 mem=255M
la procedure de mise a jour indique
dd if=/upgrade/imx508/u-boot.bin of=/dev/mmcblk0 bs=1K seek=1 skip=1 dd if=/upgrade/imx508/uImage of=/dev/mmcblk0 bs=512 seek=2048 # dans le cas d'un .Koboroot present dd if=/mnt/onboard/.kobo/upgrade/u-boot.bin of=/dev/mmcblk0 bs=1K seek=1 skip=1 dd if=/mnt/onboard/.kobo/upgrade/uImage of=/dev/mmcblk0 bs=512 seek=2048
donc pour faire des tests on peut deposer le u-boot et le uImage sur la SD avec cette maniere en conciderant que cette manip n'est valable que si on est sur la SD ! il fau booter sur la SD pour acceder correctement a /dev/mmcblk0
vu de l'exterieur SD connectee a un lecteur sur un PC, il faut conciderer la SD comme un disque, ce qui est le cas pour la plupart des tablettes ou liseuses. donc la SD est constituee d'un MBR de 512 (1FE) jusqu'au 55H:AAH qui le termine et des 3 partitions .
on peu faire un dd vers la bonne adresse, l'editeur hexa montre : 0x400 (1024 char) a condition de sauvegarder le debut:
script pour mettre a jour le u-boot directement sur une SD KOBOL /dev/sdc
#sauvegarde du MBR dd if=/dev/sdc of=debut-SD.dd bs=1 count=1024 # dd if=u-boot.bin of=/dev/sdc bs=1 dd if=debut-SD.dd of=/dev/sdc bs=1 count=1024 # kernel qui a ete deplace aussi dans nos sources... dd if=uImage of=/dev/sdb bs=1 skip=220000
Des sources de u-boot-2009.08/board/freescale/mx50_rdp
la SD est partitionnée comme cela:
- /dev/mmcblk0p1 partition root rootfs (environ 256Mo)
- /dev/mmcblk0p2 partition de secours rescue (environ 256Mo)
- /dev/mmcblk0p3 partition user KoboReader (environ 1.4Go) livres et configuration
sachant que dans la phase de ré-initialisation la partition rootfs est écrasée par la rescue, on peut:
- modifier sur la rescue /etc/init.d/rcS pour qu'il ne formate pas rootfs ni la fat
- agrandir rootfs pour y mettre ce qu'on veut, le systeme de developpement par exemple
- utiliser une SD de 4Gb avec aussi une fat
- mettre tous les modules dans /lib/modules/…
- installer udevd binutils et autres paquets qui sembles necessaire
Piste 2 - Fabriquer un système KOBOL sur la SD
KOBOL pour Kobo Libre
- Récupération des sources chez Freescale : http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX508&fpsp=1&tab=Design_Tools_Tab dans le : L2.6.35_10.11.01_ER_source_bundle.tar.gz
- décompressions , kernel,patch,doc,SDK ( outil : ltib )
- le .config config.txt
- application des patchs, par leur deplacement dans le repertoire /opt/freescale/pkgs
- 1er lancement de ltib et configuration
- installation de truc manquant pour nous
apt-get install rpm uuid-dev liblzo2-dev
- … plein de trucs ,je tenterais de detailler plus tard :(
- 2eme lancement , le bon , il fabrique un kernel et un rootfs ( 6h …), u-boot devra etre configurer correctement
on reprend la structure de la SD Kobo pour prendre les parametres u-boot d'origine , qui sont eux adaptés …
on doit reprendre ltib pour verifier si les drivers de l'ecran sont la , du tactil aussi ( qui a l'air de n'etre qu'une partie normale vue par xorg )
Un outil pour comparer efficacement le diff graphique :
apt-get install fldiff
Doc : preparer u-boot : https://community.freescale.com/docs/DOC-1310
JE SUIS LALALALALA
Vrac en vrac
a modifier !!
faire une partition fat de 16Mo laissant 5 Mo devant
faire une ext4 du reste
Un petit bout de code pour la carte:
# si la carte est /dev/sdc !!! ATTENTION # efface tout dd if=/dev/zero of=/dev/sdc bs=1M #use full card size with first partition # passer par gparted ;) fdisk -H255 -S63 /dev/sdc << !! u n p 64620 +16M n p 2 97029 w !! #manually eject it now so kernel updates with partition #format it, in this case ext4 mkfs.ext4 /dev/sdd1 #stop wasting reserved space tune2fs /dev/sdd1 -m0 -O sparse_super -L "8Gb KOBO" #turn journal off as flash tune2fs -O ^has_journal /dev/sdd1
sinon un script
Autres trucs
une debian sur kobo : http://www.mobileread.com/forums/showthread.php?t=222123
mettre le kernel a jour https://github.com/kobolabs/Kobo-Reader/blob/master/documentation/README.kernel
Des paquets arm sur http://www.angstrom-distribution.org/repo/
la base sur le imx508 chez Freescale : http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX508&fpsp=1&tab=Design_Tools_Tab
OpenWebOS a regarder : https://github.com/openwebos/build-webos
l'application pour le KOBO sous linux :
Kobo Desktop from here: http://dl.dropbox.com/u/2183775/kobo-desktop.deb \\pensez avant à installer libzip1 libpng3
Câble adaptateur micro USB OTG HOST
http://www.amazon.com/SANOXY-Micro-Male-Female-Adapter/dp/B0027YYMU6
http://www.pandawill.com/usb-2-0-female-to-micro-usb-male-adapter-converter.html
liens e-link
- http://elinux.org/BeagleEPD beagleboard et e-link
tty1::respawn:/sbin/getty 38400 tty1