etc:common_activities:olpc:build_custom_images
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| etc:common_activities:olpc:build_custom_images [2008/10/02 23:42] – zps | etc:common_activities:olpc:build_custom_images [2008/10/12 16:18] (current) – zps | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| - | ===== Список репозитариев OLPC ===== | ||
| - | ==== Проблемы ==== | + | ===== Опыт сборки прошивки с собственным ядром ===== |
| - | * **огромное | + | |
| + | Сначала необходимо собрать собственный rpm с ядром. В моём случае это была голова из ветки wireless-testing | ||
| + | < | ||
| + | git clone git:// | ||
| + | </ | ||
| + | Затем из git OLPC мною был взят конфиг для их ядра и доделан до возможности делать %%make oldconfig%% в выбранной мною ветке. | ||
| + | **Сборка ядра**\\ | ||
| + | В процессе сборки ядра возникали следующие проблемы: | ||
| + | - исходно конфиг OLPC содержит директиву применять расширение 3DNOW, в виду чего для запуска образа в эмуляторе требуется процессор производства компании AMD. Я оного не имею, поэтому в menuconfig переключил тип процессора на Pentium/ | ||
| + | - при загрузке на XO первое ядро сообщило, | ||
| + | - так как в репозитариях OLPC пакет kernel имеет архитектуры от i386 до i586, то на всякий случай в спецификации была указана архитектура i686. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Далее делаем отдельный репозитарий для нашего пакета. В моём случае он назывался **kernel-2.6.27-5.olpc.i686.rpm**. Чтобы сделать репозитарий достаточно в каталоге где лежит пакет написать **createrepo .** После выполнения, | ||
| + | |||
| + | Следующий шаг состоит в включении новоиспеченного репозитария в конфиг, | ||
| + | |||
| + | Включение собственного репозитария содержит несколько тонкостей: | ||
| + | - нигде не написано, | ||
| + | - стоит учесть, | ||
| + | - всегда ставте пакет NetworkManager из репозитариев OLPC. У них он очень забавный и содержит какие-то непонятные питоновские скрипты и утилиты, | ||
| + | |||
| + | Таким образом конфиг для yum у меня стал выглядеть следующим образом: | ||
| < | < | ||
| - | [olpc_development] | + | [olpc-fedora] |
| - | name=OLPC development | + | name=Fedora 9 - i386 |
| - | baseurl=http:// | + | #baseurl=http:// |
| + | mirrorlist=http:// | ||
| enabled=1 | enabled=1 | ||
| gpgcheck=0 | gpgcheck=0 | ||
| + | exclude=NetworkManager | ||
| - | [olpc-bernie] | + | [olpc-local] |
| - | name=OLPC bernie - \$basearch | + | name=zps |
| - | baseurl=http://www.codewiz.org/pub/olpc-bernie/\$basearch/os/ | + | baseurl=file:///home/zps/workspace/OLPC/repo/ |
| enabled=1 | enabled=1 | ||
| gpgcheck=0 | gpgcheck=0 | ||
| - | [olpc-bernie-debuginfo] | + | [olpc_development] |
| - | name=OLPC | + | name=OLPC |
| - | baseurl=http:// | + | #baseurl=http:// |
| - | enabled=0 | + | # |
| + | baseurl=file:/// | ||
| + | enabled=1 | ||
| gpgcheck=0 | gpgcheck=0 | ||
| + | exclude=kernel | ||
| - | [olpc-bernie-source] | + | [olpc-joyride] |
| - | name=OLPC | + | name=OLPC |
| - | baseurl=http:// | + | #baseurl=http:// |
| - | enabled=0 | + | baseurl=file:/// |
| + | enabled=1 | ||
| gpgcheck=0 | gpgcheck=0 | ||
| + | olpc-development-yum-install.conf 103 utf-8 0x 48,1 Внизу | ||
| </ | </ | ||
| + | Для ускорения я скачал репозитарии себе на машину, | ||
| + | |||
| + | После добавления собственных репозитариев достаточно выполнить следующую команду: | ||
| + | < | ||
| + | # pilgrim-autobuild --config-dir . --stream olpc-development --dest-dir . --variant devel_jffs2 | ||
| + | </ | ||
| + | |||
| + | Выполнение данной команды имеет тоже несколько тонкостей: | ||
| + | - выполняется она под root | ||
| + | - вызов скриптов выполняется из /usr/sbin без конкретных/ | ||
| + | - во время выполнения лучше не жать Control+C. В процессе выполнения он очень хитро создает файлы с будущим диском и мапит их на /dev/loop5 и /dev/loop6 | ||
| + | |||
| + | |||
| + | ====== Просмотр содержимого img файлов ====== | ||
| + | |||
| + | Результатом работы pilgrim будет являться img файлы, которые представляют из себя файловую систему. В варианте готовом для прошивке на ХО это jffs, для QEMU --- ext3 | ||
| + | |||
| + | Для просмотра содержимого ext3-прошивки для эмулятора можно воспользоваться следующей последовательностью команд | ||
| + | <code bash> | ||
| + | $ sudo / | ||
| + | $ sudo / | ||
| + | $ mkdir ttt | ||
| + | $ sudo mount -t ext3 /dev/loop6 ttt | ||
| + | </ | ||
| + | чтобы отмонтировать: | ||
| + | <code bash> | ||
| + | $ sudo umount ttt/ | ||
| + | $ sudo / | ||
| + | $ sudo / | ||
| + | </ | ||
| + | |||
| + | В случае если хочется просмотреть содержимое реальной прошивки то можно воспользоваться [[http:// | ||
| + | |||
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||
etc/common_activities/olpc/build_custom_images.1222976544.txt.gz · Last modified: 2008/10/02 23:42 by zps