Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 9:59 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 39 posts ]  Go to page Previous 1 2 3
Author Message
PostPosted: Mon Jul 07, 2008 9:50 am 
Offline

Joined: Sun Feb 18, 2007 8:34 pm
Posts: 158
Hack_phoenix wrote:
Как я понимаю, нужно будет после получения управления сразу установить свои GDT и IDT, стек и прочее, а потом bluescreen переписывать, уже под защищенный режим, ибо прерывания BIOS там не заюзать... Хотя, есть возможность уйти в реальный режим после получения управления, а затем перейти в него своими средствами... Это проще...
Зачем это вообще нужно? GRUB для любителей, которые не хотят париться с первичным опросом оборудования через BIOS и инициализацией защищенного режима. У вас это все есть. Если хотите загружаться с различных носителей, просто посмотрите исходники GRAB'а. Если хотите выбирать ядро для загрузки, то сделайте связку "первичный загрузчик - простой вторичный загрузчик". RAM-диск используется не только из-за быстрой скорости работы, но и для того, чтобы можно было загрузиться и работать с тем носителем, с которым ось не может работать напрямую. Кстати, GRUB работает именно так - он все указанные файлы грузит в память, используя функции BIOS, чтобы потом к ним можно было обратиться из PM, не переключаясь обратно в RM - это полнейший идиотизм, а не пресловутая универсальность. При необходимости построение такого RAM-диска можно осуществить и своими силами, но уже без каких-либо "левых" спецификаций и навязанной излишней функциональности.


Top
   
PostPosted: Mon Jul 07, 2008 10:37 am 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
Phantom-84
На счет "для любиелей" (мы кстати тоже все любители )))) и "просто посмотрите исходники" ты немного не прав. GRUB используется для многих систем, это очень удобно. Его научились использовать совместно с несколькими системами (с тем же Windows) это очень важно. Им занимается отдельная команда людей, и нам не надо греть голову по поводу будующих и текущих проблем совместимости с другими системами.
В Kolibri реализована поддержка v86, и сделан с целью использования функций BIOS в PM (изначально для работы с дисками, но когда он только появился diamon говорил что спокойно использовал для переключения видео режимов). Так что использовать BIOS в PM УЖЕ возможно. Что ещё надо?


Top
   
PostPosted: Mon Jul 07, 2008 12:56 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Phantom-84

Зачем же вечно возиться со своим уникальным велосипедом ? Уже наигрались. Нынешний загрузчик реально сдерживает развитие системы. Что касается РАМ-диска то пихать туда весть образ тоже нет смысла. Его можно собирать из загруженных GRUB-ом модулей на этапе настройки ядра. Будет не FAT12 а RAMFS с доступом только на чтение (можно и на запись). Наконец если очень хочется загрузить kolibri.img то GRUB сделает это и с флешки и с CD и с сжатого NTFS.


Top
   
PostPosted: Mon Jul 07, 2008 1:30 pm 
Offline

Joined: Sun Feb 18, 2007 8:34 pm
Posts: 158
Да, разобраться в исходниках GRUB'а не так уж и просто, но только в том случае, если толком не знаешь, что ищешь. GRUB используется в тех системах, в которых до этого использовались уж слишком кривые загрузчики. Нужно десять раз подумать, прежде чем принимать Multiboot Specification. GRUB, как впрочем и NTLDR, можно использовать просто для выбора загрузочного раздела. Для выбора ядра в пределах одного раздела, как я уже говорил, лучше использовать свой вторичный загрузчик - не нужно менять формат файла ядра. Кстати, можно и не писать вторичный загрузчик, а просто для каждой версии ядра завести отдельный файл с образом загрузочного сектора и прописать в нем отличное от других имя файла ядра, после чего выполнять выбор с помощью все того же NTLDR. Мне в принципе все равно, просто я не вижу никакой необходимости для Kolibri подстраиваться под Multiboot Spec. и использовать для загрузки GRUB. Выбор необходимого ядра можно выполнять и по-другому, грузить дополнительные модули ядра не нужно, а если бы даже и было нужно, то они бы все равно размещались на RAM-диске.


Top
   
PostPosted: Mon Jul 07, 2008 1:35 pm 
Offline

Joined: Sun Feb 18, 2007 8:34 pm
Posts: 158
Serge, дело ваше. Согласен, что грузить весь образ, тем более довольно специфического формата, тоже не самый лучший вариант.


Top
   
PostPosted: Mon Jul 07, 2008 3:04 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Phantom-84

GRUB используют в системах потому что это удобно. Не надо тратить время на всю эту возню с загрузкой и можно сосредоточиться на ядре. Менять формат файла ядра тоже нет особой необходимости. GRUB грузит что угодно лишь бы заголовок был. Другое дело что надо вносить изменения в само ядро, но для Колибри это обычное состояние.


Top
   
PostPosted: Wed Jul 16, 2008 6:50 pm 
Offline

Joined: Thu Sep 20, 2007 8:09 pm
Posts: 96
Я никуда не потерялся, работа идет. Только все очень медленно - я еще на этапе поглощения документации... Времени очень мало...


Top
   
PostPosted: Thu Jul 17, 2008 9:11 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Hack_phoenix

Если есть вопросы пиши мне в личку. Я делал загрузку через GRUB с начальной инициализацией.


Top
   
PostPosted: Thu Jul 17, 2008 7:34 pm 
Offline

Joined: Thu Sep 20, 2007 8:09 pm
Posts: 96
Понял. Будет чуть больше времени - свяжусь. Работа, мать ее.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 39 posts ]  Go to page Previous 1 2 3

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited