Page 2 of 6

Posted: Sat Dec 03, 2005 8:46 pm
by camper
1) VaStaNi абсолютно прав. А не мог ли ты поподробнее расссказать с экспериментами по загрузки с CF?

2) diamond, я начал играться, первый результат: "Не удается синхронизировать переменные среды в реестре Windows c переменными среды в старых файлах AUTOEXEC.BAT и/или CONFIG.SYS "

Posted: Sun Dec 04, 2005 10:49 am
by halyavin
Vastani
На мобильных устройствах либо не x86 совместимый процессор, либо нет винды, для которой этот загрузчик предназначается.

Posted: Sun Dec 04, 2005 2:32 pm
by Mario79
halyavin
Ты не понял его слова ключевой момент это "FLASH диск с IDE стыком" речь идет о всяких ноутах, где нету винчестера.
Например, несколькими международными организациями уже разработан стандарт компьютера для нищих стран (не Россия).
Стоимость не более 100 баксов, CPU 500 МГц, экран 8 дюймов, вместо жесткого диска флеш накопитель на 512-1 Гб, операционные системы само собой которые под GPL.
Для такого компа Колибри будет как раз. :-)

Posted: Sun Dec 04, 2005 4:06 pm
by camper
http://r-technology.ru/compactflash.html
Вот такая штучка, но 33 бакса это много, я где-то видел за 15$. Оно должно работать как обычный винт. CF - сейчас во всяких евросетях за 200-400 руб 128 мб.

Posted: Mon Dec 05, 2005 10:41 am
by diamond
Да, с WinME серьезные проблемы, в наиближайшем будущем они, скорее всего, не будут разрешены. Хотя, возможно, в недалеком будущем будет другой путь.
Исправлен некоторый баг, добавлена поддержка сохранения параметров (подробности сохранения параметров halyavin сообщит отдельно).
Качать оттуда же.

Posted: Mon Dec 05, 2005 11:19 am
by halyavin
Скрин нового экрана загрузки можно увидеть здесь http://shade.msu.ru/~msu-se/temp/bootscr.gif
Для работы сохранения настроек нужен новый загрузчик с дискеты. (при старом загрузчике сохранить параметры просто не предложат)
По-моему стоит добавить такую фичу и перейти к этому варианту загрузочного экрана. Но хотелось бы узнать что думают остальные. Желающие потестить фичу в живую могут скачать образ дискеты http://shade.msu.ru/~msu-se/temp/newboot.7z

Posted: Mon Dec 05, 2005 12:11 pm
by camper
А настройки сохраняются в последующем? И где они хранятся? В каком нибудь конфиге? Меня уже [abcd] несколько смущает :)

Posted: Mon Dec 05, 2005 12:35 pm
by NoName
Помойму выглядет намного лучше и функциональней.

Posted: Mon Dec 05, 2005 5:23 pm
by diamond
Настройки сохраняются прямо в kernel.mnt. А что такого в [abcd]?

Posted: Mon Dec 05, 2005 5:29 pm
by diamond
Что характерно, на мой конкретный вопрос, стоит ли FAT16 на винте и если стоит, то какая операционная система, конкретного ответа я так и не получил...
По поводу замечания про всякие Flash-диски: не забывайте, что mtldr предназначена для запуска из-под существующей операционной системы (Win 95/98/NT/2k/XP/DOS(?)), а это совершенно не то же самое, что запуск с "чистого" винта/раздела/флэшки. Так, mtldr не модифицирует и вообще никак не трогает bootsector. (Это не нужно).

Posted: Mon Dec 05, 2005 5:47 pm
by Иван Поддубный
Загрузочные настройки сохранять хорошо, но в kernel.mnt... а что, если в новой версии ядра установки будут храниться по другому адресу? Менять при каждом новом ядре загрузчик?

У Вилле в M64 настройки хранятся в config.mnt, который грузится там же, где и kernel.mnt - в bootloader'е. И мне кажется, что такой подход лучше.

Posted: Mon Dec 05, 2005 7:01 pm
by Mario79
diamond
1) У меня стоит 98SE на Fat32, а вопрос о Fat16 идет как резерв. Нежелательно заранее ограничивать возможности загрузчика. Лучше иметь все. Впрочем, решать тебе ты же автор.
2) А кто нам мешает впихнуть в загрузочный сектор микрокод, который запустит твой загрузчик?

Иван Поддубный
Такой подход лучше и мы, кажется, такие идеи уже обсуждали. Даже хотели сделать, чтобы был счетчик - если никакая кнопка не нажимается, то ядро грузиться с предустановленными параметрами, а если нажимается то предлагается ввести параметры.

Posted: Mon Dec 05, 2005 7:21 pm
by diamond
1) Все preboot-параметры хранятся в первом секторе kernel.mnt. От версии ядра ничего не зависит - загрузчик просто записывает назад первый сектор.
2) Собственно говоря, загрузчик при желании может сохранять вышеупомянутый первый сектор или конкретные данные из этого сектора куда угодно - было бы свободное пространство для кода в загрузчике и желание автора. Подход как в пункте 1) сделан для простоты модификации существующего загрузчика.
3) Легко добавить (расширив интерфейс загрузчика) поддержку считывания/записи параметров с адреса, предоставляемого загрузчиком. Было бы желание и, опять же, свободное пространство для кода в загрузчике и желание автора.

Posted: Mon Dec 05, 2005 7:33 pm
by diamond
При разработке загрузчика с какого бы то ни было устройства хранения данных возможны две задачи:
1) С этого устройства никакая операционная система не загружается. (Как вариант, нам не жалко операционной системы, загружающейся оттуда).
2) С этого устройства уже худо-бедно загружается какая-нибудь ОС и после наших вмешательств она должна по-прежнему худо-бедно загружаться.
mtldr работает в условиях задачи 2) при наличии Windows (кроме Me) и/или (возможно) DOS.
Нетрудно добавить к mtldr'у код, позволяющий загрузку напрямую из bootsector'а (mtldr'у главное - получить управление, никаких средств ОС он не требует). Вопрос в том, что если мы собрались решать задачу 1 и писать bootsector, мы уже знаем тип файловой системы, так что универсальность нам не нужна, а универсальность в данном случае оборачивается раздуванием кода (разбор FAT12 можно целиком запихнуть в bootsector, а mtldr формально занимает 10h секторов (это требование NT-загрузчика), хотя реально занято там меньше половины.)

Posted: Mon Dec 05, 2005 7:37 pm
by Иван Поддубный
diamond
Еще как зависит от версии ядра расположение preboot-параметров. Возможно, оно не менялось уже несколько месяцев, но это не значит, что в следующем дистрибутиве смещение этих параметров в файле kernel.mnt не изменится.