Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Sep 23, 2019 7:07 pm

All times are UTC+03:00




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

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
В связи с планами выпуска дистрибутива 1.0.0.0, встает вопрос с ISO образом. Нынче на нем содержатся дополнительные программы, которые не влезли в образ рамдиска. Пользователь может их запускать, но разумеется для полноценной работы требуется ручками прописать ассоциации в файловых менеджерах. Разумеется это не годный подход.

Давно уже всплывала тема как дать загруженной системе знать, где находится диск с дополнительными приложениями. ЕМНИП первым предложил Serge - располагать контрольный файл, по которому система найдет нужный диск и раздел. Однако идея был не до конца проработана в деталях.

Предлагаю тут обсудить реализацию. Вот как я ее вижу.

Система при старте запускает не Launcher, а приложение, которое будет искать нужный раздел, с нужным контрольным файлом. Копия такого-же файла будет лежать на рамдиске, для быстрой смены образа без перекомпиляции. Если файлы совпадут по содержимому, то программа вызывает системную функцию, которая добавляет в корневой раздел ("/" ) диск с названием допустим "/addappl" и создает линк на найденный раздел (название не так принципиально, лишь бы не совпадало с уже существующими, например можно обозвать "/sys2"), который будет вторым после "/sys" приложением. Можно монтировать дополнительную директорию не в "/", а в "/sys", но такого кода у нас пока принципиально нет. Далее мы уже просто пользуемся, вызывая с использованием пути "/addappl/media/fplay", например для видеоплеера.

Есть один минус, который одновременно и плюс - никто не мешает во время работы ВНЕЗАПНО подменить директорию. Прав доступа у нас нет, потому я думаю можно на первых порах этот функционал в ядре сделать, чтобы не рожать дополнительных системных функций и обеспечить неизменность директории в продолжении хотя бы одного сеанса. С другой стороны в данный момент никто не мешает подменить "/sys" - или я уже путаюсь и оно не доступно к смене через системную функцию ядра?

В общем высказывайтесь, критикуйте - я не отрицаю что мои идеи и код на 90% говно, но для того здесь коллективный разум сообщества присутствует.

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


Top
   
PostPosted: Wed May 29, 2013 4:03 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
А ещё есть замечательный tmpdisk, с которого программы загружаются очень быстро. Многие live-системы грузят своё содержимое в память, и работают оттуда. Не панацея, потому что увеличивает время загрузки системы в целом. В общем-то, даже на 4x CD-ROM дополнительные файлы размером 20 Мб будут считываться аж 40 секунд, а на 52x - целых 4.


Top
   
PostPosted: Wed May 29, 2013 4:06 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SoUrcerer
И часто нам нужно запускать видеоплеер и другие толстые приложения? Я думаю копирование их на темповский диск не всегда оправдано. ALT Linux Live например прекрасно запускает такие приложения с самого исходного диска. К тому же наличие темповского раздела не решает проблемы с обнаружением исходного системного раздела, который может быть как на CD, DVD, так и на HD, USB, BD.

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


Top
   
PostPosted: Wed May 29, 2013 4:19 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Не решает. Ты прав.
Но концепция поиска и монтирования как /sys/somewhat/ мне нравится.


Top
   
PostPosted: Wed May 29, 2013 5:22 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4
Не по содержимому, пустой файл с именем - UUID строкой. И лучше делать это ещё в ядре. И монтировать на /sys, для подмены которой уже написан код.


Top
   
PostPosted: Wed May 29, 2013 6:12 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Не по содержимому, пустой файл с именем - UUID строкой.

Не есть хорошо с точки зрения ограничения на отдельные символы на разных файловых системах. У того что предложил я - нет ограничений на саму сравниваемую строку и ее длину - уникальность нужна.
Serge wrote:
И монтировать на /sys, для подмены которой уже написан код.

Монтировать с заменой "/sys" также не совсем хорошо - рамдиск работает быстрее и желательно "/sys" = "/rd/1", чтобы грузить основной набор программ именно с рамдиска.

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


Top
   
PostPosted: Wed May 29, 2013 6:33 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Вам не передать как я рад, что кто-то наконец в глобальном слысле подошёл к проблеме. Она в некотором смылсе уже решённа в KolibriN.

>>приложение, которое будет искать нужный раздел, с нужным контрольным файлом
именно такое приложение в KolibriN: http://websvn.kolibrios.org/listing.php ... 300457094c
запускается, ищет, и запускает установщик

Изначально было два варианта:
1. использовать файлы с того места, где мы их нашли
2. или копировать на tmp-диск

Плюсы первого варианта - не нужно копировать файлы. Быстрее приступаем к работе.
Плюсы второго варианта - долго копируем. Зато всё очень быстро запускается и диск на котором были ориг. файлы (CD/flash) можно извлечь.

Чесно: я не знаю какой вариант лучше. И всё же было бы неплохо завести ещё одну переменную типа /sys/ вроде /soft/ или любое другое название. Второй вариант не исключает первого.

_________________
Через тернии к звездам


Top
   
PostPosted: Wed May 29, 2013 6:40 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1150
Leency wrote:
Изначально было два варианта:
1. использовать файлы с того места, где мы их нашли
2. или копировать на tmp-диск

Плюсы первого варианта - не нужно копировать файлы. Быстрее приступаем к работе.
Плюсы второго варианта - долго копируем. Зато всё очень быстро запускается и диск на котором были ориг. файлы (CD/flash) можно извлечь.

Чесно: я не знаю какой вариант лучше. И всё же было бы неплохо завести ещё одну переменную типа /sys/ вроде /soft/ или любое другое название. Второй вариант не исключает первого.


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

_________________
я лишь учусь


Top
   
PostPosted: Wed May 29, 2013 6:49 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Тоже вариант. В KolibriN сейчас копирование запускается вручную и требует времени. Если этот процесс запустить в фоне после старта системы и начать копирование с самых маленьких/часто испольумых программ, то пользователь этот процесс может и не заметить.

_________________
Через тернии к звездам


Top
   
PostPosted: Wed May 29, 2013 6:52 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1150
В идеале можно было бы сделать еще никий файл со списком программ которые необходимо скопировать, таким образом человек смог бы настроить процесс опираясь на свои нужды.

_________________
я лишь учусь


Top
   
PostPosted: Wed May 29, 2013 7:49 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Leency wrote:
Она в некотором смылсе уже решённа в KolibriN.

>>приложение, которое будет искать нужный раздел, с нужным контрольным файлом
именно такое приложение в KolibriN: http://websvn.kolibrios.org/listing.php ... 300457094c
запускается, ищет, и запускает установщик

Изначально было два варианта:
1. использовать файлы с того места, где мы их нашли
2. или копировать на tmp-диск

1. Код в С-- это не мой выбор.
2. Судя по твоей сборке - она ничего не монтирует автоматически, тем более это никак не поддержано со стороны ядра. Так что такое решение в лучшем случае половинчатое и непрактичное.

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


Top
   
PostPosted: Wed May 29, 2013 7:52 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Тем не менее, нельзя отрицать, что это решение. И это решение таки решает кое-какие проблемы большинства простых пользователей, которые хотят, чтобы оно "просто работало". Видимо, направление верное. Вопрос в реализации.

А еще мне очень нравится идея кастомных сборок на сервере. Чтобы можно было собрать и систему в 200 кб, и полностью нашпигованную софтом.


Top
   
PostPosted: Wed May 29, 2013 8:00 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SoUrcerer wrote:
А еще мне очень нравится идея кастомных сборок на сервере. Чтобы можно было собрать и систему в 200 кб, и полностью нашпигованную софтом.

Можно написать веб-морду, которая передает выбранные пользователем пункты для сборки - я не думаю, что это настолько сложно. А готовая ссылка например хранится в течение часа. Разумеется необходимый минимум будет гарантированно присутствовать в образе рамдиска, а все опциональное запихиваться в ISO. Также нужно будет корректировать menu.dat

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


Top
   
PostPosted: Wed May 29, 2013 8:13 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Раньше такое было в Slax, но теперь убрали. Зато есть в Angstrom:
http://narcissus.angstrom-distribution.org/


Top
   
PostPosted: Wed May 29, 2013 8:34 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Mario_r4 wrote:
1. Код в С-- это не мой выбор.
2. Судя по твоей сборке - она ничего не монтирует автоматически, тем более это никак не поддержано со стороны ядра. Так что такое решение в лучшем случае половинчатое и непрактичное.

>>Она в некотором смысле уже решённа в KolibriN. Вам не передать как я рад, что кто-то наконец в глобальном слысле подошёл к проблеме.

Пожалуйста, читай внимательно и старайся уловить суть. У меня был опыт, я им поделился. Моё решение далеко не оптимальное и хорошо, что ты поднял этот вопрос, чтобы решить его на уровне ядра/системы.

_________________
Через тернии к звездам


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 115 posts ]  Go to page 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