Serge wrote:1.Сейчас монтируется весь раздел. Лучше всё же монтировать один каталог. Иначе в корневом каталоге надо будет копировать всю структуру каталогов /rd/1.
Никто не мешает дописать к пути еще и директорию. Единственно в ядре имеется общее ограничение на 63+1 (терминатор) символ. (Не я придумал и потому не стал менять)
Serge wrote:2.Как быть с дисками-клонами /hd0/1/ /sd0/1 /bd0/1 ? Желательно добавить программе немного интеллекта выбирать /bd в последнюю очередь.
Это можно. Дефолтсити тоже не за пару ревизий был построен.
Это означает, что в случае СофтПака возможны 2 варианта:
1. положить всё его содержимое в корень диска вместе с файлом kolibri.lbl
2. вместе с СофтПаком распространять програмку, которая при запуске будет прописывать в системе переменную типа 'addappl' эквивалентную пути софтпака, например /hd0/1/downloads/kolibri?
Mario_r4 wrote:Система при старте запускает не Launcher, а приложение, которое будет искать нужный раздел, с нужным контрольным файлом. Копия такого-же файла будет лежать на рамдиске, для быстрой смены образа без перекомпиляции. Если файлы совпадут по содержимому, то программа вызывает системную функцию, которая добавляет в корневой раздел ("/" ) диск с названием допустим "/addappl" и создает линк на найденный раздел (название не так принципиально, лишь бы не совпадало с уже существующими, например можно обозвать "/sys2"), который будет вторым после "/sys" приложением. Можно монтировать дополнительную директорию не в "/", а в "/sys", но такого кода у нас пока принципиально нет. Далее мы уже просто пользуемся, вызывая с использованием пути "/addappl/media/fplay", например для видеоплеера.
multiboot - Система при старте не ищет никаких меток а получает путь к каталогу с приложениями как параметр ядра и на уровне ядра этот путь монтируется как дополнительная директория.
multi initrd Приложения могут быть внесены в память по желанию пользователя.
Unduing wrote:multiboot - Система при старте не ищет никаких меток а получает путь к каталогу с приложениями как параметр ядра и на уровне ядра этот путь монтируется как дополнительная директория.
multi initrd Приложения могут быть внесены в память по желанию пользователя.
Я ничего не понял. Я плохо знаком с этими терминами.
От кого получает? Где гарантия, что пользователь не переткнул устройство в другой разъем?
Например пункт grub для передачи параметров ядру которое поддерживает multiboot:
title Kolibri
kernel /Kolibri/kernel.mnt appl=/cd1/Kolibri/appl
initrd /kolibri.img
или appl может быть равно
/usb1/Kolibri/appl
/hd1/Kolibri/appl
/usb1/MyKolibriSoft
Через параметр appl указывается путь к приложению, а если пользователь выдернул носитель приложение станет не доступно, открыть ему opendialog
Unduing wrote:Например пункт grub для передачи параметров ядру которое поддерживает multiboot:
title Kolibri
kernel /Kolibri/kernel.mnt appl=/cd1/Kolibri/appl
initrd /kolibri.img
или appl может быть равно
/usb1/Kolibri/appl
/hd1/Kolibri/appl
/usb1/MyKolibriSoft
Через параметр appl указывается путь к приложению, а если пользователь выдернул носитель приложение станет не доступно, открыть ему opendialog
Если ты сам готов взятся за реализацию, то я как минимум не возражаю. (Первое негласное правило проекта) Однако сам я таким заниматься не буду и как правильно заметил SoUrcerer - впихнуть невпихуемое нереально для некоторых случаев. Мое же решение вполне рабочее и универсальное для конечного пользователя, даже если он ССЗБ. Порты контроллеров иногда тоже ломаются и выгорают, а работать надо и желательно без лишней нервотрепки.