RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > > > Странная хотелка. Опция умолчания вроде и так фиксированый пункт в меню грузит, никак не зависящий от предыдущего выбраного. А если QSINIT и имя ядра вводилось напрямую, так и от него тоже, наверное. > > > > > > > > Это моя хотелка. Ну неуправляемый сервер. Нету там консоли. Есть удаленное управление, которое не стартует, если ядро не грузится. Есть возможность передернуть питание. > > > > Эта фича позволит загрузить тестовое ядро, а если оно не стартует, то только ресетом или питанием можно решить проблему вернувшись к тому ядру, что грузилось успешно. > > > Т.е. ты хочешь создать некий файл, пока старое ядро работает, а потом при следующей загрузке согласно этого файла загрузить не дефолт? Не, не получится это на один раз. Нету в microFSD записи на диск, поэтому ничего лодырь изменить не может. Так и будет грузиться с одного и того же. В твоём случае удобно тестироваться через сетевую загрузку ядра. Она по определению временная. Но нужна сетевая карта с поддержкой PXE. И драйверы так напрямую пока не протестируешь. Их придётся как-то по именам разводить и конфиги отдельные писать. В общем-то ничего страшного, но движения потребуются. > > > > Предлагаю костыльное решение. Два параметра в OS2LDR.INI, в строке описания тестируемого ядра: STABLE=n (n -- номер в списке os2ldr.ini стабильного ядра) и TEST_TTL=XXXX (xxxx -- количество секунд, после которых, в случае неудачи, грузанётся стэйбл, при отсутствии данного параметра стэйбл грузится автоматом -- защита от дурака) Алгоритм следующий: Перед первым запуском тестового ядра прописываем параметры в инишник. Во время загрузки лодырь, обнаружив оба данных параметра, ищет файл TEST.$$$, (который надо создать перед тестированием нового ядра, в корне или OS2BOOT) читает его и если находит внутри "ОК" загружает ядро. Если "OK" не обнаружен, лодырь смотрит на время создания файла и сравнивает с TEST_TTL если время жизни попыток запуска тестового ядра ещё не истекло, лодырь снова пробует его запустить. Как только количество секунд в TEST_TTL истекает, а "ОК" так и не был обнаружен, попытки прекращаются и грузится ядро из параметра STABLE. Если не обнаружен сам файл TEST.$$$, опять включается защита от дурака и грузится стэйбл. Написание "ОК" логично доверить startup.cmd ибо ядро может и загрузится, а вот, например, сеть(наличие которой из стартапа проверить -- как два байта переслать) может и не подняться. Костыль конечно, но лучшего ИМХО придумать сложно при вышеописанных ограничениях. > Хотя, я тут подумал... Ну вообщем принцип тот-же, но STABLE и TEST_TTL лучше перенести в секцию глобальных параметров, а в строке описания тестируемого ядра достаточно параметра TEST, но тогда такой параметр должен быть один. Если их будет несколько, в разных строках, то загружаться будет первый найденный. ИМХО это более правильно и сократит вредное действие человеческого фактора. ;))) >
_, _, _, _, _ _, _,_
(_ | / \ |\ | / \ |_/
, ) | , \ / | \| \ / | \
~ ~~~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.