Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Nov 12, 2019 1:16 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 115 posts ]  Go to page Previous 1 2 3 4 58 Next
Author Message
PostPosted: Wed May 29, 2013 9:06 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4
1. UUID - строка в hex формате, какие там ограничения на символы ?
2. свой UUID для разных дистрибутивов не проблема автоматом генерировать во время сборки.
3. IMHO лучше разделять /rd/1/ и /sys. /rd/1/ сохранить как аналог /boot для ядра, драйверов и программ без которых система не работает.


Top
   
PostPosted: Wed May 29, 2013 9:29 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Где-то есть ограничения 8.3. UUID не поместится.


Top
   
PostPosted: Wed May 29, 2013 9:47 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Меня мучает вопрос - как генерировать UUID. Желательно, чтобы была возможность во всех средах (Win/Linux/Kolibri) получать одинаковые результаты.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 30, 2013 7:00 am 
Offline
User avatar

Joined: Tue May 08, 2007 12:44 am
Posts: 346
Если программы будут размещены в отдельном разделе (томе), то мне кажется, что достаточно обойтись меткой тома фиксированного вида (типа $Kolibri$) и предусмотреть две метки -- системную и пользовательскую, где пользовательская перебивает системную с расчетом на фанатов "Колибри", имеющих собственный набор программ под нее, пополняемый вручную. Либо монтировать оба раздела по двум разным путям...

Гм. Либо предусмотреть три метки:
  • Системная, работающая по умолчанию.
  • Пользовательская, перебивающая системную.
  • Пользовательская, дополняющая системную.

_________________
Разработчик языка программирования Кантор


Top
   
PostPosted: Thu May 30, 2013 9:07 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4
Утилит и исходников для генерации в сети много.
Собственно почему я предлагаю UUID и монтирование на /sys.

Для каждой языковой версии дистрибутива можно сделать свой UUID. Это упростит проверку установщиком и версии дистрибутива и языка установки.

Подмена /sys уже реализована в ядре. Добавление ещё одной папки сделает довольно запутанный код ещё сложнее.


Top
   
PostPosted: Thu May 30, 2013 9:41 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Утилит и исходников для генерации в сети много.

Раньше посылали... далеко в общем, а теперь в гугл.
Собственно у меня идея делать для каждой ревизии свой UUID. В том числе генерация в самой Колибри нужна.
Serge wrote:
Подмена /sys уже реализована в ядре. Добавление ещё одной папки сделает довольно запутанный код ещё сложнее.

Если так рассуждать, то любая последующая ревизия вообще делает код еще сложней и запутанней. Между тем грузить ВСЕ файлы с CD/DVD очевидно не выгодно в плане скорости.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 30, 2013 10:00 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4
CD/DVD должны проверяться в последнюю очередь.
Quote:
Собственно у меня идея делать для каждой ревизии свой UUID. В том числе генерация в самой Колибри нужна
Сделать подмену макросом, как для svn:revision, а генерировать на сервере автосборок.


Top
   
PostPosted: Thu May 30, 2013 10:09 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Quote:
нужный раздел, с нужным контрольным файлом
Quote:
пустой файл с именем - UUID строкой
Не совсем понял необходимость этого.
Quote:
требуется ручками прописать ассоциации в файловых менеджерах.
Это должна делать программа-установщик(как это и происходит в других ос).
Как сказал Mario_r4, нужна SysFn, которая умеет монтировать разделы(и не важно, что это за разделы). Тогда в autorun.dat можно написать что-то вроде: mount "/addappl".
Если нужна ещё и установка чего-то, то добавить: /addappl/install.kex.

Quote:
Я думаю копирование их на темповский диск не всегда оправдано
Quote:
Между тем грузить ВСЕ файлы с CD/DVD очевидно не выгодно в плане скорости
В любом случае изначально файлы находятся на CD/DVD, значит, всё равно какие-то из них нужно копировать на tmp. Этим и будет заниматься install.kex:
если нет tmp, то создать, скопировать нужные файлы, установить ассоциации и т.п.
если не получилось создать нужного размера tmp, то не копировать и установить другие ассоциации...


Top
   
PostPosted: Thu May 30, 2013 10:27 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Не совсем понял необходимость этого.

Система после загрузки знает только о наличии /rd/1, о наличии других мест где можно брать программы, бибилотеки, данные - она не знает. Нельзя жестко прописать запуск видеоплеера, к примеру с /cd0/1/ потому что нельзя гарантировать его наличие именно по этому пути. Метка позволяет просмотрев все известные диски и разделы найти нужный. Теперь достаточно понятно?
0CodErr wrote:
Это должна делать программа-установщик(как это и происходит в других ос).

Подразумевался запуск Live системы.
0CodErr wrote:
Как сказал Mario_r4, нужна SysFn, которая умеет монтировать разделы(и не важно, что это за разделы). Тогда в autorun.dat можно написать что-то вроде: mount "/addappl".
Если нужна ещё и установка чего-то, то добавить: /addappl/install.kex.

Я не готов писать полноценный mount, да и для озвученной в теме идеи он не нужен.
0CodErr wrote:
В любом случае изначально файлы находятся на CD/DVD, значит, всё равно какие-то из них нужно копировать на tmp. Этим и будет заниматься install.kex:

Еще раз - речь идет о Live системе и к моменту запуска у нас уже есть /rd/1/ с файлами. Загружать их не нужно, совсем не нужно.

З.Ы. У меня создалось впечатление что ты не понял тему. Хотя речь идет о Live системе, возможность найти собственный раздел будет полезна и уже установленной системе. Пользователь может переподключить диск на другой контроллер, воткнуть еще одну флешку, кроме загрузочной и т.д.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 30, 2013 10:30 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Сделать подмену макросом, как для svn:revision, а генерировать на сервере автосборок.

А если пользователь желает сам собрать свой дистрибутив - ему что теперь UUID генерировать руками?

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 30, 2013 11:29 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Quote:
З.Ы. У меня создалось впечатление что ты не понял тему.
Да, возможно, не совсем.
Quote:
Я не готов писать полноценный mount, да и для озвученной в теме идеи он не нужен.
Но монтировать раздел всё равно нужно и новая SysFn?
Quote:
Нельзя жестко прописать запуск видеоплеера, к примеру с /cd0/1/ потому что нельзя гарантировать его наличие именно по этому пути.
С одной стороны жёстко вообще ничего нельзя прописать(плееры могут быть разные, набор программ различаться). Но с другой стороны в конкретном дистрибутиве конкретный набор программ. Если прописать "/addappl/FPlay/fplay.kex", то, если плеер там будет, он запустится. Поэтому, если плеер у нас на cd\dvd, то нужно этот диск монтировать в "/addappl".
Quote:
Система после загрузки знает только о наличии /rd/1, о наличии других мест где можно брать программы, бибилотеки, данные - она не знает.
Quote:
Пользователь может переподключить диск на другой контроллер, воткнуть еще одну флешку, кроме загрузочной и т.д.
Ядро ведь сейчас и так монтирует диски\флешки? А самому ядру для работы не нужно никаких программ.
Quote:
Метка позволяет просмотрев все известные диски и разделы найти нужный.
Этот поиск будет происходить один раз при старте или постоянно во время работы?
Ведь при переподключении диск отмонтируется и нужно будет снова его монтировать.


Top
   
PostPosted: Thu May 30, 2013 1:38 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Почему вместо UUID нельзя использовать текстовый файл с содержанием <номер версии>+<номер ревизии>+<язык>+<опциональный текст для пользователя "этот файл служит для идентификации раздела /addappl или как его там"? Кажется, это более понятно для конечного пользователя.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Thu May 30, 2013 1:48 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Но монтировать раздел всё равно нужно и новая SysFn?

Я пока склоняюсь к предложению Serge - сделать код исключительно в ядре и он отработает до запуска приложения Launcher.
0CodErr wrote:
С одной стороны жёстко вообще ничего нельзя прописать(плееры могут быть разные, набор программ различаться). Но с другой стороны в конкретном дистрибутиве конкретный набор программ. Если прописать "/addappl/FPlay/fplay.kex", то, если плеер там будет, он запустится. Поэтому, если плеер у нас на cd\dvd, то нужно этот диск монтировать в "/addappl".

Содержимое меню определяется его составителем, в вот гарантия расположения плеера по пути "/addappl/FPlay/fplay.kex" как раз будет гарантироваться схемой описанной в первом пункте это темы.
0CodErr wrote:
Ядро ведь сейчас и так монтирует диски\флешки? А самому ядру для работы не нужно никаких программ.

Еще раз - ядро не знает точно откуда его загрузили. В настоящее время точная уверенность может быть лишь про наличие рамдиска.
0CodErr wrote:
Этот поиск будет происходить один раз при старте или постоянно во время работы?
Ведь при переподключении диск отмонтируется и нужно будет снова его монтировать.

А как думаешь Linux Live CD работает? Если заставить систему отдать CD диск (а сделать это не просто, так как разработчики обычно отключаю такую возможность) - Linux тоже будет очень "удивлен" отсутствию диска. Загрузочное устройство нельзя вынимать до завершения текущего сеанса работы. И это вторая причина почему я не хочу брать все файлы тупо смонтировав на /sys - в случае если пользователь дурак и вынул таки диск, у системы еще останется рамдиск с самыми важными приложениями и данными.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 30, 2013 1:50 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
CleverMouse wrote:
Почему вместо UUID нельзя использовать текстовый файл с содержанием <номер версии>+<номер ревизии>+<язык>+<опциональный текст для пользователя "этот файл служит для идентификации раздела /addappl или как его там"? Кажется, это более понятно для конечного пользователя.

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

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu May 30, 2013 4:39 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Quote:
А если пользователь желает сам собрать свой дистрибутив - ему что теперь UUID генерировать руками?
А что мешает ? Так же как и lang.inc создавать.

Quote:
Почему вместо UUID нельзя использовать текстовый файл с содержанием <номер версии>+<номер ревизии>+<язык>+<опциональный текст для пользователя "этот файл служит для идентификации раздела /addappl или как его там"? Кажется, это более понятно для конечного пользователя.
Кому как. Меня например парсинг строк ставит в тупик.
Идея была в том, что в корневом разделе диска создаётся каталог /KolibriOS и файл с совпадающим UUID именем подтверждает, что это именно тот каталог, который нужно смонтировать на /sys. В конце концов разделов с /KolibriOS может быть несколько, а поиск по имени файла раза в два быстрее поиска с последующим чтением. Это не мешает хранить в файле дополнительную информацию, например настоящий путь к программам KolibriOS.

Тогда так. В корневом каталоге хранится UUID файл, в котором записана вся информация необходимая ядру для монтирования /sys. Такой вариант позволит одновременно держать несколько разных дистрибутивов.
Таким способом можно делать многоязычные CD.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 115 posts ]  Go to page Previous 1 2 3 4 58 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited