Баг?

На одном компьютере Пруликс не грузится. Отладочный бут-сектор boote выдает дамп регистров, но не выводит текстовую строку. Может, что-то с адресацией?

Этот “один компьютер” тоже Интел, тоже 64 (как и мой ноут, на котором всё работает):

BIOS ECG3501V.86A.0084.2008.0523.1528

Proc Intel (r) Core ™ 2 Duo CPU E6550 @ 2.33 GHz Intel (r) EMT64T Capable

A20 gate

Разная работа с адресацией при загрузке Пруликса в Virtual Box и на реальной машине возможно связана с режимом A20 gate, который в виртуалке включен, а на физической машине при включении по умолчанию выключен

Fool filesystem

Мне внезапно стало лень программировать для Пруликса работу с файловой системой FAT-12/16/32 или ext2, а также лень разбираться с уже готовым для этого кодом и я придумал концепт своей простейшей fs, которую назвал fool file system

Вот драфт спецификации

http://proolepedia.kharkov.org/index.php/FoolFS

Про флешку и syslinux

Самая правильная загрузка ОС Пруликс (и других ОС) либо с дискеты, либо с сидирома (для виртуальных машин с образа дискеты или образа сидирома). Загрузка с флешки, сделанной из образа дискеты при помощи unetbootin происходит в два этапа: там вначале загружается syslinux и делает эмуляцию дискеты, невозбранно перехватывая прерывания 13h, 15h, 1EH

Памятная записка самому себе: HDD

Proolix-l загружается с дискеты, параметры дискеты (число дорожек, головок и секторов на дорожке) берет из бутсектора дискеты. Для работы с hdd надо эти величины где-то брать (mbr hdd может быть и пустым в случае чистого hdd. или это только на виртуальной машине? проверить на реальной машине mbr)

см. прерывание 13h фнукция 08h

и надо делать таблицу параметров для дисков (0 – дискета, 80 – первый hdd, 81 – второй)

как-то так

DIR-100

Хотел на свой старый роутер DIR-100 установить какой нибудь DD-WRT (то есть полноценный маленький Linux) и начать там разработку Пруликса. Оказалось, DD-WRT или OpenWRT с DIR-100 не совместимо. На форумах советуют (не мне, а аналогичным гикам) открыть корпус, заменить флеш-память на бОльшую, подключиться к консоли (разъем на плате) и работать. Но это к сожалению не мой метод, я не умею паять. Хотя, может удастся собрать DD-WRT размером в два мега? Но я пока никогда не собирал эту прошивку

Флешка

На данный момент Proolix грузится с флешки при помощи syslinux. То есть делается файл-образ дискеты, с которого можно грузиться, например виртуальной машиной. (Или копировать файл на реальную дискету и с нее грузиться) Затем образ дискеты инсталлируется на флешку при помощи утилиты unetbootin, которая инсталлирует на флешку syslinux.

Загрузка с флешки происходит так: вначале автоматически грузится syslinux, который затем загружает образ дискеты, подменяя при этом прерывания 13h, 15h, 1ah и делая виртуальный диск.

Я как любитель всего низкоуровневого решил поэкспериментировать с прямой загрузкой с флешки (раньше, в эпоху proolix-d вроде получалось). Как оказалось, флешка может быть отформатирована только под файловую систему FAT16 (но не FAT12), я начал переделывать бут-сектор. У меня есть заготовка кода для FAT-16, но что-то она пока не работает

Наработки (пока не работающие) я сброшу на github сегодня

* * *

О, и сайт с Ralf Brown Interrupt List не грузится. Надо искать альтернативный сайт

UPDATE. 03.11.2015. Ralf Brown Interrupt List уже грузится нормально

VDS

Протестировал загрузку с Proolix-l ISO на сервисе VDS от ITLDC. Загружается и работает! (К консоли виртуальной машины я подключался при помощи VNC). Теперь надо срочно писать нетворкинг и предлагать свою ОС хостинговым клиентам в качестве альтернативы (наряду с Linux, Windows Server и FreeBSD)

Создать загрузочный cdrom по стандарту eltorito

genisoimage -o iso.iso -b diskette.img .

(в текущем каталоге должен быть образ дискеты diskette.img)

(кроме того обратите внимание, завершающая точка в командной строке это не пунктуационный знак,
это обозначение текущего каталога и без точки работать не будет! перед ней пробел!)