OSDev http://osdev.su/ |
|
Разработка собственной ФС http://osdev.su/viewtopic.php?f=5&t=2274 |
Страница 2 из 2 |
Автор: | grenders22 [ 21 июн 2018, 17:56 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
Himik писал(а): В принципе, если у тебя на компе установлена Ubuntа и Grub, то его можно использовать для запуска своей ОС. Просто добавить на жёсткий диск второй раздел для своей ОС, и добавить в Grub своё меню. Попробовал, но толку ноль. Получается нрвый раздел для моей ос это устройство /dev/sda3 пытаюсь его подклбчить, без объявления ошибок, сразу перезагрузка. Как /dev/sd* так только линукс видит или изначально так задуманно? Почему этот вопрос встал. На виртуалке, понимаю что она иначе работает, но все подключая к qemu устройства/разделы(незнаю как конкретнее назвать), ос моя видит их. Т.е. фактически эти подключенные устройства и есть разделенные диски на жестком. И вот тут в голове не укладывается, как так то |
Автор: | Himik [ 22 июн 2018, 22:36 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
Ты пытаешься подключить /dev/sda3 к QEMU, или к Ubuntu? И кто именно сразу перезагружается? К виртуалке лучше не подключать разделы системного диска. |
Автор: | grenders22 [ 22 июн 2018, 22:42 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
Himik писал(а): Ты пытаешься подключить /dev/sda3 к QEMU, или к Ubuntu? в ядре ос подключаюсь. По вашему совету создал раздел, закинул данные в grub своей ос, и пытаюсь запустить, но не видит, если уместно это слово, раздела моего. Из-за этого просто в перезагрузку идёт.А в виртуальном все нормально, там как бы к виртуальным томам/разделам подключается. |
Автор: | Himik [ 22 июн 2018, 23:23 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
Понятно. Сам GRUB ни при каких обстоятельствах в перезагрузку уйти не может. Если получается перезагрузка, значит GRUB успешно загрузил и запустил твоё ядро, а уже оно в свою очередь успешно перезагрузило компьютер. Судя по всему, разница в архитектуре виртуального и твоего реального компьютера велика. Надо отлаживать, искать проблему в ядре. Возможно, ядро рассчитано на загрузку с первого раздела, а там оно получается на 3-м. |
Автор: | grenders22 [ 25 июн 2018, 20:58 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
Himik писал(а): Понятно. Сам GRUB ни при каких обстоятельствах в перезагрузку уйти не может. Если получается перезагрузка, значит GRUB успешно загрузил и запустил твоё ядро, а уже оно в свою очередь успешно перезагрузило компьютер. Это понимаю, не правильно выразился. Прошу прощения. Himik писал(а): Судя по всему, разница в архитектуре виртуального и твоего реального компьютера велика. Надо отлаживать, искать проблему в ядре. Возможно, ядро рассчитано на загрузку с первого раздела, а там оно получается на 3-м. Я фактически подключаю разделы по их имени. Код: ext2_init("/dev/sda3");//на реально(не работает) ext2_init("/dev/hda");//в qemu (работает) //qemu-system-i386 -kernel kernel -hda hda.img - в qemu.sh, где примонтируется виртуальный жесткий. Правка. Оказалось все тело в драйвере чтения и записи секторов. Где можно наглядный на си найти? Видимо тут и проявилась разница между виртуальной и реальной машиной. |
Автор: | Himik [ 26 июн 2018, 20:22 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
Здесь в поле "Поиск" введи "Кулаков", и получишь кучу ссылок по этой тематике. Что-то типа viewtopic.php?f=7&t=1068&p=12747 viewtopic.php?f=6&t=916&p=10865 А также Владимир Кулаков "Программирование на аппаратном уровне". |
Автор: | pavia [ 27 июн 2018, 19:51 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
grenders22 писал(а): Я фактически подключаю разделы по их имени. Код: ext2_init("/dev/sda3");//на реально(не работает) ext2_init("/dev/hda");//в qemu (работает) //qemu-system-i386 -kernel kernel -hda hda.img - в qemu.sh, где примонтируется виртуальный жесткий. Из ваших объяснений я ровным счётом ничего не понимаю. Говорите что делаете свою ФС про груб. А в конце указываете что вызываете сервисы из ядра линукса. Соответственно у вас и не работает на реальном железе потому, что ядро надо написать своё. |
Автор: | Himik [ 04 июл 2018, 00:49 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
grenders22 писал(а): Подключил я ext2 и виртуальную, но проблемы возникли с тестирование. По совету Himik'a обновил до 18.04 свою убунту. Но дела не пошли на лад. Я решил опустит тестирование при помощи qemu, т.к. все попытки создания виртуального тома были тщетны. В итоге встает другой вопрос. Я записал загрузчик на флешку кидаю ядро и cfg. Тут все хорошо. По умолчанию фдешка форматируется только в fat. При попытке форматировать в ext2 получаю зарутованную флешку, при всем этом она становится ext3/ext4. К сути вопроса. Как создать на флешке том который для моей ос? Нужно ли вообще создавать том или достаточно правильно форматнуть? И как именно форматнуть? ЕСли форматнуть то можно задать "домашнюю папку" Попробовал в Ubuntu 18.04 создать разделы в файле для образа диска, нет ни каких проблем. Код: himik@Ubuntu-Z370:~$ fdisk -c VirtualDisk1-flat.vmdk Добро пожаловать в fdisk (util-linux 2.31.1). Изменения останутся только в памяти до тех пор, пока вы не решите записать их. Будьте внимательны, используя команду write. Устройство не содержит стандартной таблицы разделов. Создана новая метка DOS с идентификатором 0x7aa827a7. Команда (m для справки): n Тип раздела p основной (0 первичный, 0 расширеный, 4 свободно) e расширенный (контейнер для логических разделов) Выберите (по умолчанию - p): p Номер раздела (1-4, по умолчанию 1): 1 Первый сектор (2048-2097151, по умолчанию 2048): 2048 Последний сектор + число секторов или + размер{K,M,G,T,P} (2048-2097151, по умолча 2097151 Создан новый раздел 1 с типом 'Linux' и размером 1023 MiB. Команда (m для справки): a Выбранный раздел 1 Флаг загрузки раздела 1 включен. Команда (m для справки): w Таблица разделов была изменена. Синхронизируются диски. himik@Ubuntu-Z370:~$ uname -a Linux Ubuntu-Z370 4.15.0-24-generic #26-Ubuntu SMP Wed Jun 13 08:44:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux После форматирования и примонтирования диска, запускаем sudo nautilus это даёт нам возможность на правах root делать с директориями и файлами на диске всё что угодно. В принципе там можно создать новую директорию, и поменять "владельца" с root на своё имя, чтобы потом свободно с ней работать. |
Автор: | grenders22 [ 04 июл 2018, 14:47 ] |
Заголовок сообщения: | Re: Разработка собственной ФС |
Himik писал(а): Попробовал в Ubuntu 18.04 создать разделы в файле для образа диска, нет ни каких проблем. Видимо у меня в самой убунту проблема было, ибо при sudo apt-get update ошибки лезли. В общем переустановка мне тогдапомогла. Himik писал(а): В принципе там можно создать новую директорию, и поменять "владельца" с root на своё имя, чтобы потом свободно с ней работать. Я и не знал что так можно делать, спасибо за информацию. |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |