выбор вариантов загрузки

Kernel boot-loaders discussion
  • Похоже, обсуждение сохранения параметров будет производиться в теме "Загрузка с HD"
    http://meos.sysbin.com/viewtopic.php?t=335
  • Можно ли сделать поддержку конфиг файла для синего экрана? Если конфиг файл есть - то синий экран не показывается, а Колибри грузится сразу с теми параметрами, которые в конфиге. Если конфиг не найден, то работает как сегодня - синий экран показывается с таймером 5 секунд. Это нужно для потенциальных клиентов Embedded, которые хотят, чтобы грузилось как можно скорее, и разрешение / способ работы с БИОС установить 1 раз и всё.

    И если можно, то кто может это сделать, и что он за это хочет? :roll: Сразу говорю - "изменить 5 секунд на 0 и перекомпилировать ядро" мне не предлагайте, потому что эффект, требуемый заказчиком, достигнут не будет.
  • Можно.
    Колибри-А грузится без синего меню - я оставил синий экран только для вывода информации, но там все равно ничего невозможно разглядеть, даже полкадра не успевает нарисоваться, так что лучше вообще без него.

    Кстати, во время загрузки системы вместо маленьких буковок на черном фоне клиент может получить красивую графическую заставку.
    Last edited by art_zh on Thu May 26, 2011 1:00 pm, edited 1 time in total.
  • art_zh wrote:Можно.
    Колибри-А грузится без синего меню - я оставил синий экран только для вывода информации, но там все равно ничего невозможно разглядеть, даже полкадра не успевает нарисоваться, так что лучше вообще без него.
    Да, но идея такова, чтобы заказчик мог редактировать конфиг файл внутри "kolibri.img" без перекомпиляции чего-либо, а в твоём случае всё жёстко зашито в коде, разве не так?
  • Не все, и не жестко.
    Дефолтные загрузочные параметры сохраняются в бутсекторе. Никакого конфиг-файла не нужно, достаточно загрузиться с обычным ядром, а потом поменять kernel.mnt на новый, без синего экрана.
  • art_zh wrote:Не все, и не жестко.
    Дефолтные загрузочные параметры сохраняются в бутсекторе. Никакого конфиг-файла не нужно, достаточно загрузиться с обычным ядром, а потом поменять kernel.mnt на новый, без синего экрана.
    Мы сейчас говорим о конечном пользователе, который согласен заплатить деньги, чтобы система работала, как он хочет, и не согласен использовать систему бесплатно так, как хочешь ты :lol:
  • мне б таких клиентов :(
  • art_zh wrote:мне б таких клиентов :(
    Так ты не понял: деньги получишь ты (если сделаешь, что нужно). А я только переводчик с армянского иврита на русский.
    Мой интерес в продаже ему железа, которое поддерживает его проект на Колибри.
  • Собственно вопрос решается двумя способами.

    Способ №1
    1. Загрузчик кроме ядра загружает еще и файл конфигурации.
    2. Ядро содержит код парсера разбирающего файл с параметрами.
    Это если идти правильным путем, который чуть подольше и чуть посложней.

    Способ №2
    Есть более простой путь - программа которая патчит загрузочное ядро и сохраняет рамдиск. Способ не универсальный и плохо поддающийся дальнейшей модернизации без переписывания кода программы.


    Я бы вероятно взялся за первый вариант, но к сожалению все еще загрузка по основной работе большая - вечером прихожу, ем, смотрю кино и ложусь спать, и работаю почти без выходных.
  • Mario wrote:к сожалению все еще загрузка по основной работе большая - вечером прихожу, ем, смотрю кино и ложусь спать, и работаю почти без выходных.
    У меня абсолютно то же самое :oops: :roll:
  • Mario wrote:Способ №1
    1. Загрузчик кроме ядра загружает еще и файл конфигурации.
    2. Ядро содержит код парсера разбирающего файл с параметрами.
    Это если идти правильным путем, который чуть подольше и чуть посложней.
    Так и надо.

    Слегка поковырялся в бутовом коде. Там можно кое-что ужать, если заменить громоздкие вычисления константами. Удалось освободить 135 байт - должно хватить для загрузки еще одного файла на фиксированный адрес.

    А если повезет - то и загрузчик графического логотипа тоже удастся загрузить.
    Last edited by art_zh on Fri May 27, 2011 9:47 am, edited 1 time in total.
  • Mario wrote:Выделена тема телепатический мыслеуловитель
    Удаляй, не нужно кривых жестов.
    Альтернативы всегда существуют, только не все их хотят. Худо когда все не хотят.
  • Давно хотел такую штуку. Если в загрузчике освободится для этого достаточно места - отлично. Если нет - есть другая идейка:
    В корне диска (где и ядро) лежит пустой конфигурационный файл. Пустой (или не пустой - это неважно). Но по его расширению его можно опознать. Если файла нет - показываем синий экран. Если файл присутствует на диске - разбираем его имя. В первые 2-6 символов можно закодировать все разрешения экранов (меньше символов - сложнее исходник декодера, может не вместиться в доступный объём). Оставшиеся 6-2 символа - на другие настройки. Главный недостаток метода - если на диске может находиться несколько "конфигурационных" файлов, то загрузчик скорее всего будет обрабатывать первый нашедший, но пользователь может запутаться ("редактирую-редактирую, а загружается не с теми параметрами"). Другой недостаток - скорее всего возрастёт (не могу оценить на сколько, надеюсь на десятые доли секунды) время загрузки. Но это зависит от реализации.
  • Mario wrote:Способ №1
    1. Загрузчик кроме ядра загружает еще и файл конфигурации.
    2. Ядро содержит код парсера разбирающего файл с параметрами.
    Это если идти правильным путем, который чуть подольше и чуть посложней.
    Не будет ли лучше добавить код парсера в загрузчик, а ядру передавать указатель на таблицу параметров или ноль? Тогда некоторые из опций могут относиться к загрузчику (таймаут и проч. вплоть до цветов), остальные к ядру. Да и, на мой взгляд, не ядерное это дело конфиги парсить.

    p.s. - тоже на правах флуда, ибо сессия
  • Who is online

    Users browsing this forum: No registered users and 3 guests