OSDev http://osdev.su/ |
|
GRUB 2 и собственная ФС http://osdev.su/viewtopic.php?f=5&t=3668 |
Страница 1 из 1 |
Автор: | Sebt [ 28 мар 2019, 16:12 ] |
Заголовок сообщения: | GRUB 2 и собственная ФС |
Здравствуйте, Слабо знаком с grub 2. На уровне написания grub config'а познакомился с ним. Сейчас в качестве костыля, если это можно так назвать, создаю два раздела, первый в ext2 на котором и установил grub 2 и положил ядро. Второй уже с собственной ФС. Я смог частично решить проблему. Я просто указал физическое расположение ядра на диске и загрузил его. Но все же, grub при этом остается на своем разделе с ext2. И вот тут я уже не понимаю, как я бы мог установить его из моей Ubuntu на собственную ФС. Я так понимаю без переписывания самого загрузчика не обойтись? Или все же лучше уж и свой загрузчик пилить? Примечание. GRUB я использую для трех вещей: для загрузки ядра, для установки видео режима и для определения ОЗУ. И все кроме как определения ОЗУ знаю как решить прямо сейчас. Просто ранее не интересовался этим, так как GRUB все делал. Заранее спасибо за помощь. |
Автор: | Yoda [ 29 мар 2019, 14:06 ] |
Заголовок сообщения: | Re: GRUB 2 и собственная ФС |
Собственная ФС — имеется ввиду, что не EXT2, FATxx и прочие, а совершенно новый формат? В этом случае вам без своего загрузчика никак не обойтись. |
Автор: | Sebt [ 29 мар 2019, 18:24 ] |
Заголовок сообщения: | Re: GRUB 2 и собственная ФС |
Да, это и имел ввиду. Жаль Спасибо за ответ. |
Автор: | SII [ 29 мар 2019, 20:12 ] |
Заголовок сообщения: | Re: GRUB 2 и собственная ФС |
А зачем своя ФС понадобилась? Как по мне, если и делать свою, то лишь тогда, когда ОС в целом работает, есть нормальная драйверная модель и т.д., и новая ФС -- лишь одна из возможных. |
Автор: | Sebt [ 30 мар 2019, 09:51 ] |
Заголовок сообщения: | Re: GRUB 2 и собственная ФС |
Да, конечно же вы правы. Просто собственная ФС, стала для меня дипломной работой. |
Автор: | pavia [ 30 мар 2019, 11:48 ] |
Заголовок сообщения: | Re: GRUB 2 и собственная ФС |
Sebt Раз диплом файловая система - значит загрузчик вам не нужен. Все манипуляция можно проводить в существующей ОС. Для примера можно рассмотреть FatFS. Это библиотека, которая берёт на себя работу с файловой системой и не только на микроконтроллерах. Для загрузки ОС с собственной файловой системы нужно добавить модуль в GRUB. Что касается драйверной модели, то она абсолютно не нужна. Драйвер использует библиотеку которую следует написать так что-бы она не зависела от драйверной модели. Достаточно определить 2 колбека которые позволят считать 1 сектор и записать 1 сектор. Ещё потребуется библиотека для синхронизации процессов. На первых порах хватить 1 мьютекса построенного на спинлоке. Вот когда вы откинули лишнее можете сосредоточится на ФС. Описываете перечень функций которыми будут пользоваться пользователи вашей библиотеке. И начинаете их реализовывать. Открытие файла. Чтение из файла, поиск файла, перемещение файла. Обрезка файла и тд. |
Автор: | Sebt [ 30 мар 2019, 14:55 ] |
Заголовок сообщения: | Re: GRUB 2 и собственная ФС |
pavia писал(а): Sebt Раз диплом файловая система - значит загрузчик вам не нужен. Все манипуляция можно проводить в существующей ОС. Полностью согласен. Тема чисто теоретическая и с большим забегом наперед. Поэтому в "Теоретические" и поместил. |
Автор: | pavia [ 30 мар 2019, 21:36 ] |
Заголовок сообщения: | Re: GRUB 2 и собственная ФС |
... тоrда Я, задыхаясь. схватил себя за волосы и рванул... И мы взлетели над осокой! Г. Горин, к.ф. "Tот самый Мюнхаузин" Загрузка ОС аналогично попытке вытащить себя за волосы из болота. В IoT устройствах и микроконтролерах есть флешка. Аппаратно она отображается на АП-устройства. Изначально они были маленькие. И разместить полноценную поддержку ОС проблематично. Тоже самое и в компьютерах. Но время идёт. Сейчас БИОС вернее UEFI поддерживает полноценную работу с FAT. В IoT обычно есть загрузчик uboot который позволяет загрузить Linux. Но быль в том что ФС-проектировались изначально так что-бы примитивный загрузчик мог с них загрузить 1 файл. Что FAT что EXT построены на принципе эволюции. Вам достаточно научится только читать файлы. 1 Файл это образ ОС. Он состоит из ядра и RAM-FS (в терминах Линукса VFS). У линукса образ ещё и жатый но это излишние сложности. На первой дорожке у вас есть 63 Кб для загрузки образа ОС. А вот RAM-FS уже лежит полноценный драйвер. Но это излишние сложности. Проще написать монолитное ядро. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |