Загрузка Колибри ОС

Kernel boot-loaders discussion
  • хех... ОСь открыта... посмотри исходники.... =)...
  • Колибри ОС, имеет достаточно много вариантов загрузки, но большинство этих вариантов основано на концепции загрузки образа рам диска в ОЗУ. Эта концепция загрузки заключается, в том, что первичный загрузчик находит файл kernel.mnt, который может быть расположен или на носителе, или в составе образа, загружает его в память и передает ему управление, устанавливая некоторые флаги, в зависимости от того, с какого носителя произошел старт. Дальнейшие действия kernel.mnt заключаются в том, что бы считать образ файла в ОЗУ в реальном режиме и переместить образ за пределы 1 мб (ограничение на адресацию в реальном режиме) 0х87 функцией 0х15 прерывания BIOS. При загрузке с дискеты, происходит считывание данных по трекам, в результате этого достигается наибольшая скорость загрузки, чем если бы производили чтение по секторам, по сути, происходит создание образа рам диска в памяти ОЗУ. В случае старта с HDD используется несколько вариантов загрузки, но они объединены общим подходом, первичный загрузчик самостоятельно перекидывает за 1 мб образ рам диска, и выставляет флаги, которые сигнализируют, что образ рам диска уже создан.
  • Смотрел исходники, но так и не нашел код первого сектора дискеты где находится первый загрузчик. Второй загрузчик вроде нашел в папке boot. Подскажите где находится первй загрузчик. Пока разбираюсь с загрузкой. Попутно буду состовлять документацию на систему. Если кто может подсказать где есть более развернутая документация подскажите... А так без документации очень сложно разбираться в исходниках, особенно на асме.
    Да прибудет с Вами сила...
  • AS25, посмотри в \other\Boot\ в исходниках дистрибутива
  • Первичный загрузчик на svn в папке trunk/bootloader. Более развёрнутая документация в постах в теме "Ядро".
    viewtopic.php?f=1&t=636
    viewtopic.php?f=1&t=509
    viewtopic.php?f=1&t=662
    viewtopic.php?f=1&t=475
  • Возник такой вопрос:
    Колибри может быть по-человечески поставлена на чистый винт (FAT16 или 32), без извращений со всякими "дискеточными RAM-образами", чтоб все файлы, в том числе ядро, просто валялись в корне (мне удобнее в таком варианте с ней ковыряться)? :-)
  • 1. Для полного счастья нужно всего два файла, они в этом архиве http://kolibri-os.narod.ru/files/temp/hdd_boot.zip . Скачиваем его.
    2. Создаём папку C:\kolibri , копируем туда файлы Колибри. Туда же извлекаем файлы из скачаного архива. Запускаем файл setboot.exe и следуем инструкциям.
    3. Заходим в файл C:\boot.ini (он скрытый) и добавляем туда параметр
    C:\kolibri\boot.bin="KolibriOS_HDD"
    Перезагружаемся и до того как начнётся загрузка Windows, нажимаем F8. Выбираем "KolibriOS_HDD".
    Когда-то это работало. Сейчас я попробовал проделать эти же дейсвия. Увидел синий экран настроек, но после него лишь чёрный экран. Может, я что-то сделал не так, а может уже ядро не совместимо с чем-то там... Быть может у тебя получится.
    Из хаоса в космос
  • Сцылка не пашет, 404- файл не найден :(
    Да и это опять про установку на виндовом диске, а мне на чистый отформатированный винт надо поставить.
  • Anton
    Ссылку поправил. С чисто отформатированым, увы, помочь не могу. Может кто другой знает как, может через GRUB (это к Сержу) или ещё каким феерическим способом (diamond) или может быть кто-нибудь (Anton) напишет новый загрузчик, не знаю... :)
    Из хаоса в космос
  • Не работает. При запуске BOOT.BIN вообще висняк. Хотя этот способ все равно мне не подходит.
    Пока из ДОСа стандартно грузить буду.


    Добавлено:

    Так. Имеем продолжение проблемы :-)
    В процессе ковыряния пришел к выводу, что загрузка через образ диска принципиально не устраивает.

    Нужно, чтоб все файлы лежали в корне раздела HD.
  • Anton wrote:загрузка через образ диска принципиально не устраивает
    Ну вот какая тебе разница: представь, что образ диска это и есть ядро системы. Настрой его как тебе надо, и не трогай его больше.
  • tsdima
    Его не устраивает по простой причине - он хочет работать с файлами из другой системы (другой ОС) без посредников вроде WinImage или монтирования образа в *nix, а возможно из ДОС - там вообще нету приемлимых инструментов для таких дел.
  • Anton
    Если все будет нормально, то возможно скоро появиться решение, которое позволит обойти данное ограничение. Рам диск будет динамически создаваться из файлов, которые можно будет указывать в файле конфигурации.
  • Mario,
    да, именно так. Под ДОС неудобно крайне. Можно, конечно, через WinImage, я так и делал, но это сильно тормозит дело при внесении любого изменения и экспериментах.
    Дошло до того, что я собрал отдельный комп для запуска КоОС, а ковырялся под виндой на другом, записывая изменения на дискетку каждый раз. Убиться об стену, короче говоря.

    <Lrz>,
    Было бы неплохо хотя бы так. Хотя, а зачем вообще рам-диск этот? Почему нельзя физические файлы с носителя использовать-то?

    Еще бы надо "законно" избавиться от экрана с опциями загрузки, чтоб не требовалось тыкать клавиши каждый раз. Я, естественно, нашел в коде это место, но пока оставил все как есть.
  • Who is online

    Users browsing this forum: No registered users and 2 guests