Size: a a a

pro.osdev — детский сад

2021 January 12

s

salvoroni in pro.osdev — детский сад
Berkus Decker
как я и говорил - рано соваться в осдев если вы не понимаете что делаете, дальше скопипащенного биос кода вы все равно не уедете
сделать загрузчик - это дополнительное задание для тех кто получил мало баллов за предыдущую работу (но я делаю это из интереса)
преподаватели считают, что мы уже можем это делать (хоть и теории они по этой теме нам не давали), так что буду пробовать и дальше
источник

Miss Очепятка... in pro.osdev — детский сад
salvoroni
а как проверить?
bochsdbg.exe Далее  "b modebp" остановка сработает на переходе в защищенный режиме т.е нf (mov CR0,eax) по команде u покажет дизассемблерный вывод.  Команды s по шаговая отладка.
источник

Miss Очепятка... in pro.osdev — детский сад
Писать загрузчик это словно пытаться вытащить себя за волосы как борон Мюнхаузин. Дело благородное, но не благодарное.  Я в свое время шишек много на этом деле набил. Как и многие другие. А вообще если начать писать загрузчик то вы им и закончите.  В том смысле что загрузчик погубил много тех кто решил начать писать ОС с оного. Они дальше него не смогли пройти. Без наставника трудно.
источник

s

salvoroni in pro.osdev — детский сад
Miss Очепятка
Писать загрузчик это словно пытаться вытащить себя за волосы как борон Мюнхаузин. Дело благородное, но не благодарное.  Я в свое время шишек много на этом деле набил. Как и многие другие. А вообще если начать писать загрузчик то вы им и закончите.  В том смысле что загрузчик погубил много тех кто решил начать писать ОС с оного. Они дальше него не смогли пройти. Без наставника трудно.
согласен)
но сначала надо мне шишек набить, чтоб хоть школьником, а не детским садом называли)
источник

BD

Berkus Decker in pro.osdev — детский сад
Miss Очепятка
Писать загрузчик это словно пытаться вытащить себя за волосы как борон Мюнхаузин. Дело благородное, но не благодарное.  Я в свое время шишек много на этом деле набил. Как и многие другие. А вообще если начать писать загрузчик то вы им и закончите.  В том смысле что загрузчик погубил много тех кто решил начать писать ОС с оного. Они дальше него не смогли пройти. Без наставника трудно.
да, обычно на бутлоадере всё и кончается
источник

LW

Loren White in pro.osdev — детский сад
Подскажите на счет дебага UEFI приложений \ драйверов, я что - то вторые сутки с этим долблюсь и безуспешно.

Скачал UDK Debugger tool, настройки у самого дебагера такие:

[Debug Port]
Channel = Serial
Port = \\.\pipe\com_1
FlowControl = 0
BaudRate = 115200
Server =

У Hyper-V сделан serial порт, powershell вывод показывает, что он действительно есть:

C:\WINDOWS\system32> GET-VMComPort hyperhack

VMName    Name  Path
------    ----  ----
HYPERHACK COM 1 \\.\pipe\com_1
HYPERHACK COM 2 \\.\pipe\com_2

По мануалу собрал с соответствующими опциями  DebugAgentDxe.efi, перед загрузкой драйвера в мануале еще написано, что надо IsaSerialDxe драйвер отключить от порта, но у меня его просто в списке загруженных модулей нет. Но не смотря на все, при попытке заатачить дебагер возникает ошибка. Сама ошибка и вывод UEFI shell на скринах.

Ну или можете посоветовать какой нибудь другой способ отладки source-level, с возможностью исследовать память, а так же делать step по асмовому коду.
источник

LW

Loren White in pro.osdev — детский сад
источник

LW

Loren White in pro.osdev — детский сад
источник

BD

Berkus Decker in pro.osdev — детский сад
взять edk ii и сунуть в qemu?
источник

LW

Loren White in pro.osdev — детский сад
edk - инструмент разработки же, что подразумевается под засовыванием его в qemu ?
источник

BD

Berkus Decker in pro.osdev — детский сад
дебажить с ним тоже можно
источник

BD

Berkus Decker in pro.osdev — детский сад
под засовыванием подразумевается что можно забутить qemu с tianocore и дебажить себе там до посинения в gdb с source-level и прочими прелестями
источник

LW

Loren White in pro.osdev — детский сад
окай, пошел гуглить, ну или скинь гайд, как это все настроить, если под рукой есть. И на винде это провернуть можно ?
источник

BD

Berkus Decker in pro.osdev — детский сад
можно я думаю, гугли, я где-то находил пошаговый манул
источник

s

salvoroni in pro.osdev — детский сад
Berkus Decker
да, обычно на бутлоадере всё и кончается
Заработало
Я в gdt ошибся все же
источник

BD

Berkus Decker in pro.osdev — детский сад
salvoroni
Заработало
Я в gdt ошибся все же
ну потому что GDT надо символьными константами инициализировать а не вот этим вот трешем
источник

BD

Berkus Decker in pro.osdev — детский сад
salvoroni
Заработало
Я в gdt ошибся все же
ну то есть https://github.com/metta-systems/vesper/blob/91e8652abc9b28638d40044efa2427bbaaf3ffc9/nucleus/src/arch/aarch64/memory/mmu.rs#L48-L58 выглядит гораздо понятнее чем 0x444ff

и это еще простой регистр
источник

U

UsernameAK in pro.osdev — детский сад
случайно посмотрел в описание чата
> 0. OSdev это сложно и требует умения читать, отлаживать и рыться в железе. Самостоятельно. Вы предупреждены!
я вылез оттуда как раз из-за этого, и залез в другое место, где этого же не меньше :D
источник

BD

Berkus Decker in pro.osdev — детский сад
UsernameAK
случайно посмотрел в описание чата
> 0. OSdev это сложно и требует умения читать, отлаживать и рыться в железе. Самостоятельно. Вы предупреждены!
я вылез оттуда как раз из-за этого, и залез в другое место, где этого же не меньше :D
я бы не сказал что это что-то чем я бы стал хвастаться прилюдно, если честно
источник

d

disba1ancer in pro.osdev — детский сад
UsernameAK
случайно посмотрел в описание чата
> 0. OSdev это сложно и требует умения читать, отлаживать и рыться в железе. Самостоятельно. Вы предупреждены!
я вылез оттуда как раз из-за этого, и залез в другое место, где этого же не меньше :D
это ты о чём?
источник