Взял один из многих примеров с инета. Компилирую в бинарник с помощью fasta Потом с помощью bximage.exe создаю img файлик, но он в WinHex оказывается пустым (состоит из одних 0). В чем может быть проблема?
fasm'а? bximage'ем для создания образа флоппика никогда не пользовался. Могу предложить собирать образ непосредственно fasm'ом. mkfloppy.zip
Как собирать образ fasm`ом ? И что делать с файлами в архиве? Что потом нужно изменять в настройках Bochs` a &
Компилируешь файл floppy.asc fasm'ом, предварительно отредактировав его так, чтобы описать все необходимые тебе файлы в структуре файловой системы флоппика. Полученный файл floppy.bin - готовый образ флоппика в формате 2x80x18. Код (Text): include "mkfloppy.inc" ; здесь прописываешь свой образ бутсектора file "bootstub.bin", 512 ; fat1 db 0F0h, 0FFh, 0FFh, 9*512-3 dup 0 ; fat2 db 0F0h, 0FFh, 0FFh, 9*512-3 dup 0 ; здесь прописываешь имена и атрибуты необходимых тебе ; файлов и каталогов в корневом каталоге флоппика ; root dent fileid, "README TXT", FA_ARC ; ... rb 33*512-$ ; здесь прописываешь реальные имена файлов и каталоги, ; которые хочешь поместить в образ флоппика ; data stof fileid, "content/readme.txt" ; ... rb 2*80*18*512-$ Про настройки бокса - это уже дополнительный вопрос Код (Text): boot: floppy floppy_bootsig_check: disabled=0 floppya: 1_44="floppy.bin", status=inserted А вообще я тебе предложил способ формирования полноценного образа флоппика с файловой системой, содержащей файлы и каталоги. Если ты в коде бутсектора собираешься грузить следующий за бутсектором сектор флоппика, то ты можешь подобный образ делать одновременно и вместе с образом бутсектора. Код (Text): org 7C00h jmp byte @f ... rb 7DFEh-$ dw 0AA55h ; закончился бутсектор ... times 8000h-$ db 0 ; закончился следующий сектор, ; загружаемый по адресу 7E00h Edited: fileid - это идентификатор файла. Придумываешь уникальный идентификатор для каждого файла и каталога сам
Ничего не получается , нужно засунуть туда винду , как это сделать не понятно. Имж создается утилитой , там известно число кластеров секторов и так далее. Проблема в том что если грузить пустой образ с этими параметрами ....вообще ничего не происходит. А бош выдает ошибку какуюто. Но дело даже не в этом. Сам имадж создается для другого Эмулятора. Так как прог создания образов не было найдено. Образы должны быть именно формата img со всеми параметрами диска. Я хотел сделать сд на боше , а потом его в другой эмуль. Теоретически я так понял я должен в пустой диск установить винду. Вопрос как это сделать ? ... Не видит дисковода обыкновенного .... В ВМваре например грузит с обыкновенного дисковода на виртуальный диск.
http://www.deletevista.com/~richard/emulators/bochs/bochs_windows_xp_guest_howto.txt гугл 3 строка сверху (делал образ более 2х лет назад, подробностей не помню)
Каким образом можно с помощью скрипта поместить в созданную дирректорию файлы? Как забрасывать в корень диска файлы и создавать директории я разобрался, но вот, как в созданную директорию поместить группу файлов?
Как обычно, вместо ответа на вопрос у нас советуют сделать через зопу и описать человеку, что так надо) Топикстарер - WinImage пробовал? Лучшая из прог для создания образов.
Great, WinImage поддерживает какой-нибудь скриптовый язык или хотябы сохранение структуры диска в виде проекта (типа Nero)? Я просмотрел несколько подобных утилит и пришел к выводу, что для быстрой сборки и обновления из командной строки мой вариант самый оптимальный. Собираюсь написать нечто подобное и для сборки iso-образов. Lrz. Есть два варианта. А для добавления в корень ты просто должен прописать dent в области корневого каталога (; root). 1) Код (Text): ; root dent mydir, "MY_DIR", FA_DIR defdir mydir { dent myfile, "MYFILE TXT", FA_ARC ; ... } ; data ; записи можно менять произвольно - от этого будет зависить физ. положение файла/каталога в образе ; stod <идентификатор каталога>, <идентификатор родительского каталога или root> stod mydir, root ; stof <идентификатор файла>, <имя реального файла, помещаемого в образ> stof myfile, "content/myfile.txt" 2) здесь просто раскрывается макрос stod: он состоит из orgdir, "тела каталога" и findir. Естественно, при этом каталог нужно описывать в области данных (; data) Код (Text): ; root dent mydir, "MY_DIR", FA_DIR ; data ; orgdir <идентификатор каталога>, <идентификатор родительского каталога или root> orgdir mydir, root ; "тело каталога" dent myfile, "MYFILE TXT", FA_ARC ; findir <идентификатор каталога> findir mydir ; ... ; stof <идентификатор файла>, <имя реального файла, помещаемого в образ> stof myfile, "content/myfile.txt"
Lrz, здесь есть пример использования mkfloppy с загрузчиком GRUB в образе. Пример немного сложноват, но тебе не нужно обращать внимание на все тонкости, связанные с размещением GRUB'а. Просто посмотри, как формируется структура каталогов /boot/grub.
уже не надо, после некоторого колдовства над сайтом файл найден по соседнему адресу: http://juneos.narod.ru/files/mkfloppy.zip