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/09/21 21:34] – zps | etc:common_activities:olpc:build_custom_images [2008/10/12 16:18] (current) – zps | ||
---|---|---|---|
Line 8: | Line 8: | ||
- | ===== Список репозитариев OLPC ===== | + | |
+ | |||
+ | ===== Опыт сборки прошивки с собственным ядром | ||
+ | |||
+ | Сначала необходимо собрать собственный rpm с ядром. В моём случае это была голова из ветки wireless-testing | ||
< | < | ||
- | [olpc_development] | + | git clone git:// |
- | name=OLPC development | + | </ |
- | baseurl=http:// | + | |
+ | Затем из 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-fedora] | ||
+ | name=Fedora 9 - i386 | ||
+ | #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.1222018443.txt.gz · Last modified: 2008/09/21 21:34 by zps