[devel-ports] создание очень диетических пакетов для очень маленького rootfs (до 50 Mb)?

Mike Lykov combr на yandex.ru
Ср Май 5 05:45:26 UTC 2010


Отвечу тут как самое подробное ;)

>  ML>  - получилась такая (со всеми зависимостями):
>  ML> -rw-r--r-- 1 mlykov_a mlykov_a 103198720 Апр 13 14:31 i586-root.tar (100780K)
>  ML> например, при apt-get update места для индексов не хватает ;)
>  Не надо делать apt-get update на 128Mb. Надо после установки грохать базу
>  rpm, и обновлять систему методом заливки новой прошивки.

там стоит PQI disk-on-module, который усиленно прикидывается обычным IDE-винтом. и все это вместе прикидывается "обычным PC", поэтому и методы такие поначалу - как на "обычном" ;)

>  В чистом виде -- опасно. Потому как в busybox есть, скажем, /bin/sh -- и
>  может вытянутся вместо шелла busybox.
>  Поэтому если уж и собирать его, то бинарники класть в /usr/share
>  куда-нибудь, а в hook'ах mkimage уже переносить.

ладно, busybox тут можно откинуть я думаю. не стоят эти извращения выигрыша при наличии такого обьема диска.

>  Ты сначала конечную задачу сформулируй. Если это роутер -- решение одно
>  (128Mb это дофига лишнего места, которое можно расходовать почти не думая
>  головой). Если же это что-то более серьезное, то надо думать.

Это такое "устройство одной определенной функции", не роутер. На нем запускается Одна Главная Программа, которая опрашивает подключенные устройства через rs-232, rs-485 порты, немного хранит опрошенные данные на диске и передает по ethernet.
По сути, кроме Главной Программы, которая сейчас собирается статически и кидается в /opt, все остальное - сервисно-отладочное. 
а пока идет отладка, то просто было бы удобно получить что-либо типа setserial или lspci с пом. apt по сети, чем запихивать туда бинарники с либами вручную по отдельности ;) но в конечном варианте оно, конечно, не нужно.

>  Еще обрати внимание на squashfs. Большую часть прошивки есть смысл делать
>  read-only, часть диска монтировать в tmpfs, а часть уже с данными -- на
>  флешке.

судя по ответам да - наверно самое осмысленное - это сжатый образ squashfs, грузящийся и монтирующий в rw раздел "диска" для хранения данных и tmpfs для хранения всяких временных изменяемых файлов. 

сейчас это просто распакованный на раздел диска tar, полученный с пом. mkimage (т.е. как обычная установленная система).
будет проще, чем вырезать что-то из каждого пакета ;)

-- 
Mike 



Подробная информация о списке рассылки devel-ports