OSDev

для всех
Текущее время: 01 май 2024, 22:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 26 дек 2011, 15:34 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Yoda писал(а):
Юбилейный, сотый пост! :)


С чем мы Вас и :)

Я в своё время поглядел ГРУБ, но мне он не понравился. Грузить грузит, конечно, но делает кучу других действий, а меня это раздражает, да и вообще... В общем, не стал я с ним связываться. Ну а несколько позже начались АРМы, и быдлокодинг под ПК я забросил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 26 дек 2011, 21:57 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Yoda писал(а):
От первого ГРУБа пора отказываться. Убогий он.
Второй ненамного лучше.

SII писал(а):
Я в своё время поглядел ГРУБ, но мне он не понравился. Грузить грузит, конечно, но делает кучу других действий, а меня это раздражает, да и вообще... В общем, не стал я с ним связываться. Ну а несколько позже начались АРМы, и быдлокодинг под ПК я забросил.
И мне не нравится, и меня раздражает. Но на тех компьютерах, где GRUB уже стоит, это позволяет избежать установки каких-либо дополнительных загрузчиков, т.е. нарушения уже настроенной загрузочной цепочки. К тому же у меня нет своего развитого вторичного загрузчика. Я даже grub пропатчил, чтобы его можно было устанавливать и загружать, как мой собственный вторичный загрузчик. Можно посмотреть: Подготовка и установка модифицированной версии GRUB'а. Хотя это информация для внутреннего употребления, думаю будет понятно, для чего нужен патч и как его сделать. С GRUB 2 в общем-то тоже было бы все в порядке, если бы мне удалось его собрать в одном файле. Если у кого-нибудь есть core.img, в который включена поддержка всех основных фс, модуль "нормального режима", sh-парсер, поддержка всех основных команд (или хотя бы multiboot, module, chainloader), и который мог бы нормально работать без каких-либо дополнительных файлов (естественно, не считая grub.cfg), поделитесь - буду благодарен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 26 дек 2011, 22:18 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
phantom-84, а что сам не сгенерируешь загрузочный модуль? Например так:
grub-mkimage -o core.img biosdisk iso9660 fat ext2 ntfs
Grub-2 есть в любой Линукс-системе этого года выпуска.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 26 дек 2011, 23:16 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
У меня (Mandriva 2011) только первый и syslinux.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 27 дек 2011, 00:59 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Решил все-таки последовать совету phantom-84 и перенес код в последние 32 гигабайта. И постарался написать так, чтоб не зависел от расположения в оперативке (всмысле положение меняется только изменением константы OSBase).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 27 дек 2011, 01:11 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
phantom-84 писал(а):
У меня (Mandriva 2011) только первый и syslinux.

Лови
http://code.google.com/p/express-os/dow ... b-core.img
Получен из
grub-mkimage -O i386-pc -o grub-core.img biosdisk iso9660 fat ext2 ntfs jfs zfs afs_be xfs affs befs befs_be btrfs ufs1 ufs2 nilfs2 hfsplus sfs afs fshelp


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 27 дек 2011, 12:55 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Bargest писал(а):
И постарался написать так, чтоб не зависел от расположения в оперативке (всмысле положение меняется только изменением константы OSBase).
В смысле "постарался"? Не используй жестко закодированные физические адреса памяти и все.

Himik писал(а):
Лови...
Получен из
grub-mkimage -O i386-pc -o grub-core.img biosdisk iso9660 fat ext2 ntfs jfs zfs afs_be xfs affs befs befs_be btrfs ufs1 ufs2 nilfs2 hfsplus sfs afs fshelp
Большое спасибо. Сделаю патч, отпишусь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 27 дек 2011, 17:58 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Цитата:
Не используй жестко закодированные физические адреса памяти и все.

Ну я сделал все адреса как константы со смещениями от OSBase. "Постарался" потому, что мог где-то что-то забыть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 27 дек 2011, 19:21 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Bargest писал(а):
Ну я сделал все адреса как константы со смещениями от OSBase. "Постарался" потому, что мог где-то что-то забыть.
SII говорил о том, чтобы "отвязаться" от физической памяти, т.е. не использовать жестко закодированные физические адреса памяти. Про виртуальные адреса разговора не было, потому что даже "OSBase+" будет оставаться жестко закодированным, пока ты не сделаешь релоцируемым в том числе и ядро. Естественно, все адреса нужно отсчитывать от какой-то базы. При правильном подходе это сделать не сложно. Просто определяешь как константу базу каждой секции или, если секции размещаются последовательно, базу первой секции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размещение кода ядра
СообщениеДобавлено: 27 дек 2011, 20:31 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Жестко закодированные физические адреса используются при загрузке и инициализации (в RM и PM). Не представляю даже, как их оттуда убрать (кроме релокации ядра конечно). А в виртуальной памяти все последовательно, адрес первой "секции" (если можно так назвать) задается как OSBase при компиляции.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB