11 Сен 2006 - 20:26 Unknown BIOS romby team >>1336 >> 8.41
abboot как тут уже разжевали, есть два типа образов
1) Самодостаточный бинарник содержащий ядро ОС + функциональную часть, который достаточно просто загрузить в память и передать ему управление - с нулевого байта.
Примеры: ядро linux, memtest86+ построеный на основе ядра linux или memdisk о котором далее....
Грузится с помощью GRUB, при этом бинарный описывается в конфиге как ядро ОС - GRUB копирует его в память и передает управление ему.
2) Образ блочного устройства содержащий фаловую систему и загрузочный сектор.
Тут чуть сложнее - необходімо чтобы что-то эмулировало это самое блочное устройство со всеми его атрибутами - тип INT13, геометрии и т.п. Для эмуляции блочного устроства используется memdisk. Для загрузки memdisk используется GRUB.
При этом memdisk описывается как ядро операціонной системы, а интересующий нас образ блочного устройства - как initrd. Inintrd - это собственно initial ramdisk. GRUB загружает в память ядро + initrd (т.е. memdisk + образ вашей условной дискетки), далее управление передается memdisk, при этом в качестве параметров ему передается расположение initrd в памяти + стандартный cmdline в котором для memdisk могут быть переданы некоторые параметры. Получив управление, memdisk далее выполняет процедуры по эмуляции блочного устройства и передает управление загрузочному секторы образа дисктеки, после чего код BR DOS работает пребывая в полной уверенности, что загрузка происходит с чего-то стандартного.
abboot как тут уже разжевали, есть два типа образов
1) Самодостаточный бинарник содержащий ядро ОС + функциональную часть, который достаточно просто загрузить в память и передать ему управление - с нулевого байта.
Примеры: ядро linux, memtest86+ построеный на основе ядра linux или memdisk о котором далее....
Грузится с помощью GRUB, при этом бинарный описывается в конфиге как ядро ОС - GRUB копирует его в память и передает управление ему.
2) Образ блочного устройства содержащий фаловую систему и загрузочный сектор.
Тут чуть сложнее - необходімо чтобы что-то эмулировало это самое блочное устройство со всеми его атрибутами - тип INT13, геометрии и т.п. Для эмуляции блочного устроства используется memdisk. Для загрузки memdisk используется GRUB.
При этом memdisk описывается как ядро операціонной системы, а интересующий нас образ блочного устройства - как initrd. Inintrd - это собственно initial ramdisk. GRUB загружает в память ядро + initrd (т.е. memdisk + образ вашей условной дискетки), далее управление передается memdisk, при этом в качестве параметров ему передается расположение initrd в памяти + стандартный cmdline в котором для memdisk могут быть переданы некоторые параметры. Получив управление, memdisk далее выполняет процедуры по эмуляции блочного устройства и передает управление загрузочному секторы образа дисктеки, после чего код BR DOS работает пребывая в полной уверенности, что загрузка происходит с чего-то стандартного.