Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:kmu

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:users:kmu [2009/08/12 14:33] krinkinmuetc:users:kmu [2016/08/08 20:53] (current) – ↷ Links adapted because of a move operation kel
Line 1: Line 1:
-===== Как я ставил ядро на таблетку ===== +  * [[etc:users:kernel_setup| Ставим ядро]] 
-Ну начал я с того, что запорол рабочую систему на таблетке, пытаясь сделать то, что описано [[http://maemo.org/maemo_release_documentation/maemo4.1.x/node12.html тут ]]. Как оказалось, того, что там написано, было не достаточно. Ну так вот теперь возвращаю таблетку в рабочее состояние. Для этого я скачал [[http://tablets-dev.nokia.com/nokia_N810.php | здесь]] The latest OS 2008 DIABLO release for Nokia N810. +  [[etc:users:usb_connectНастраиваем сеть]] 
-Теперь надо поставит ось на таблетку для этого выключаем девайс, подключаем его к компу и делаем следующую вещь: +  [[etc:users:meizu_m8Перевод Meizu M8]] 
- +  * [[etc:users:kernel| Модульная анатомия]] 
-  flasher-3.5 -F RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin -f -R +  * [[etc:users:fun| Решение задачек для программистов]] 
- +  * [[etc:users:kmu:questВопросы требующие ответов]] 
-ну а дальше нужно просто включить устройство (а можно включить его на зарядку). Все к моей радости заработало, дальше буду опять его портить. +  [[etc:users:symbyanСвалка по Symbian]] 
- +  [[etc:users:kern_booksКниги относящиеся к ядру Linux]]
----- +
- +
-==== root file sistem ==== +
-Теперь занимаемся изменением rootfs (чистенькая rootfs может быть получена [[http://tablets-dev.nokia.com/ здесь]], но раз уж я скачал The latest OS 2008 DIABLO release for Nokia N810, то оттуда и возьму) +
- +
-  # flasher-3.5 --unpack -F RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin +
- +
-на что мне отвечают примерно следующее: +
- +
-  flasher v2.4.5 (Jun 25 2009) +
- +
-  SW version in imageRX-44_DIABLO_5.2008.43-7_PR_MR0 +
-  Image 'kernel', size 1536640 bytes +
-  Version 2.6.21-200842maemo1 +
-  Image 'initfs', size 2327808 bytes +
-  Version 0.95.22-200842maemo1w38b3 +
-  Image 'rootfs', size 125435904 bytes +
-  Version RX-34+RX-44+RX-48_DIABLO_5.2008.43-7_PR_MR0 +
-  Image '2nd', size 8192 bytes +
-  Valid for RX-440808 +
-  Version 1.1.16-200844maemo2 +
-  Image 'xloader', size 9216 bytes +
-  Valid for RX-44: 0808 +
-  Version 1.1.16-200844maemo2 +
-  Image 'secondary', size 100736 bytes +
-  Valid for RX-44: 0808 +
-  Version 1.1.16-200844maemo2 +
-  Image '2nd', size 8192 bytes +
-  Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902 +
-  Version 1.1.16-200844maemo2 +
-  Image 'xloader', size 9216 bytes +
-  Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902 +
-  Version 1.1.16-200844maemo2 +
-  Image 'secondary', size 100736 bytes +
-  Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902 +
-  Version 1.1.16-200844maemo2 +
-  Unpacking kernel image to file 'zImage'... +
-  Unpacking initfs image to file 'initfs.jffs2'... +
-  Unpacking rootfs image to file 'rootfs.jffs2'... +
-  Unpacking 2nd image to file '2nd.bin-RX-44:0808'... +
-  Unpacking xloader image to file 'xloader.bin-RX-44:0808'... +
-  Unpacking secondary image to file 'secondary.bin-RX-44:0808'... +
-  Unpacking 2nd image to file '2nd.bin-RX-44:0801,0802,0803,0804,0805,0806,0901,0902'... +
-  Unpacking xloader image to file 'xloader.bin-RX-44:0801,0802,0803,0804,0805,0806,0901,0902'... +
-  Unpacking secondary image to file 'secondary.bin-RX-44:0801,0802,0803,0804,0805,0806,0901,0902'... +
- +
-появилось много всяких разных файлов... +
- +
-теперь попробуем смонтировать rootfs.jffs2 у себя на компьютере, для этого делаем следующее +
- +
-  mknod /tmp/mtdblock0 b 31 0 +
-  modprobe mtdblock +
-  modprobe mtdram total_size=65536 erase_size=256 +
-  modprobe jffs2 +
-  dd if=/pathtoimage/rootfs.jffs2 of=/tmp/mtdblock0 +
-  mkdir /media/jffs2 +
-  mount -t jffs2 /tmp/mtdblock0 /media/jffs2 +
- +
-из всего произведенного я знаю только две последние комманды и догадываюсь для чего нужна пятая команда (остальные загружают нужные модули ядра, наверно), но это сработало (по крайней мере у меня, кстати подсмотрено как смонтировать rootfs.jffs2 [[http://wiki.maemo.org/Modifying_the_root_image в этой статье]]) +
- +
-Чтобы разобрать смонтированный раздел нужно сделать следующее (подсмотрено там же) +
- +
-  umount /media/jffs2 +
-  modprobe -r jffs2 +
-  modprobe -r mtdram +
-  modprobe -r mtdblock +
- +
-Теперь, зачем все это нужно... Как я понял, таким образом мы можем понаставить всяких разных пакетов в эту систему, а потом просто скопировать ее на устройство. Пакеты устанавливать можно так (ну естественно пакеты для соответствующего устройства) +
-   +
-  dpkg -x $HOME/arm_debs/mypackage_arm.deb +
- +
-Пока не пробовал, если честно+
- +
----- +
- +
-==== Как заставить работать таблетку со своим ядром ==== +
- +
-Для начала берем работающее ядро [[http://tablets-dev.nokia.com/nokia_N810.php здесь]] и разбираем его. +
- +
-  # flasher-3.5 --unpack -F RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin +
- +
-Появляется несколько файлов, нас интересуют два из них: initfs.jffs2 и rootfs.jffs2. Далее нам нужно собрать свое ядро (я пока воспользовался стандартнойконфигурацией, которую можно получить так: //make nokia_2420_defconfig//) +
-Если все прошло удачно появится образ ядра (подробнее про сборку можно посмотреть [[http://maemo.org/maemo_release_documentation/maemo4.1.x/node12.html тут ]]). Теперь сбрасываем наш образ ядра и rootfs.jffs2, initfs.jffs2 на таблетку: +
- +
-  # flasher-3.5 -f -k /your_path_to_kernel_image/zImage -n /your_path/initfs.jffs2 -r /your_path/rootfs.jffs2 -R +
- +
-Честно говоря, пока не понял зачем нужен флаг -f, написано, что он означает установку только определенных компонентов, но когда я пробовал сбросить только ядро, таблетка работать отказалась (хотя возможно я просто забыл его написать)+
etc/users/kmu.1250073181.txt.gz · Last modified: 2009/08/12 14:33 by krinkinmu