LINUX.ORG.RU

Ответ на: комментарий от firkax

красоту апи

находясь в 16-битном режиме

512 байт и не больше

Дивная чушь.

anonymous
()
Ответ на: комментарий от anonymous

Это так везде(для венды)

Справедливости ради, это не ограничение самой винды, а ограничение установщика. Если установить винду на MBR в режиме CSM, то потом можно будет ручками добавить ESP-раздел в FAT32, через командную строку установить туда EFI-загрузчик винды, после чего отключить CSM и винда будет грузиться в UEFI-режиме. Но так не будет скрытого recovery-раздела, который был бы при установке на GPT, и вот его уже никакой консольной магией не добавить.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от anonymous

в венде для resizable bar требуется отключение csm, и gpt загрузка заодно.

Виндопроблемы же. Причём тут видеокарта и MBR? Просто больные фантазии Microsoft.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от firkax

Я тебе про красоту апи

Красоту int 10h и int 13h? Месье понимает толк в извращениях.

Что там дальше происходит - не важно

не ограничен никакими спецификациями

Вот как раз «что там дальше» и определяет ограничения и спецификации. Так что это ещё как важно. Как раз совершенно неважно, что там в первых 446 байтах происходит, всё равно там всё понятно — так или иначе передать управление настоящему загрузчику, больше ни на что места нет.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от firkax

Я тебе про красоту апи а ты мне про бытовые свойства.

Да там полный ужас с которым я так и не разобрался. А под UEFI писал приложения, в том числе графические на Обероне со сборщиком мусора.

X512 ★★★★★
()
Ответ на: комментарий от X512

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

anonymous
()
Ответ на: комментарий от anonymous

Ну тогда идите на поводу у больной фантазии Microsoft и страдайте. Может быть можно в виртуальной машине запустить с пробросом видеокарты.

X512 ★★★★★
()
Ответ на: комментарий от X512

в виртуальной машине

Костыль, оверхед. Просто везде делаешь gpt и горя не знаешь.

anonymous
()
Ответ на: комментарий от gremlin_the_red

Красоту int 10h и int 13h? Месье понимает толк в извращениях.

Они тут ни при чём, это обращения к системной библиотеке функций.

что там в первых 446 байтах происходит

Не 446 байтах, а 510. Ограничены только последние два - там сигнатура.

Вот как раз «что там дальше» и определяет ограничения и спецификации.

В том то и дело, что их нет. Ты можешь писать туда абсолютно любой код, по своему желанию. Да, ты можешь захотеть поставить туда линукс и тогда придётся делать там поддерживаемую линуксом таблицу разделов и файловую систему, но можешь и не хотеть.

firkax ★★★★★
()
Ответ на: комментарий от X512

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

firkax ★★★★★
()
Ответ на: комментарий от firkax

Ты можешь писать туда абсолютно любой код, по своему желанию.

Современные ЯП уже давно толком не поддерживают 16 битный x86, так что приходится страдать и писать на ассемблере. Это огромный недостаток. Из компиляторов доступен разве что Watcom C.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от firkax

Зачем мне разбираться с древним 16 битным ассемблером x86, если под UEFI можно писать почти на любом высокоуровневом компилируемом ЯП? Да ещё и впихивать это в 512 байт? Я же не демосцену собираюсь писать.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 2)
Ответ на: комментарий от firkax

Они тут ни при чём, это обращения к системной библиотеке функций

А как ты собрался загрузчик читать и об ошибках сообщать? Запихивать видеодрайвер и драйвер дисковода|харда в 510 байт? Только через прерывания биоса.

Не 446 байтах, а 510

А, всё своё с нуля. Удачи в reinventing the wheel. Только при чём здесь какое-то апи и какая-то красота?

gremlin_the_red ★★★★★
()
Ответ на: комментарий от X512

Зачем мне разбираться с древним 16 битным ассемблером x86

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

под UEFI можно писать почти на любом высокоуровневом компилируемом ЯП?

Операционная система, поддерживает FAT и позволяет запускать проги, написанные на языке высокого уровня. Кажется, я такую уже видел. Вобщем-то нет ничего плохого в том, что в материнку прошита какая-то дефолтная ОС, но я не пойму зачем на неё молиться. Если у меня есть своя ОС, записанная на жёсткий диск, то ОС из прошивки мне не нужна, это просто лишняя сущность. Вот смотри: https://packages.debian.org/search?keywords=loadlin Оно существует с древних времён - сначала запускаем DOS, потом из файла в его файловой системе грузим Linux. Можно кастомизировать процесс загрузки всякими скриптами в формате .bat. Можно сделать дуалбут в винду (95 или 98), запуская win.com вместо loadlin. Только вот от этой схемы по факту отказались - вместо loadlin сделали LILO и GRUB, вместо win.com - ntldr, все они работают в чистом контексте. И тут опять кто-то придумал всунуть перед ними промежуточную ОС-загрузчик. Зачем?

firkax ★★★★★
()
Ответ на: комментарий от firkax

И тут опять кто-то придумал всунуть перед ними промежуточную ОС-загрузчик. Зачем?

Чтобы не страдать с древними технологиями вроде 16 битного сегментного кода, по которому уже мало специалистов. UEFI почти полностью написан на C/C++, ассемблера там не много.

Ещё UEFI кроссплатформенный, он работает на ARM и RISC-V.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от gremlin_the_red

А как ты собрался загрузчик читать и об ошибках сообщать?

Я про то, что это другое апи. Есть апи для запуска ОС из биоса - прочесть бутсектор. А там апи для обращения к биосу из ОС. Они конечно оба нужные, но не особо друг от друга зависят.

А, всё своё с нуля. Удачи в reinventing the wheel. Только при чём здесь какое-то апи и какая-то красота?

Красота тут при том, что апи максимально простое. Да, указанное апи позволяет сделать «всё своё с нуля». А EFI - нет, ты вынужден создавать на диске какие-то структуры по чужим спецификациям. Не то что бы я постоянно занимался написанием своих бутсекторов (хотя один из моих досов обёрнут как раз в такое без таблицы разделов, с эмулятором int 13h для виртуального диска где она уже есть), но плохо, когда отнимают свободу выбора.

firkax ★★★★★
()
Ответ на: комментарий от X512

Чтобы не страдать с древними технологиями вроде 16 битного сегментного кода, по которому уже мало специалистов. UEFI почти полностью написан на C/C++, ассемблера там не много.

Чтобы не использовать 16-битный код, надо сделать 32-битный. А тема «маленький лоадер или промежуточная ОС» - это другое, она с битностью не связана. 32-битный бутсектор конечно чуть сложнее 16-битного, но всё так же возможен.

Ещё UEFI кроссплатформенный, он работает на ARM и RISC-V.

Это всё полезно для роли ОС, а лоадеру и драйверам плаформенно-специфичного железа это нафиг не сдалось.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от X512

А под UEFI писал приложения, в том числе графические на Обероне со сборщиком мусора.

Ерунда. Приходи, когда js + электрон запустить можно будет.

LamerOk ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

ДА. Линуксы нагло узурпируют власть в компьютере, подсовывая свой GRUB если специально не выбрать установку загрузчика на PBR или UEFI. Даже Windows так не делает.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

Гыгыгы, вы чё все. В уствновщике дебиана в самом конце БОЛЬШИМИ БУКВАМИ говорият установить GRUB? А вы увереныы? Тооочнаааа! А кудааа установиииить ааааааСЬЬЬЬ?! В конечном счёте можно вообще никаких загрузчиков не устанавливать.

Я слишком тонко пошутил видимо….

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

у автора пока что не хватает опыта, чтобы настроить dual-boot без grub’a (я имею ввиду закинуть в bcedit PBR от linux)

anonymous
()
Ответ на: комментарий от anonymous

в котором венда

А, ну вендоюзеры должны страдать.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от andytux

Из того, что приходилось самому держать в руках, Acer и врагу не посоветовал-бы.

Ну в сравнении с остальными у них не так уж плохо получается. Особенно на фоне ASUS.

mord0d ★★★★★
()
Ответ на: комментарий от firkax

Чем не кампуктер?

Тем что он не позиционируется как развитие IBM PC линейки.

Ну тогда и x86_64 можно не считать, и набирающий популярность ARM…

Не надо пытаться натянуть сову на глобус.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Обычный x86_32 компьютер это преемник x86_16 (IBM PC/AT) («drop-in replacement»). Обычный x86_64 это преемник x86_32. Планшет - самостоятельное устройство. ARM в формате PC очень редко встречается насколько я знаю (сам не видел), но в целом это тоже самостоятельное устройство.

firkax ★★★★★
()
Ответ на: комментарий от firkax

целом это тоже самостоятельное устройство

Вот прикрутят к ARM SystemReady SR ещё PCI Express, чем это вообще будет отличаться? Тот же uefi, тот же acpi, тот же smbios, та же pcie. Под линуксом вообще разницы видно не будет.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Всё дело в преемственности. Вот у тебя есть старый комп, потом ты купил новый и продолжаешь всё делать как раньше (только быстрее), не вдаваясь в детали - пользуешься той же ОС, тем же софтом (НЕ ищешь замены для другой архитектуры а просто переткнул диск, либо поставил с того же носителя), у него тоже есть привычные клавиатура, монитор, мышь (ну, у ноутов тачпад не совсем мышь, но оно интуитивно понятно, да и обычную мышь подключить тоже можно).

Спустя какое-то время можешь ознакомиться с новыми его фичами, которых не было в старом (так, 32-битный 80386 очень долго использовали просто как быстрый 80286, даже 32-битностью по факту не пользуясь, аналогично с 64-битными процами на которые поначалу ставили 32-юитные ОС, да и сейчас ставят, а можно и 16-битную поставить до сих пор).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

это легаси говно должно сдохнуть, для ос оставить только x86_64 и uefi. 32бит чтобы уже только после загрузки ос было доступно. 16бит нахрен вырезать под корень, это эмуляторы тянут быстрее оригинального железа

anonymous
()
Ответ на: комментарий от firkax

уже потихоньку выкидывают. ну и зачем это тебе сдалось? актуальным ос это всё не нужно. ты любитель вин хп?

anonymous
()
Ответ на: комментарий от anonymous

Ты латентный виндузятник? Я выше уже объяснял всё.

Мне не нравится принудительно всунутая промежуточная ОС в качестве загрузчика. Когда-то намного раньше все приняли правильное решение промежутоную ОС (тогда это был DOS а не UEFI, с дальнейшим запуском loadlin или win.com) наоборот выкинуть из цепочки загрузки.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

Очень хочется использовать Debian как вторую систему с windows

Накати WSL.

TimofejShumilkin
()
Ответ на: комментарий от firkax

bios это всё равно промежуточный слой, который что-то там инициализирует, и содержит библиотечные функции через софтовые прерывания

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

anonymous
()
Ответ на: комментарий от firkax

Всё дело в преемственности

Какая, нахрен, преемственность? У современного компа с IBM PC нет ничего общего ни по железу, ни по софту, ни по системе команд, ни по архитектуре процессора. Сейчас ты без эмулятора никак не запустишь оригинальный PC DOS. Нет ни одной железки для IBM PC, которую можно было бы воткнуть в современный комп и наоборот.

а можно и 16-битную поставить до сих пор

Нельзя. Попробуй, например, поставить MS DOS 3.0 + Windows 1.01 на любой Zen 3 комп.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от anonymous

Я не знаю с какой стороны тут отвечать, в твоём сообщении изложены верные факты про то, что BIOS что-то инициализирует и даёт библиотеку функций, но в остальном (интерпретации) всё не так.

Разница с EFI в том что EFI лезет на диск и что-то там парсит, тем самым налагая рамки на его содержимое. Для MBR же требование только одно - иметь какой-то загрузочный код в первом секторе.

firkax ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Преемственность идёт по цепочке. Вобщем-то, везде есть нюансы (между PC и PC/AT было довольно много железных несовместимостей даже, но они почему-то мало на что повлияли), но суть в том, что каждый отдельный этап (на самом деле не этап а больше) развития эту преемственность имеет, и последовательные апгрейды в реальной ситуации (а не в нереальной когда кто-то с оригинального IBM PC пересел на комп 2020 года) проходят гладко.

Нельзя. Попробуй, например, поставить MS DOS 3.0 + Windows 1.01 на любой Zen 3 комп.

ОС тут это MS DOS 3.0, с ней я думаю проблем не будет. Windows 1.01 - USB-мышку не найдёт и могут быть проблемы с видеокартой, если она на низком уровне с ней работает. Проверить негде.

firkax ★★★★★
()
Ответ на: комментарий от firkax

с ней я думаю проблем не будет

Будут. Хинт — API BIOS'а менялся, причём не только путём добавления новых вызовов, но и изменения старых. Более-менее современного вида и более-менее стабильного квазистандартного API он достиг примерно к середине 90-х. И именно такой BIOS эмулируется CSM. MS DOS 3.0 же ничего про это не знает.

Windows 1.01 - USB-мышку не найдёт

Никакую не найдёт. PS/2 порт появится только 1987 году. «Но у меня же сохранилась древняя шариковая мышка с ком-портом» может радостно воскликнуть кто-то. Увы, но, скорее всего, эта шариковая компортовая мышь рассчитана на DE-9, который появится только через год после выхода первой винды.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

API BIOS'а менялся, причём не только путём добавления новых вызовов, но и изменения старых

Чего это там менялось (кроме функций для стримера, которыми дос очевидно не пользовался)?

Увы, но, скорее всего, эта шариковая компортовая мышь рассчитана на DE-9, который появится только через год после выхода первой винды.

DE-9 тут ни при чём, ком-порт он и есть ком-порт (если он вообще поддерживается). Только на современном десктопном компе его скорее всего не будет.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от gremlin_the_red

Даже когда он DB-25?

Именно так. Отличие только механическое, электрически (а тем более - програмно) это одно и то же.

Половина int 13h. Google it.

Враньё. Там добавлялся функционал (сначала жёсткие диски, потом LBA), но старое так и осталось. Теоретически несовместимое отличие - в положении старших 2 битов 10-битного номера цилиндра, но по сути несоместимостей это нигде не создаёт.

firkax ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

в конце установки тебя спрашивают, стать геем или мусульманином, никто ни к чему не принуждает

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.