NetBSD 4.0 Mini kernel
Итак... Окончательный результат в создании более-менее :-) минимального по размеру работоспособного ядра NetBSD 4.0
include "arch/i386/conf/std.i386"
maxusers 2 # estimated number of users
options I386_CPU
options MATH_EMULATE
makeoptions CPUFLAGS="-march=i486 -mtune=pentiumpro" # Assume at least 486,
file-system FFS # UFS
options FFS_NO_SNAPSHOT # No FFS snapshot support
options WSEMUL_VT100 # VT100 / VT220 emulation
config netbsd root on ? type ?
mainbus0 at root
cpu* at mainbus?
ioapic* at mainbus?
options MPBIOS
options MPBIOS_SCANPCI
pci* at mainbus? bus ?
isa0 at mainbus?
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
vga* at pci? dev ? function ?
wsdisplay* at vga? console ?
wskbd* at pckbd? console ?
piixide* at pci? dev ? function ? # Intel IDE controllers
atabus* at ata?
wd* at atabus? drive ? flags 0x0000
atapibus* at atapi?
Как видно из этого конфига 1200 с чем то строк можно урезать до 25.
std.i386 не покажу нет под рукой сейчас ноута, но там почти ничего не осталось. Makefile то же не покажу, хотя там есть опции которые минимизируют размер самого ядра
В ядре нет поддержки стека сетевых протоколов. Нет поддержки виртуальной памяти, но есть поддержка системы управления памяти, нет поддержки мыши и др ненужного оборудования. Поддерживается ядром только проц, память, дисплей, клавиатура, винт и одна из файловых систем. Возможно конечно сделать ядро еще меньше поменяв например FFS на что нибудь менее тяжеловесное, но у меня только один корневой раздел был на ноуте и ессесно ffs, поэтому - не хотелось заморачиваться.
Итак:
Ядро ;
Сжатое ядро , которое ессесно тоже может забутстрапить загрузчик;
И сам ;
UPD: Исходный текст ядра модифицирован не был! Почти не был. Закомментить пару функций не в счет!
И еще. В ядре netbsd 4.0 оказывается есть gpl код :-) Конкретно эмулятор математического сопроцессора
- rmx's blog
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 1440 просмотра