Outils pour utilisateurs

Outils du site


kobo:la_page_kobo

Différences

Ci-dessous, les différences entre deux révisions de la page.


kobo:la_page_kobo [2024/02/09 17:10] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== La Page sur la Liseuse KOBO ======
  
 +pages en rapport: ça donne encore envie avec des kobo <40€ made in china ...
 +  * https://sites.google.com/site/gibekm/hardware/kobo/kobo-as-tablet
 +
 +
 +====== 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 [[http://www.chauveau-central.net/pub/KoboTouch/|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'[[http://a3nm.net/blog/fnacbook_kobo_hacking.html|Antoine Amarilli]], où vous trouverez plus de détails.
 +
 +Avec sqlite, il suffit d'entrer un enregistrement :
 +
 +<code>
 +echo "insert into user values('foo', 'foo', 'foo', 'foo', 'foo');" | sqlite3 /mnt/kobo/.kobo/KoboReader.sqlite
 +</code>
 +
 +===== Installer telnet et ftp sur Kobo =====
 +
 +Traduction et mise à jour du site [[http://blog.ringerc.id.au/2011/01/enabling-telnet-and-ftp-access-to-kobo.html|Beware of soapy frogs]]
 +
 +==== Si vous travaillez directement sur le répertoire etc ====
 +
 +Modifiez le fichier etc/inittab en y ajoutant ces deux lignes :
 +
 +<file>
 +::sysinit:/etc/init.d/rcS2
 +::respawn:/usr/sbin/inetd -f /etc/inetd.conf
 +</file>
 +
 +Créez le fichier etc/init.d/rcS2 :
 +
 +<file>
 +#!/bin/sh
 +mkdir -p /dev/pts &&
 +mount -t devpts devpts /dev/pts &&
 +/usr/sbin/inetd /etc/inetd.conf &&
 +</file>
 +
 +Modifiez les permissions du fichier pour le rendre exécutable :
 +
 +<code>
 +chmod a+x /etc/init.d/rcS2
 +</code>
 +
 +Créez le fichier /etc/inetd.conf
 +
 +<file>
 +# 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
 +</file>
 +
 +==== 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 :
 +
 +<file>
 +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
 +</file>
 +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 !) :
 +
 +<code>
 +nmap -sP 192.168.1.1-254
 +</code>
 +
 +Enfin :
 +
 +<code>
 +telnet IP_de_la_kobo
 +</code>
 +
 +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 [[http://uni.2ch.net/test/read.cgi/ebooks/1342916042/64|uni.2ch.net]]
 +
 +== La partie avec la connexion câblée == 
 +
 +Télécharger l'archive suivante [[http://repository.maemo.org/extras/pool/diablo/free/d/dropbear/dropbear_0.52-2_armel.deb|Dropbear serveur/client ssh]], puis décompresser le dans un répertoire, ensuite regarder les si tout a bien été décompresser faite :
 +<code> $ ls etc usr </code> 
 +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 :
 +<code>
 +$ mkdir -p root/.ssh
 +$ ssh-keygen -y -f ~/.ssh/id_rsa > root/.ssh/authorized_keys
 +$ tar czf KoboRoot.tgz usr/{bin,lib,sbin} root 
 +</code>
 +
 +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 :
 +<code>
 +$ 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
 +</code>
 +Le login est root et le password root. 
 +Et voila vous devriez avoir un accès ssh a votre kobo. 
 +
 +===== des liens glannés =====
 +
 +  * http://a3nm.net/blog/fnacbook_kobo_hacking.html ssh sur kobo
 +  * http://blog.slucas.fr/blog/kobo-ereader-touch-5
 +  * http://blog.ringerc.id.au/2011/01/enabling-telnet-and-ftp-access-to-kobo.html
 +  * http://blog.ringerc.id.au/2011/01/preparing-development-environment-for.html  un SDK :-)
 +  * http://blog.ringerc.id.au/2011/01/compiling-qt-plugins-for-kobo-wifi.html
 +  * http://blog.ringerc.id.au/2011/01/setting-up-usb-gadget-serial-gserial-on.html
 +  * http://blog.slucas.fr/blog/kobo-ereader-touch-17
 +  * http://www.mobileread.com/forums/showthread.php?t=165359
 +
 +  * https://github.com/kobolabs/Kobo-Reader
 +
 +  * http://www.chauveau-central.net/pub/KoboTouch/
 +
 +  * http://wiki.mobileread.com/wiki/Kobo_Touch_Hacking
 +
 +  * http://maemo.org/packages/
 +
 +  * http://ccoffing.net/tech/embedded/kobo/
 +
 +  * http://robmyers.org/2013/06/17/building-the-kobo-reader-sources/
 +===== 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 
 +
 +<del>http://ccoffing.net/tech/proj/ocherbook/</del>
 +
 +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
 +<code>
 +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
 +</code>
 +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 :
 +<code>
 +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
 +</code>
 +<code>
 +#/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
 +</code>
 +
 +la procedure de mise a jour indique
 +<code>
 +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
 +</code>
 +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
 +<code>
 +#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
 +</code>
 +
 +
 +
 +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 8-)
 +
 +  * 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 {{:kobo: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 <code> apt-get install rpm uuid-dev liblzo2-dev </code>
 +    * ... 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 : <code> apt-get install fldiff </code>
 +
 +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:
 +<code>
 +# 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
 +</code>
 +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
 +
 +OS : http://openinkpot.org/
 +
 +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