LINUX.ORG.RU

История изменений

Исправление lesopilorama, (текущая версия) :

Этих 512 (строго говоря, 446) байт недостаточно, чтобы разместить там даже примитивный драйвер файловой системы.

Примитивный драйвер не нужен, нужен огрызок, который сможет распарсить содержимое корня, найти среди файликов в корне нужный и узнать из каких секторов его можно достать. Файлик небольшой, несколько килобайт, не будет занимать дофига разных секторов, чтобы на манипуляцию с этим множеством секторов понадобилась какая-то йоба-логика. В общем, вот это вот удавалось без проблем примерно в половину 512 байт запихать. У меня даже исходники остались, могу дать почитать, ехехе.

Там вся логика – считать N байт по указанному адресу с устройства 0x80 в заданный регион оперативной памяти и сделать jmp в начало этого региона.

MBR с жёсткого диска BIOS сам читал автоматом в адрес 0x7c00 и jmp туда самостоятельно, это кодить было не надо, это дефолтное поведение всех материнок было.

Исходная версия lesopilorama, :

Этих 512 (строго говоря, 446) байт недостаточно, чтобы разместить там даже примитивный драйвер файловой системы.

Примитивный драйвер не нужен, нужен огрызок, который сможет распарсить содержимое корня, найти среди файликов в корне нужный и узнать из каких секторов его можно достать. Файлик небольшой, несколько килобайт, не будет занимать дофига разных секторов, чтобы на манипуляцию с этим множеством секторов понадобилась какая-то йоба-логика. В общем, вот это вот удавалось без проблем примерно в половину 512 байт запихать. У меня даже исходники остались, могу дать почитать, ехехе.