OSDev

для всех
Текущее время: 04 июл 2025, 20:29

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




Начать новую тему Ответить на тему  [ Сообщений: 353 ]  На страницу Пред.  1 ... 18, 19, 20, 21, 22, 23, 24 ... 36  След.
Автор Сообщение
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 07 ноя 2012, 22:18 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 976
Откуда: Дагоба
jarilo писал(а):
Извиняюсь за задержку, не получалось выделить время. Проверил загрузку на бажном с FAT32 в HDD режиме (не суперфлоп) - не грузит, пишет "Error loading OS...".

Нужно суперфлоппи. Иначе я не определю, откуда ноги растут.

jarilo писал(а):
я так понимаю что LBA в процессе эволюции менялось несколько раз и видимо загрузчики видя что LBA есть начинают его использовать LBA48 а там может предыдущий LBA или вообще не корректный. FlashBoot это как то определяет и корректно грузит подменяя при этом номер диска.

LBA48 - это для доступа к дискам >2ТБ. Его вообще мало кто поддерживает.
С точки зрения вызовов, нельзя определить, поддерживаются ли BIOS-ом старшие 16 бит или нет. Так что это здесь ни при чём.

jarilo писал(а):
По поводу утилиты boot, не логично используются параметры, для инсталляции логично указать только один единственный параметр ДИСК или БУКВУ все нужные загрузчики должны быть установлены, т.е. boot -d 2 или boot -d f, причем это две абсолютно одинаковые по смыслу должны быть команды просто кому как нравиться буква или диск

Как раз всё стало более логично, т.к. функционал расширился, и это две совершенно не одинаковые по смыслу команды. При доступе по букве Windows ограничивает меня только разделом, представленным этой буквой и у меня нет доступа к MBR. При указании же номера устройства я имею полный доступ. С другой стороны, при доступе по букве я не могу определить, где физически находится раздел, а значит определить, возможен ли к нему безопасный доступ по CHS. При этом всегда используется LBA-версия загрузчика.
Запретить доступ по букве нельзя, потому что тогда не смогу работать с дискетами. Могу лишь сказать, что очень не рекомендую использовать букву, хотя её использование более очевидно.

jarilo писал(а):
а если в строке встречается параметр -m или -b то он ограничит запись только MBR или boot sector, если в строке запуска нет этих параметров надо писать все чтоб была полная FULL установка - это логично.

Если этих параметров нет, то пользователь может захотеть всего лишь сменить номер активного раздела, а я ему запорчу загрузочные сектора, причём оба. Так что это тоже нелогичо. Как раз логично делать только то, что указано явно.

phantom-84 писал(а):
Не понял. Ты же сейчас как-то умудряешься запускать систему, не опираясь на MB-идентификатор, передаваемый GRUB'ом. Что тебе мешает продолжать это делать и дальше?

Просто я сейчас не особо забочусь поддержкой ГРУБа. Мягко говоря, я пока что на него забил. Но для полноценной поддержки придётся использовать эту информацию.

phantom-84 писал(а):
Только тогда ты должен будешь сообщить "пользователям" о выходе новой версии пакета, которая отменяет необходимость пропатчивания. А если описанное нововведение появится в версии 3.1 в обязательном порядке, то можешь сейчас сообщить, что нам нужно писать в пояснениях к текущим версиям "ядер" по этому поводу.

Давай пока не будем торопить события. Я сейчас в фазе экспериментов и ничего более определённого сказать не могу.

phantom-84 писал(а):
Кстати номер раздела первичные загрузчики могут и не получать от MBR-загрузчика, а пропатчиваться вручную или при помощи установщика (помнишь, я тебе говорил про наличие такого кода в моих первичных загрузчиках).

Я бы хотел вообще уйти от каких бы то ни было патчей и установок. В этом в значительной степени цель проекта. Для этого я хочу наладить не только интерфейс между загрузчиком и ядром (который описан), но и между загрузчиками (который есть, но пока что скрыт).

phantom-84 писал(а):
А если ты собираешься получать номер от MBR-загрузчика, может тебе глянуть в сторону моего интерфейса "MBR-загрузчик - первичный загрузчик" в плане передачи этого номера, тогда мои MBR-загрузчики смогут загружать твои первичные, а они в свою очередь смогут нормально воспринимать переданный им номер. Или у нас там возникло пересечение параметров, я уже не помню?

Я думаю, мы сможем придти к консенсусу в этом плане.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 07 ноя 2012, 23:09 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1209
Yoda писал(а):
Просто я сейчас не особо забочусь поддержкой ГРУБа. Мягко говоря, я пока что на него забил. Но для полноценной поддержки придётся использовать эту информацию.
Вообще я говорил про MB-точку входа твоего ядра. Судя по всему, ты в ней не обрабатываешь передаваемый GRUB'ом boot_device, соответственно как-то получаешь в этой точке входа свой родной идентификатор.

Цитата:
Давай пока не будем торопить события. Я сейчас в фазе экспериментов и ничего более определённого сказать не могу.
Ну, ты ведь сам сказал, что полноценная поддержка этого параметра будет в версии 3.1. Если это так, то я могу и сам написать пояснения для своего ядра и модифицированного GRUB'а в sys-формате. А заголовок я видимо тогда буду использовать такой, как описал в пред. посте. Кто хочет, присоединяйтесь!

Естественно, в циферках была допущена ошибка. Это от вечерней расслабленности. Правильный заголовок такой: 20 F6 75 02 B6 ??

Цитата:
Я бы хотел вообще уйти от каких бы то ни было патчей и установок. В этом в значительной степени цель проекта. Для этого я хочу наладить не только интерфейс между загрузчиком и ядром (который описан), но и между загрузчиками (который есть, но пока что скрыт).
Да, я это сейчас практически не использую, т.к. везде стоят мои MBR-загрузчики. Это запасной вариант, который всегда может прийти на помощь. Например, моя система грузится с неактивного раздела сторонним MBR- или вторичным загрузчиком (как вариант, бутсектор грузится из файла ntldr'ом или syslinux'ом). Я уже когда-то говорил, что заставлять установщик заниматься такой прошивкой вовсе необязательно. У меня к примеру этого нет. Между какими загрузчиками? MBR/EPR-загрузчиком и отдельным первичным?

Цитата:
Я думаю, мы сможем придти к консенсусу в этом плане.
Хорошо, только прошлый раз у нас не получилось это сделать по причине пересечения параметров в регистре ax, если я ничего не путаю. Я сейчас в ax целенаправленно передаю значение, отличное от 0x4721 ("!G"), обычно 0xAA55.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 13:19 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 976
Откуда: Дагоба
phantom-84 писал(а):
Вообще я говорил про MB-точку входа твоего ядра. Судя по всему, ты в ней не обрабатываешь передаваемый GRUB'ом boot_device, соответственно как-то получаешь в этой точке входа свой родной идентификатор.

Я тоже именно про неё и говорю. Я пока что просто добавил MB точку входа, убедился, что само ядро грузится ГРУБом и на этом расслабился. Пока что гружусь своими загрузчиками. Boot device от ГРУБа не получаю и не обрабатываю, но конечно для полноценной загрузки это надо будет делать.

phantom-84 писал(а):
Между какими загрузчиками? MBR/EPR-загрузчиком и отдельным первичным?

Между MBR/EBR/GPT и VBR. Иными словами, между нулевым и первичным.

phantom-84 писал(а):
Я сейчас в ax целенаправленно передаю значение, отличное от 0x4721 ("!G"), обычно 0xAA55.

Я тоже, только число другое. Вообще говоря, архитектура PMBR с magic number 0x54504721 в EAX и параметрами по ссылке в ES:DI не удобна да и структура достаточно бессмысленна. Места в загрузчиках под старые (и даже не очень старые) ФС сильно не хватает, а на обработку структур нужно много кода. Сейчас в загрузчике Ext2/3 осталось 5 байт, в FAT32CHS 2 байта, а в FAT12 уже пошли под нож точки в сообщении "Error Loading OS..."

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 13:27 

Зарегистрирован: 18 окт 2012, 21:03
Сообщения: 54
Yoda писал(а):
Нужно суперфлоппи. Иначе я не определю, откуда ноги растут.

Про суперфлоп я тоже отписал в своем посте отредактировав чуток позже, не грузит, подробности в посте выше.

Цитата:
Запретить доступ по букве нельзя, потому что тогда не смогу работать с дискетами. Могу лишь сказать, что очень не рекомендую использовать букву, хотя её использование более очевидно.

Но можно указать что использовать только для A или B дисковода или для образа дискеты.

Цитата:
Если этих параметров нет, то пользователь может захотеть всего лишь сменить номер активного раздела, а я ему запорчу загрузочные сектора, причём оба. Так что это тоже нелогичо. Как раз логично делать только то, что указано явно.

Я имел введу, что если в командной строке нет других параметров кроме диска то производить полную инсталляцию - логично, если нужна одна активность то как минимум в строке должна присутствовать опция -а, при наличии какой либо опции производить только выборную опцию а при отсутствии всех кроме диска - полную инсталляцию -логично, помоему :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 13:33 

Зарегистрирован: 18 окт 2012, 21:03
Сообщения: 54
Yoda писал(а):
Сейчас в загрузчике Ext2/3 осталось 5 байт, в FAT32CHS 2 байта, а в FAT12 уже пошли под нож точки в сообщении "Error Loading OS..."

Так ведь можно пожертвовать красотой сообщения и сделать его просто "Error ", или вообще без оного, смысл как ты сам не раз подмечал не меняется ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 15:07 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 976
Откуда: Дагоба
jarilo писал(а):
Про суперфлоп я тоже отписал в своем посте отредактировав чуток позже, не грузит, подробности в посте выше.

Там написано только про HDD режим и гибридный. Гибридный - это не то же самое, что суперфлоппи. Это в значительной степени аналог HDD режима, по крайней мере с точки зрения процесса загрузки. При неработающем LBA гибридный режим работать не будет.

jarilo писал(а):
Я имел введу, что если в командной строке нет других параметров кроме диска то производить полную инсталляцию - логично, если нужна одна активность то как минимум в строке должна присутствовать опция -а, при наличии какой либо опции производить только выборную опцию а при отсутствии всех кроме диска - полную инсталляцию -логично, помоему :)

Здесь всё равно путаница. Совершенно не логично, если опция -a будет косвенным образом влиять на запись загрузочного кода. Пусть лучше в любом случае будет выполняться именно то действие, которое указано.

jarilo писал(а):
Так ведь можно пожертвовать красотой сообщения и сделать его просто "Error ", или вообще без оного, смысл как ты сам не раз подмечал не меняется ;)

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

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 15:43 

Зарегистрирован: 18 окт 2012, 21:03
Сообщения: 54
Yoda писал(а):
Там написано только про HDD режим и гибридный. Гибридный - это не то же самое, что суперфлоппи. Это в значительной степени аналог HDD режима, по крайней мере с точки зрения процесса загрузки. При неработающем LBA гибридный режим работать не будет.

Да что то я пишу одно думаю о другом ))), проверил суперфлоп где нет вообще MBR только Boot, на нормальном грузит, на бажном нет, но не виснет пишет "Error loading OS...". К стати FlashBoot именно на гибридном HDD формате без проблем грузится на бажном компе, потому я и подумал что речь о нем, FlashBoot по умолчанию всегда создает этот гибрид.

Цитата:
Красотой можно. Информативностью не стоит.

На крайний случай можно просто один восклицательный знак выводить "!" а в документации пояснить что это такое )).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 22:39 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1209
Yoda писал(а):
Я тоже, только число другое. Вообще говоря, архитектура PMBR с magic number 0x54504721 в EAX и параметрами по ссылке в ES:DI не удобна да и структура достаточно бессмысленна. Места в загрузчиках под старые (и даже не очень старые) ФС сильно не хватает, а на обработку структур нужно много кода. Сейчас в загрузчике Ext2/3 осталось 5 байт, в FAT32CHS 2 байта, а в FAT12 уже пошли под нож точки в сообщении "Error Loading OS..."
Мне кажется этот интерфейс так и не станет стандартом. Указатель на основную структуру передается в DS:SI (ES:DI - это для PnP; его вообще мало кто поддерживает). В начале структуры идет ложный описатель раздела в старом формате, в наличии которого в общем-то может быть смысл, когда запускается традиционный первичный загрузчик, который ничего не знает о GPT. Ну а далее идет описатель GPT-раздела, хотя конечно можно было передавать только номер начального сектора раздела, но тут сразу возникает вопрос о его разрядности. Вообще интерфейс "паршивый". Я не понимаю, почему не учитывается возможность случайного появления значения "!GPT" в eax. Нужно посмотреть, какой интерфейс используют другие GPT-загрузчики. Кстати а какой интерфейс используешь ты? Что касается твоих трудностей с отсутствием свободного места, то это в том числе связано и с универсальностью твоих первичных загрузчиков применительно к MBR/GPT. Я еще не решил, что буду использовать в GPT-загрузчике и буду ли делать первичные загрузчики универсальными. Может даже в первичных загрузчиках ограничусь только введением спец. поля типа HiddenSectors, но естественно большей разрядности, чем 32. Хотя какой-либо адекватный интерфейс GPT-загрузчик будет предоставлять в любом случае. Если у тебя не хватает места, я не знаю, как ты сможешь поддержать мой интерфейс. Там по-любому нужно проверять наличие расширенной загрузочной сигнатуры. Я как раз это совмещаю с кодом поддержки пропатчивания:
Код:
  cmp byte [7DFFh],88h
  je short @f
  mov dh,[partnumber] ; или просто mov dh,0
@@:
Даже если просто реагировать на отсутствие сигнатуры, как на ошибку, это будет занимать около 7 байт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 22:47 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1209
jarilo писал(а):
Цитата:
Красотой можно. Информативностью не стоит.

На крайний случай можно просто один восклицательный знак выводить "!" а в документации пояснить что это такое )).
У меня раньше даже в ядре использовались мнемонические двухбуквенные обозначения ошибок. Сейчас вообще буква (уже никак не связанная с "названием ошибки") и цифра.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 08 ноя 2012, 23:27 

Зарегистрирован: 18 окт 2012, 21:03
Сообщения: 54
phantom-84 писал(а):
У меня раньше даже в ядре использовались мнемонические двухбуквенные обозначения ошибок. Сейчас вообще буква (уже никак не связанная с "названием ошибки") и цифра.

Ну у мелкософт вообще одни коды ошибок, вразумительных объяснений очень редко кто дает, так дань ретро когда пытались что то пользователю пояснить а теперь не кто не пытается да и смысла нет нечего этот пользователь не поймет сколько не пиши об ошибке вот и идут одни коды )))
P.S. Я к стати когда впервый раз увидел такое большое сообщение был сильно удивлен и ностальгией прям так и потянуло. Было приятно конечно )) Но расточительно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 353 ]  На страницу Пред.  1 ... 18, 19, 20, 21, 22, 23, 24 ... 36  След.

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


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

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


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

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