RU.UNIX.BSD-------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 54 из 64
 От   : Valentin Nechayev                   2:463/68.300      14 мар 25 19:28:54
 К    : Sergey Dorofeev                                       14 мар 25 20:50:01
 Тема : графическое лого
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:463/68.300 67d46a70
@REPLY: 2:5020/12000 4f539211
@CHRS: CP1125 2
@TZUTC: 0200
@TID: hpt 1.2.4-release/bsd 30-05-03
 Hi,

 >>>> Sergey Dorofeev wrote:

 SD>>> Hу так UEFI же есть, если ограничения BIOS не устраивают.
 VN>> Весь контекст обсуждения был для случая загрузки в том варианте,
 VN>> который сейчас гордо зовут "legacy", так что ваше замечание про
 VN>> UEFI немножко так не в тему.
 SD> А где сейчас железо с этим "legacy" найти? BIOS-совместимая загрузка
 SD> теперь в 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)
SEEN-BY: 50/12 22 236/100 461/58 463/68 1331
4600/140 4651/777 5001/100
SEEN-BY: 5003/17 5006/1 5019/40 5020/400 526 545
848 1042 1477 2332 2395 2992
SEEN-BY: 5020/4441 12000 5021/29 5022/128 5025/3 75
5027/12 5030/49 500 1081
SEEN-BY: 5030/1900 1957 2404 5035/85 5037/7 5053/58
5054/1 5059/37 5063/3
SEEN-BY: 5068/10 5080/31 68 102 172 245 5085/13
5095/20 6001/10 6078/80
@PATH: 463/68 5030/49 5080/102 5020/545 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх