Минимализм
Оказывается, FreeBSD 8.0-STABLE можно грузить с файла ядра размером 816K, прямо как в 2.2.8 было :-)
Реально ядро после сборки получается 2176K, но потом его можно strip/bzip2 до 816K - загрузчик (loader), собранный с поддержкой bzip2, замечательно грузит такое ядро. Сам загрузчик тоже уменьшается до 106K путём сборки с поддержкой bzip2 и gzip, но без поддержки forth и обрабатывается потом kgzip/strip. Всё это хозяйство собирается "C(OPT)FLAGS=-Os -fno-inline -pipe" и "WERROR=". В ядре только минимальная функциональность, всё что можно грузится модулями, которые тоже жмутся -- через gzip, loader замечательно грузит.
Контекст -- железки с очень маленьким размером носителя, не более 16-32M.
Update: продолжение темы тут.
no subject
Круто, тем не менее. сколько памяти надо для работы? от 8М, я полагаю?
Впрочем, основным таргетом понемногу становятся arm, а не i386...
no subject
Внутри VirtualBox:
После прогрузки в multiuser и запуска top получается
3392K Active, 1940K Inact, 4468K Wired, 1044K Cache, 1984K Buf, 84K Free. Подгруженыgeom_uzip, zlib, ata, atapci, atadisk. /usr пожат. Как пожать /lib, /libexec, /sbin и /usr без того, чтобы занимать память целыми образами fs, ещё не придумал.Хочу фичу: указываешь в loader.conf имена образов на рутовой fs и ядро делает им mdconfig до перехода в multiuser. А при переходе монтирует r/o вместе наравне с рутом, сразу после него, до старта /etc/rc. В fstab, так уж и быть, пропишу сам :-) Только чтобы в память не грузило, её мало.
no subject
no subject
Да это у меня пока только "набивка руки", набор базиса тэкскть. Из ARM только смартфончик Nokia E50 есть на руках, заменять там родную Symbian чем бы то ни было не собираюсть :-)
Кроме arm ещё mips (http://people.freebsd.org/~imp/asiabsdcon2009-a4.pdf) теперь.