• графическое лого

    From Yuri Kosivtsov@2:5021/29 to All on Thu Dec 26 20:51:20 2024
    Hi, All

    Если система грузится по UEFI, то при загрузке loader графическая
    консоль и графическое лого. Если загружаться в режиме традиционного
    BIOS (mbr), то меню loader текстовое и текстовое лого системы.
    Можно ли в настройке loader изменить режим на графический? Сколько
    не пытался не получается.
    После загрузки vidcontrol не работает, не дает ни менять режимы,
    ни шрифты грузить. Возможно в этом dell виноват.

    Bye

    ---
    * Origin:  YY (2:5021/29)
  • From Eugene Grosbein@2:5006/1 to Yuri Kosivtsov on Wed Jan 1 09:50:15 2025
    26 дек. 2024, четверг, в 20:51 NOVT, Yuri Kosivtsov написал(а):

    Если система грузится по UEFI, то при загрузке loader графическая
    консоль и графическое лого. Если загружаться в режиме традиционного
    BIOS (mbr), то меню loader текстовое и текстовое лого системы.
    Можно ли в настройке loader изменить режим на графический?

    В этот ранний этап загрузки в режиме BIOS по сути ещё нет
    операционной системы, а loader может пользоваться только сервисами BIOS.
    Размер кода самого loader ограничен примерно в 530 килобайт,
    если больше - ему для работы не хватает памяти в пределах 640KB.

    А ему нынче нужно уметь разбирать UFS2 и ZFS, дешифровать
    шифрованные тома, распаковывать на лету сжатые тома...

    Почитай man loader.conf про screen.textmode. Чтобы loader в режиме BIOS
    мог использовать фреймбуфер и отрисовывать графическое лого, в BIOS
    материнки должна быть поддержка VBE, VESA BIOS Extension. Hаличие такой поддержки в BIOS материнки - не факт.

    Eugene
    --
    Hаучить презирать мещанскую мудрость.
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Valentin Nechayev@2:463/68.300 to Eugene Grosbein on Mon Feb 3 19:34:12 2025
    Hi,

    Eugene Grosbein wrote:

    В этот ранний этап загрузки в режиме BIOS по сути ещё нет
    операционной системы, а loader может пользоваться только сервисами
    BIOS. Размер кода самого loader ограничен примерно в 530
    килобайт, если больше - ему для работы не хватает памяти в пределах
    640KB.

    loader грузится и работает уже в 32-битном защищённом режиме, переключение происходит ещё в BTX.
    Если у него и есть ограничение "конвенциональной" памятью, то чисто искусственное.


    -netch-

    ... Бойся данайцев, данайцы - ребята простые.

    ---
    * Origin: Dark side of coredump (2:463/68.300)
  • From Eugene Grosbein@2:5006/1 to Valentin Nechayev on Tue Feb 4 20:58:51 2025
    03 февр. 2025, понедельник, в 19:34 NOVT, Valentin Nechayev написал(а):

    В этот ранний этап загрузки в режиме BIOS по сути ещё нет
    операционной системы, а loader может пользоваться только сервисами
    BIOS. Размер кода самого loader ограничен примерно в 530
    килобайт, если больше - ему для работы не хватает памяти в пределах
    640KB.
    loader грузится и работает уже в 32-битном защищённом режиме, переключение происходит ещё в BTX.
    Если у него и есть ограничение "конвенциональной" памятью, то чисто искусственное.

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

    Eugene
    --
    Choose no life
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Valentin Nechayev@2:463/68.300 to Eugene Grosbein on Mon Feb 10 20:52:54 2025
    Hi,

    Eugene Grosbein wrote:

    loader грузится и работает уже в 32-битном защищённом режиме,
    переключение происходит ещё в BTX. Если у него и есть ограничение
    "конвенциональной" памятью, то чисто искусственное.

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

    Bounce buffers придумали не вчера.
    (Hет, я понимаю, что всё это надо писать. И что мне скажут "где твои патчи?")


    -netch-

    ... Программная система "Медуза". Переименования файлов нет.
    ... Удаления файлов нет. Заполнена NOPами.

    ---
    * Origin: Dark side of coredump (2:463/68.300)
  • From Eugene Grosbein@2:5006/1 to Valentin Nechayev on Thu Feb 13 06:12:43 2025
    10 февр. 2025, понедельник, в 20:52 NOVT, Valentin Nechayev написал(а):

    loader грузится и работает уже в 32-битном защищённом режиме,
    переключение происходит ещё в BTX. Если у него и есть ограничение
    "конвенциональной" памятью, то чисто искусственное.
    Я глубоко не изучал этот вопрос, но вероятно, что сервисы BIOS по
    чтению дисковых блоков ограничены нижней памятью, куда читать.
    Bounce buffers придумали не вчера.
    (Hет, я понимаю, что всё это надо писать. И что мне скажут "где твои патчи?")

    Мне кажется (опять же не изучал), что оно написано.
    Hо всё равно ограничения BIOS никуда не деваются.

    Eugene
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Oleg Artemjev@2:6078/80.1354 to Eugene Grosbein on Wed Feb 26 00:57:52 2025
    Привет, Eugene!

    13 фев 25 06:12, Eugene Grosbein -> Valentin Nechayev:
    loader грузится и работает уже в 32-битном защищённом режиме,
    переключение происходит ещё в BTX. Если у него и есть
    ограничение "конвенциональной" памятью, то чисто искусственное.
    Я глубоко не изучал этот вопрос, но вероятно, что сервисы BIOS
    по чтению дисковых блоков ограничены нижней памятью, куда
    читать.
    Bounce buffers придумали не вчера.
    (Hет, я понимаю, что всё это надо писать. И что мне скажут "где
    твои патчи?")
    Мне кажется (опять же не изучал), что оно написано.
    Hо всё равно ограничения BIOS никуда не деваются.
    Звиняйте что в ваш бсдшный мир с небольшим опытом работы лет 10 всего лишь с линупсами и разик другой фрю поставить, но всё же в protected mode на ограничения bios в адресации памяти можно и нужно чхать. Книжку по 286 протектед моду я ещё в школе читал. Потом 386й появился и он улучшен.
    То есть если в вашем понимании все собственные bounce буффера уже реализованы, то VN прав, а не Вы.

    С наилучшими пожеланиями, Oleg.

    --- -Уютно у вас, а только странно. И солнца мало.
    * Origin: А мы народ трудящийся... (2:6078/80.1354)
  • From Sergey Dorofeev@2:5020/12000 to Oleg Artemjev on Wed Mar 5 01:43:28 2025
    Hello Oleg,

    orig.message to echo RU.UNIX.BSD on 26 Feb 25 00:57:52
    Звиняйте что в ваш бсдшный мир с небольшим опытом работы лет 10 всего лишь с линупсами и разик другой фрю поставить, но всё же в protected mode на ограничения bios в адресации памяти можно и нужно чхать. Книжку по 286

    у так UEFI же есть, если ограничения BIOS не устраивают.

    Sergey

    ... vim
    --- PyFTN
    * Origin: fluid.fidoman.ru (2:5020/12000)
  • From Valentin Nechayev@2:463/68.300 to Sergey Dorofeev on Sat Mar 8 22:25:10 2025
    Hi,

    Sergey Dorofeev wrote:

    Звиняйте что в ваш бсдшный мир с небольшим опытом работы лет 10
    всего лишь с линупсами и разик другой фрю поставить, но всё же в
    protected mode на ограничения bios в адресации памяти можно и
    нужно чхать. Книжку по 286
    Hу так UEFI же есть, если ограничения BIOS не устраивают.

    Весь контекст обсуждения был для случая загрузки в том варианте, который сейчас гордо зовут "legacy", так что ваше замечание про UEFI немножко так не в тему.


    -netch-

    ... Бойся данайцев, данайцев сам Ленин боялся

    ---
    * Origin: Dark side of coredump (2:463/68.300)
  • From Sergey Dorofeev@2:5020/12000 to Valentin Nechayev on Sun Mar 9 21:48:38 2025
    Hello Valentin,

    orig.message to echo RU.UNIX.BSD on 08 Mar 25 22:25:10
    Звиняйте что в ваш бсдшный мир с небольшим опытом работы лет 10
    всего лишь с линупсами и разик другой фрю поставить, но всё же в
    protected mode на ограничения bios в адресации памяти можно и
    нужно чхать. Книжку по 286
    Hу так UEFI же есть, если ограничения BIOS не устраивают.
    Весь контекст обсуждения был для случая загрузки в том варианте, который сейчас гордо зовут "legacy", так что ваше замечание про UEFI немножко так не в тему.

    А где сейчас железо с этим "legacy" найти? BIOS-совместимая загрузка теперь в CSM...

    Sergey

    ... vim
    --- PyFTN
    * Origin: fluid.fidoman.ru (2:5020/12000)
  • From Eugene Grosbein@2:5006/1 to Sergey Dorofeev on Thu Mar 13 14:56:42 2025
    09 марта 2025, воскресенье, в 21:48 NOVT, Sergey Dorofeev написал(а):

    А где сейчас железо с этим "legacy" найти? BIOS-совместимая загрузка теперь в
    CSM...

    Так legacy-железо не испарилось внезапно, парк ранее установленного оборудования. Его полным-полно вполне рабочего, вот у меня есть
    HP ProLiant DL360 G5 с BIOS Release Date: 08/16/2015, двумя физическими
    Xeon E5420 2.5Ghz по 4 ядра каждое (без гипертрединга) и 64GB RAM FB-DIMM.

    Работает сервером мониторинга и крутит 230+ процессов, которые в основном
    спят, но периодически просыпаются, опрашивают 2500+ устройств по сети
    и засыпают обратно. По запросу рисует графики.

    last pid: 76149; load averages: 3,47, 3,56, 3,54 up 240+22:18:57 14:55:37 237 processes: 4 running, 233 sleeping
    CPU: 1,4% user, 15,1% nice, 17,6% system, 0,2% interrupt, 65,6% idle
    Mem: 1870M Active, 23G Inact, 3436M Laundry, 24G Wired, 1184M Buf, 8787M Free ARC: 21G Total, 12G MFU, 8110M MRU, 11M Anon, 217M Header, 112M Other
    18G Compressed, 26G Uncompressed, 1,41:1 Ratio
    Swap: 7168M Total, 7168M Free

    И что мне его, выкинуть?

    Eugene
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Sergey Dorofeev@2:5020/12000 to Eugene Grosbein on Thu Mar 13 15:02:47 2025
    Hello Eugene,

    orig.message to echo RU.UNIX.BSD on 13 Mar 25 14:56:42
    И что мне его, выкинуть?

    у так а ограничение BIOS, на которое надо "плевать", в чём состоит?

    Sergey

    ... vim
    --- PyFTN
    * Origin: fluid.fidoman.ru (2:5020/12000)
  • From Valentin Nechayev@2:463/68.300 to Sergey Dorofeev on Fri Mar 14 19:28:54 2025
    Hi,

    Sergey Dorofeev wrote:

    Hу так UEFI же есть, если ограничения BIOS не устраивают.
    Весь контекст обсуждения был для случая загрузки в том варианте,
    который сейчас гордо зовут "legacy", так что ваше замечание про
    UEFI немножко так не в тему.
    А где сейчас железо с этим "legacy" найти? BIOS-совместимая загрузка теперь в CSM...

    Да хоть Горшком Тяжёлой Мести назови.
    Главное, что оно делает. А оно грузит один стартовый сектор с диска, переключает процессор в реальный режим и передаёт управление загруженному, скармливая один параметр - BIOS id диска в регистре DL.

    Дальше: boot0 (если есть) выбирает слайс и грузит boot1; boot1 грузит boot2+BTX; BTX переключает в защищённый режим, boot2 читает UFS и с него по умолчанию грузит /boot/loader, запуская его в том же защищённом режиме. (Варианты загрузки с ZFS, сети и пр. тут не рассматриваю.)

    Hо на этом этапе ещё нет драйверов, и поэтому каждый блок с диска грузится через BIOS вызовы, для которых идёт переключение в реальный режим, выполнение вызова и переключение обратно в защищённый режим, где BTX loader грузит boot loader.

    И вот у этих BIOS вызовов ограничение адреса буфера первым мегабайтом. Отсюда возникает два варианта:
    1) Если надо в итоге разместить где-то за пределами первого мегабайта (нам доступно 4GB адресного пространства), BIOS вызову передаём буфер, из которого по возвращению из вызова копируем куда нам нужно. Это и называется bounce buffer.
    2) Складываем лапки и говорим, что за пределы первого мегабайта не можем загрузить boot loader.

    С учётом того, что boot loader сам, пользуясь теми же самыми BIOS вызовами через тот же шлюз с теми же ограничениями, должен загрузить уже полное ядро с заданными модулями, а это точно не влазит в первый мегабайт (я вижу 29MB только на основной файл) - то метод с буферами уже есть и используется. А вот почему сам boot loader не грузят через этот метод - это и есть то, из чего возникла вся эта ветка обсуждения.


    -netch-

    ... Кто здесь?????

    ---
    * Origin: Dark side of coredump (2:463/68.300)
  • From Sergey Dorofeev@2:5020/12000 to Valentin Nechayev on Sat Mar 15 02:08:53 2025
    Hello Valentin,

    orig.message to echo RU.UNIX.BSD on 14 Mar 25 19:28:54
    Hо на этом этапе ещё нет драйверов, и поэтому каждый блок с диска грузится через BIOS вызовы, для которых идёт переключение в реальный режим, выполнение вызова и переключение обратно в защищённый режим, где BTX loader грузит boot loader.

    А оно не запускает BIOS в режиме VM86? XMS-style доступ весьма тормознутый, насколько помню там через контроллер клавиатуры процессору RESET надо делать.

    С учётом того, что boot loader сам, пользуясь теми же самыми BIOS вызовами через тот же шлюз с теми же ограничениями, должен загрузить уже полное ядро с заданными модулями, а это точно не влазит в первый мегабайт (я вижу 29MB только на основной файл) - то метод с буферами уже есть и используется. А вот почему сам boot loader не грузят через этот метод - это и есть то, из чего возникла вся эта ветка обсуждения.

    А ради чего вообще вопрос возник? Лоадер-то вполне помещается в 640К, так что это были бы просто ненужные действия. у а если хочется графику, шрифты и картинки вполне можно аккуратно в лоадер добавить, прослойка в виде чего-то типа fbdev терминала (текстовый вариант ведь полюбасу нужен, терминал может быть на ком-порту), если конечно нет задачи сделать фон в виде пейзажа с 4К и менюшку с шейдерами.

    Sergey

    ... vim
    --- PyFTN
    * Origin: fluid.fidoman.ru (2:5020/12000)
  • From Alex Korchmar@2:5020/400 to Eugene Grosbein on Sat Mar 15 09:48:07 2025
    From: Alex Korchmar <noreply@linux.e-moe.ru>

    Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:

    Так legacy-железо не испарилось внезапно, парк ранее установленного оборудования. Его полным-полно вполне рабочего, вот у меня есть
    HP ProLiant DL360 G5 с BIOS Release Date: 08/16/2015, двумя физическими
    интересное легаси - даже если предположить что Release date лет на пять помоложе самого ящика. В 2015м как раз спер я из под сдохшего лабораторного оборудования хпешный десктоп. Hадо думать, выпущенный "немного" раньше.
    (от обычного дешевого офисного десктопа отличался только платой serial-портов воткнутой в разъемы и лишними дырками в корпусе)

    Так вот, сюрпрайз, несколько меня удививший: в нем не то что "бивисов"
    никаких не оказалось - в нем и csm модуля тоже не было уже.

    Подозреваю, в твоем proliant тоже надпись "bios" только дань традиции, не писать же "server firmware release", деревня, не поймут-с.
    И грузится он либо uefi, либо csm.

    И что мне его, выкинуть?
    ну uefi загрузку уже пора протестировать. А то, не ровен час, очередной
    апгрейд закончится фейлом.


    Alex

    --- ifmail v.2.15dev5.4
    * Origin: Demos online service (2:5020/400)
  • From Valentin Nechayev@2:463/68.300 to Sergey Dorofeev on Sat Mar 15 08:44:46 2025
    Hi,

    Sergey Dorofeev wrote:

    Hо на этом этапе ещё нет драйверов, и поэтому каждый блок с диска
    грузится через BIOS вызовы, для которых идёт переключение в
    реальный режим, выполнение вызова и переключение обратно в
    защищённый режим, где BTX loader грузит boot loader.
    А оно не запускает BIOS в режиме VM86?

    Hет.

    https://github.com/freebsd/freebsd-src/blob/releng/14.2/stand/i386/btx/btx/btx. S#L570

    Явный сброс protected в ноль.

    Причина, насколько я знаю - BIOS сам может для обработки вызова включать свой protected mode (чем более поздние, тем вероятнее), где, например, драйвера всякого NVMe, и ему надо это позволить.

    (Указанный код, что интересно, рассчитан на возможность вызова _из_ VM86 mode. Hо обработчик всё равно вызывается в реальном режиме.)

    XMS-style доступ весьма
    тормознутый, насколько помню там через контроллер клавиатуры
    процессору RESET надо делать.

    Это вы с прямым углом перепутали. Reset через контроллер клавиатуры был нужен для 80286, который нельзя было иначе вывести из защищённого режима. В 386 это делается просто сбросом бита 0 в CR0 (ну и, разумеется, при предварительной подготовке типа активного 16-битного кодового сегмента). А так как система сейчас требует не меньше чем 486-й, этот трюк она не использует.

    "XMS-style доступ" в пределах первого мегабайта не нужен.

    А ради чего вообще вопрос возник? Лоадер-то вполне помещается в 640К,
    так что это были бы просто ненужные действия. Hу а если хочется
    графику, шрифты и картинки вполне можно аккуратно в лоадер добавить, прослойка в виде чего-то типа fbdev терминала (текстовый вариант ведь полюбасу нужен, терминал может быть на ком-порту), если конечно нет
    задачи сделать фон в виде пейзажа с 4К и менюшку с шейдерами.

    Так а данные самой картинки кто куда будет грузить? Дискуссия была именно об этом. Если /boot/loader ограничен первым мегабайтом (соответственно 640K реальной памяти), то места для неё может и не быть.

    По факту, как уже сказал, он не ограничен - ядро-то он ведь грузит. Hо на каком этапе и как это сделано - я не знаю, нет достаточного времени и настроения это копать.


    -netch-

    ... Полная дизассемблятина.

    ---
    * Origin: Dark side of coredump (2:463/68.300)
  • From Sergey Dorofeev@2:5020/12000 to Alex Korchmar on Sat Mar 15 13:56:41 2025
    Hello Alex,

    orig.message to echo RU.UNIX.BSD on 15 Mar 25 09:48:07
    Так legacy-железо не испарилось внезапно, парк ранее установленного
    оборудования. Его полным-полно вполне рабочего, вот у меня есть
    HP ProLiant DL360 G5 с BIOS Release Date: 08/16/2015, двумя физическими
    интересное легаси - даже если предположить что Release date лет на пять помоложе самого ящика. В 2015м как раз спер я из под сдохшего

    Первые прошивки под G5 - это 2006 год. Тогда UEFI только появился.
    В Dell образца где-то 2011 года UEFI есть, но сделан так, что проще им не пользоваться.

    лабораторного оборудования хпешный десктоп. Hадо думать, выпущенный "немного" раньше. (от обычного дешевого офисного десктопа отличался только платой serial-портов воткнутой в разъемы и лишними дырками в корпусе)
    Так вот, сюрпрайз, несколько меня удививший: в нем не то что "бивисов" никаких не оказалось - в нем и csm модуля тоже не было уже.

    Возможно тут ключевое слово "от лабораторного оборудования". В тех же z200/8200 никаких проблем с BIOS загрузкой не помню. Да и как иначе, если оно под Windows 7 тогда всё затачивалось.

    И что мне его, выкинуть?
    ну uefi загрузку уже пора протестировать. А то, не ровен час, очередной апгрейд закончится фейлом.

    Кстати на некоторых мамках года 2011-2012 в режиме uefi тот же дебиан ставится но не грузится - загрузчик хочет строго bootx64.efi, а путь который пытается вписать в него grub никуда не вписывается.

    Sergey

    ... vim
    --- PyFTN
    * Origin: fluid.fidoman.ru (2:5020/12000)
  • From Sergey Dorofeev@2:5020/12000 to Valentin Nechayev on Sat Mar 15 14:17:23 2025
    Hello Valentin,

    orig.message to echo RU.UNIX.BSD on 15 Mar 25 08:44:46
    Это вы с прямым углом перепутали. Reset через контроллер клавиатуры был нужен для 80286, который нельзя было иначе вывести из защищённого режима. В 386 это делается просто сбросом бита 0 в CR0 (ну и, разумеется, при предварительной подготовке типа активного 16-битного кодового сегмента). А так как система сейчас требует не меньше чем 486-й, этот трюк она не использует.

    Точно, с тех времён в памяти отложилось относительно 286.

    Так а данные самой картинки кто куда будет грузить? Дискуссия была именно об этом. Если /boot/loader ограничен первым мегабайтом (соответственно 640K реальной памяти), то места для неё может и не быть.

    VESA BIOS даёт информацию об OffScreen Memory - может быть туда? Через него же и с видеокартой работать, чтоб свой видеодрайвер не монстрячить.

    Sergey

    ... vim
    --- PyFTN
    * Origin: fluid.fidoman.ru (2:5020/12000)
  • From Eugene Grosbein@2:5006/1 to Alex Korchmar on Sun Mar 16 18:30:05 2025
    15 марта 2025, суббота, в 09:48 NOVT, Alex Korchmar написал(а):

    Так legacy-железо не испарилось внезапно, парк ранее установленного
    оборудования. Его полным-полно вполне рабочего, вот у меня есть
    HP ProLiant DL360 G5 с BIOS Release Date: 08/16/2015, двумя физическими
    интересное легаси - даже если предположить что Release date лет на пять помоложе самого ящика.

    В 2009-м, когда я пришел в контору, железка уже работала в ней,
    под FreeBSD 7 тогда.

    И что мне его, выкинуть?
    ну uefi загрузку уже пора протестировать. А то, не ровен час, очередной апгрейд закончится фейлом.

    Я не апгрейжу бутблоки для загрузки с одногигабайтного раздела UFS2
    в начале аппаратного зеркала. Да, в системе есть ZFS, но не загрузочная.

    Eugene
    --
    Все любят естественный наркотик
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)