сделать загрузочный iso только на ассемблере

Для дискеты я могу сделать файл boot.img только на ассемблере.

В конце исходного файла я просто написал:

org 0x7c00
jmp start
start:
cli
hlt
times 510 - ($- $$) db 0
db 0x55 
db 0xaa
times 1474560 - ($-$$) db 0

Но теперь, как я могу сделать загрузочный iso, как указано выше?

в случае гибкого диска,

times 1474560 -($-$$) db 0 

был ключом.


person Taeyun    schedule 12.09.2014    source источник
comment
какая у тебя точно проблема?   -  person Westranger    schedule 12.09.2014
comment
Просто из любопытства: для чего нужен загрузчик? cli; hlt просто навсегда остановит ЦП. Инструкция times заполняет все остальное нулями, так что полезного функционала здесь немного. (Загрузчик по умолчанию, т.е. Windows записывает на дискету, по крайней мере, показывает ошибку, указывающую на то, что она не является загрузочной).   -  person PMF    schedule 12.09.2014
comment
Я хочу загрузиться с компакт-диска. для этого мне нужно сделать файл iso. но я чувствую себя неловко, если я завишу от коммунальных услуг. поэтому я хочу сделать своими руками. поэтому я и спросил "как сделать iso только на ассемблере"   -  person Taeyun    schedule 12.09.2014
comment
это упрощенный код. Я хочу сделать небольшую игру, которая не требует операционной системы.   -  person Taeyun    schedule 12.09.2014
comment
это тестовый код, чтобы увидеть, могу ли я загрузиться с компакт-диска. если он загрузочный, экран будет черным. если он не загрузочный, ошибки операционной системы не возникнет   -  person Taeyun    schedule 12.09.2014
comment
CD не так просты. На компакт-дисках может быть много разных типов загрузчиков для разных арок. Они закодированы (где-то?) в ISO9660 fs. См. вариант -b для genisoimage. linux.die.net/man/1/genisoimage   -  person Tyler    schedule 15.09.2014
comment
Также см. здесь: wiki.osdev.org/Bootable_CD   -  person Tyler    schedule 15.09.2014


Ответы (2)


См. MenuetOS в качестве примера самоподдерживающейся операционной системы реального времени, полностью написанной на ассемблере. Все это умещается на носителе объемом 1,44 МБ. Если вам нужно писать свои собственные, вы можете изменить их для своих целей.

Официальный веб-сайт — http://www.menuetos.net/, и похоже, что ОС активно поддерживается.

person wallyk    schedule 15.09.2014

В Linux вы можете использовать mkisofs для создания образа ISO. Этот инструмент имеет множество параметров, некоторые из которых можно использовать для указания файла, используемого для загрузки.

mkisofs --help

Компакт-диски и DVD-диски поддерживают несколько различных типов загрузчиков в зависимости от целевой системы и формата, используемого на носителе.

С VirtualBox вы можете тестировать свои ISO-образы без необходимости записи физического диска, чтобы вы могли быстро отладить свою работу.

person Alexis Wilke    schedule 15.09.2014