OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 12:44

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: A2. Cборка нативных образов
СообщениеДобавлено: Суббота, 20 Апрель, 2019 16:54 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Если хочется попробовать запустить A2 на голом железе, это можно сделать.
Тут на форуме одна рекомендация была уже:
Kemet писал(а):
В этом файле есть пункт:
# Step 3e: Create image for bootable USB (A2USB.img)
Создание других образов ещё не поправлено
Т.е. надо:
1) создать папку Test (на уровень выше рабочей папки Work. Если А2.exe запустить с настройками по-умолчанию, папку Test надо создать в той же папке, где лежит А2.exe);
2) открыть Build.Tool;
3) выполнить шаг 1 из Build.Tool (всё скомпилировать в папку Test):
Цитата:
# Step 1: Compile modules and generate ZIP packages
Release.Build --path="../Test/" --build --zip --xml Bios32 ~
4) выполнить шаг 3e из Build.Tool.
В итоге у нас в папке Test появится образ, пригодный для записи на флешку (записать можно, например, с помощью win32diskimager). И всё. Заставить его загружаться хоть в какой-нибудь виртуалке не получилось. QEMU, вроде, поддерживает эмуляцию загрузочных USB в трёх различных вариантах эмуляции, но тоже результата я не добился.
Тем не менее, флешка нормально загрузилась на моём старом ноутбуке Samsung R518.
Гораздо полезнее, как оказалось, сделать загрузочный образ HDD. С него удалось загрузиться в QEMU и BOCHS.
Слегка модифицировав команды из шага 3e из Build.Tool получил генератор образов HDD:
Цитата:
# Create image for bootable HDD (A2IDE.img)

System.DoCommands

Compiler.Compile -p=Bios32 --destPath=../Test/ BIOS.PCI.Mod UsbEhci.Mod BIOS.UsbEhciPCI.Mod ~

PCAAMD64.Assemble OBLUnreal.Asm ~
PartitionsLib.SetBootLoaderFile OBLUnreal.Bin ~
PCAAMD64.Assemble BootManager.Asm ~
BootManager.Split BootManager.Bin ~
System.Timer start ~

FSTools.DeleteFiles -i ../Test/A2IDE.img ~

VirtualDisks.Create ../Test/A2IDE.img 320000 512 ~
VirtualDisks.Install -b=512 VDISK0 ../Test/A2IDE.img ~

Partitions.WriteMBR VDISK0#0 OBEMBR.BIN ~
Partitions.InstallBootManager VDISK0#0 BootManagerMBR.Bin BootManagerTail.Bin ~
Partitions.Create VDISK0#1 76 150 ~

Linker.Link --path=../Test/ --displacement=100000H --fileName=../Test/IDE.Bin Kernel Traps
ATADisks DiskVolumes DiskFS Loader BootConsole ~

Partitions.Format VDISK0#1 AosFS -1 ../Test/IDE.Bin ~ (* -1 makes sure that actual boot file size is taken as offset for AosFS *)
FSTools.Mount TEMP AosFS VDISK0#1 ~

ZipTool.ExtractAll --prefix=TEMP: --sourcePath=../Test/ --overwrite --silent
Kernel.zip System.zip Drivers.zip ApplicationsMini.zip Applications.zip Compiler.zip CompilerSrc.zip
GuiApplicationsMini.zip GuiApplications.zip Fun.zip Contributions.zip Build.zip EFI.zip
Oberon.zip OberonGadgets.zip OberonApplications.zip OberonDocumentation.zip
KernelSrc.zip SystemSrc.zip DriversSrc.zip ApplicationsMiniSrc.zip ApplicationsSrc.zip GuiApplicationsMiniSrc.zip GuiApplicationsSrc.zip FunSrc.zip BuildSrc.zip
ScreenFonts.zip CjkFonts.zip TrueTypeFonts.zip ~

FSTools.Watch TEMP ~
FSTools.Unmount TEMP ~

Partitions.SetConfig VDISK0#1
TraceMode="4"
TracePort="1"
TraceBPS="115200"
BootVol1="AOS AosFS IDE0#1"
AosFS="DiskVolumes.New DiskFS.NewFS"
CacheSize="1000"
ExtMemSize="512"
MaxProcs="-1"
ATADetect="legacy"
Init="117"
Boot="DisplayLinear.Install"
Boot1="Keyboard.Install;MousePS2.Install"
Boot2="DriverDatabase.Enable;UsbHubDriver.Install;UsbEhciPCI.Install;UsbUhci.Install;UsbOhci.Install"
Boot3="WindowManager.Install"
Boot4="Autostart.Run"
~
VirtualDisks.Uninstall VDISK0 ~

System.Show HDD image build time: ~ System.Timer elapsed ~

FSTools.CloseFiles ../Test/A2IDE.img ~

~

Для загрузки в BOCHS надо скачать последние версии: BOCHS, BIOS-bochs-latest, VGABIOS-lgpl-latest.bin. Положить всё в одну папку, а также положить такой текстовый файл конфигурации машины (назвать bochsrc.bxrc):
bochsrc.bxrc писал(а):
megs: 1024
romimage: file=BIOS-bochs-latest
vgaromimage: file=VGABIOS-lgpl-latest.bin
vga: extension=vbe, update_freq=60
ata0-master: type=disk, path=A2IDE.img, cylinders=203, heads=16, spt=63
boot: disk
log: bochsout.txt
mouse: enabled=1
cpu: ips=15000000


QEMU - виртуальная машинка поинтереснее. В ней можно настроить вывод отладочной информации через COM-порт в отдельное окно (этот образ HDD, созданный по приведённой инструкции, как-раз будет её выводить на COM1 со скоростью 115200).
Батник для запуска QEMU прилагается. Когда при запуске появится диалог настроек COM-порта, там как-раз надо выбрать скорость 115200.
A2IDE QEMU.bat писал(а):
"c:\Program Files\qemu\qemu-system-x86_64.exe" -drive file=A2IDE.img,format=raw -m 1024 -machine pc -chardev serial,id=com1,path=com1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: A2. Cборка нативных образов
СообщениеДобавлено: Суббота, 20 Апрель, 2019 19:34 

Зарегистрирован: Пятница, 11 Январь, 2019 19:26
Сообщения: 293
Откуда: Russia
А в репозитории поправить можешь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: A2. Cборка нативных образов
СообщениеДобавлено: Воскресенье, 21 Апрель, 2019 20:48 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Феликс дал пароль, но что-то меня всё-равно не пускает :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: A2. Cборка нативных образов
СообщениеДобавлено: Понедельник, 22 Апрель, 2019 18:33 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Поправил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: A2. Cборка нативных образов
СообщениеДобавлено: Понедельник, 22 Апрель, 2019 23:33 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1557
Естественное место для таких текстов - это либо документация в самом проекте (тогда наиболее естественно использовать формат markdown, поскольку в нём есть достаточный минимум, и гитхаб его показывает без всяких усилий со стороны автора), либо отдельная вики (это гораздо хуже, т.к. изменения вики несинхронны с изменением репозитория и вообще рабочий процесс неверсионный). В форуме - это последнее дело. Не хотите ли принять решение о внесении инструкций по построению в ваш репозиторий?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: A2. Cборка нативных образов
СообщениеДобавлено: Вторник, 23 Апрель, 2019 00:22 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1557
Сделал PR по этому документу, в качестве примера, как бы это могло выглядеть. Кстати, и название придумал - YA2OS, думал не долго, но вроде так ничего получается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: A2. Cборка нативных образов
СообщениеДобавлено: Воскресенье, 05 Апрель, 2020 16:19 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1557
На какой версии QEMU это работало? У меня в упор ничего не работает на последней 4.2.0. Про COM порт что-то ругается (CreateFile ошибка 2). Без COM-порта сначала что-то говорит, я нажимаю цифру 1, она говорит, что грузит Оберон, доходит до перехода в графический режим и дальше - чёрный экран. Пробовал и под Linux, версия 3 с чем-то. Успехи примерно такие же.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: A2. Cборка нативных образов
СообщениеДобавлено: Вторник, 07 Апрель, 2020 13:46 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1557
Передаю телеграмму: Сборка BIOS32 неработоспособна начиная с изменения 2019-10-26 с сообщением фиксации "Removed SYSTEM.VAL with different sized arguments" . Куда следует сообщили, товарищи принимают меры.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB