Загрузчик, динамически собирающий kolibri.img
Posted: Mon Nov 18, 2013 10:07 pm
Есть задумка по разработке загрузчика, которую хотелось бы реализовать и включить в комплект дистрибутива Колибри ОС, без претензий на права распространения.
Идея принадлежит CleverMouse.
---
Описание цели:
Загрузка Колибри ОС с физического носителя должна происходить таким образом, чтобы системные файлы Колибри ОС (содержимое "kolibri.img") находились непосредственно на физическом носителе, присутствие образа "kolibri.img" на физическом носителе должно быть опцией, а в случае присутствия на физическом носителе одновременно файла образа "kolibri.img" и системных файлов Колибри ОС, приоритет загрузки должен отдаваться системным файлам на физическом носителе.
Описание процесса:
0. Каталогизированные системные файлы ОС (содержимое "kolibri.img") находятся на физическом носителе, в каталоге Kolibri;
1. Загрузчик проверяет наличие системного каталога "Kolibri" на физическом носителе;
2. Если системный каталог найден, загрузчик считывает все каталогизированные файлы из системного каталога и копирует их на динамический FAT-диск (виртуальный "kolibri.img") /rd/1;
3. Происходит загрузка ОС в штатном режиме.
4. Если системный каталог не найден, загрузчик проверяет наличие файла "kolibri.img";
5. Если образ "kolibri.img" найден, происходит загрузка ОС в штатном режиме.
6. Если образ "kolibri.img" не найден - выдаётся ошибка с диалогом, предлагающим перезагрузку по нажатию любой клавиши и последующей перезагрузкой ПК по нажатию любой клавиши.
Требования:
1. Должна присутствовать обработка ошибок ввода/вывода, ошибок в связи с отсутствием или недостачей критических системных файлов ОС.
2. Атрибуты и регистр именования системных файлов должны игнорироваться (скрытые и файлы со смешанным регистром должны без проблем обнаруживаться загрузчиком).
3. При каждой перезагрузке прежнее содержимое памяти должно очищаться и перезаписываться новыми данными, считанными с физического носителя.
Функциональность:
1. Поддержка интерфейсов: IDE, SATA, USB.
2. Поддержка файловых систем: FAT16, FAT32 (в перспективе, возможны варианты).
3. Поддержка нескольких ОС на одном носителе: отсутствует (в перспективе, возможны варианты).
4. Поддержка загрузки с разделённым пространством физического носителя: единственный раздел, множество разделов с одним активным.
5. Поддержка обратной связи (желательно и опционально): происходящее может отображаться на дисплее вплоть до статуса загрузки каждого файла в динамический раздел.
---
Возьмётся ли кто-то за разработку и на каких условиях?
Буду благодарен в рамках поддержки проекта, в т.ч. материально (PayPal или Yandex.деньги) тому, кто возьмётся за разработку такого загрузчика
Помогу с тестированием на реальном железе, в этой теме разработка и отчёты по тестированию.
Предложения можно в личку.
Идея принадлежит CleverMouse.
---
Описание цели:
Загрузка Колибри ОС с физического носителя должна происходить таким образом, чтобы системные файлы Колибри ОС (содержимое "kolibri.img") находились непосредственно на физическом носителе, присутствие образа "kolibri.img" на физическом носителе должно быть опцией, а в случае присутствия на физическом носителе одновременно файла образа "kolibri.img" и системных файлов Колибри ОС, приоритет загрузки должен отдаваться системным файлам на физическом носителе.
Описание процесса:
0. Каталогизированные системные файлы ОС (содержимое "kolibri.img") находятся на физическом носителе, в каталоге Kolibri;
1. Загрузчик проверяет наличие системного каталога "Kolibri" на физическом носителе;
2. Если системный каталог найден, загрузчик считывает все каталогизированные файлы из системного каталога и копирует их на динамический FAT-диск (виртуальный "kolibri.img") /rd/1;
3. Происходит загрузка ОС в штатном режиме.
4. Если системный каталог не найден, загрузчик проверяет наличие файла "kolibri.img";
5. Если образ "kolibri.img" найден, происходит загрузка ОС в штатном режиме.
6. Если образ "kolibri.img" не найден - выдаётся ошибка с диалогом, предлагающим перезагрузку по нажатию любой клавиши и последующей перезагрузкой ПК по нажатию любой клавиши.
Требования:
1. Должна присутствовать обработка ошибок ввода/вывода, ошибок в связи с отсутствием или недостачей критических системных файлов ОС.
2. Атрибуты и регистр именования системных файлов должны игнорироваться (скрытые и файлы со смешанным регистром должны без проблем обнаруживаться загрузчиком).
3. При каждой перезагрузке прежнее содержимое памяти должно очищаться и перезаписываться новыми данными, считанными с физического носителя.
Функциональность:
1. Поддержка интерфейсов: IDE, SATA, USB.
2. Поддержка файловых систем: FAT16, FAT32 (в перспективе, возможны варианты).
3. Поддержка нескольких ОС на одном носителе: отсутствует (в перспективе, возможны варианты).
4. Поддержка загрузки с разделённым пространством физического носителя: единственный раздел, множество разделов с одним активным.
5. Поддержка обратной связи (желательно и опционально): происходящее может отображаться на дисплее вплоть до статуса загрузки каждого файла в динамический раздел.
---
Возьмётся ли кто-то за разработку и на каких условиях?
Буду благодарен в рамках поддержки проекта, в т.ч. материально (PayPal или Yandex.деньги) тому, кто возьмётся за разработку такого загрузчика
Помогу с тестированием на реальном железе, в этой теме разработка и отчёты по тестированию.
Предложения можно в личку.