[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