•Немного о Линуксе и файловой системе ресивера.
• Итак, перед вами
Galaxy Innovations Gi S9895, полный аналог для российского рынка ресивера
Vu+ Duo. В качестве операционной системы в ресивере используется
Linux, собранная под архитектуру
MIPS. Версия linux-ядра - 2.6.18-7.3. Операционные системы для подобных устройств называются embeded - что в переводе означает "встраиваемая".
Сердцем ресивера является процессор
Broadcom - BCM7335 архитектуры MIPS, аналогичный применяемым в ресиверах DMM.
Ядро операционной системы Linux в ресивере отвечает за всё - за работу с памятью, с сетевыми устройствами, с дисковыми устройствами, с шиной I2C, по которой управляются тюнеры, работу пульта ДУ и т.д.
Вкратце всю систему на пальцах можно представить так:
Имеется Embedded Linux, ядро которого содержит busybox как набор утилит, скомпилированных в одном файле. Далее имеется сверху надстройка Enigma2, собственно и предоставляющая собой графический интерфейс пользователя. Написана она на языке
Python.
В нашем ресивере корневая структура Линукс выглядит так:
• Описание корневых папок в структуре файловой системы ресивера:
• Группа каталогов с исполняемыми файлами:
- /bin
- /sbin
- /usr/bin
- /usr/sbin - каталоги, содержащие основные исполняемый файлы системы (бинарники). Содержимое этих каталогов нам будет нужно постоянно в работе с системой, но совершенно ни к чему туда часто заглядывать. Проще говоря туда лучше не лазить, если не знаешь что там и для чего.
•/boot - это папка файлов, требуемых для запуска операционной системы. Здесь находится стартовая заставка bootlogo. Именно её мы видим сразу при старте ресивера.
•/etc - каталог с основными конфигурационными файлами системы и стартовыми сценариями.
- /etc/enigma2, служит для хранения настроек ресивера. В частности при смене имиджа на новый, достаточно перенести эту папку, что бы ни чего заново не настраивать, кроме эмулятора и дополнительных плагинов.
- /etc/init.d - подкаталог, в котором находятся скрипты для запуска основных сервисов;
- /etc/rc.d и(или) /etc/rc.d.X - каталоги, определяющие порядок запуска сервисов;
- в подкаталоге
/etc/tuxbox лежит файл
sattelite.xml со списком всех возможных спутников и транспондеров;
- в подкаталоге
/etc/tuxbox/config должны располагаться файлы конфигурации эму
MPCS;
- файл
/etc/fstab содержит список устройств и файловых систем которые монтируются при запуске системы.
• /dev - содержит список всех обнаруженных linux-ядром устройств. Это могут быть жесткие диски, USB порты и т.д. Все устройства представляются в виде спец. файлов. Для того чтобы обратиться к каком-либо устройству необходимо указать этот "файл". Например:
/dev/sda1 - первый раздел диска (hdd или флеш-диска)
•/home - личная папка юзера системы (root), домашний каталог, аналог папки типа "Мои документы" в windows-системах.
•/lib и /usr/lib - каталоги системных библиотек и модулей ядра необходимые для исполняемых файлов содержащихся в
/bin и /sbin.
- /lib/modules/2.6.18-7.3/ - содержит модули ядра (драйвера устройств).
- /lib/modules/2.6.18-7.3/extra - содержит дополнительные модули ядра, например драйвера тюнера и остального специфического железа ресивера.
•/proc и /sys - это псевдофайловые системы. Т.е. внутренняя файловая система, хранящая самые свежие сведения обо всех процессах, запущенных на вашем ресивере. Содержимое каждого файла определяется в реальном времени и находится в памяти ОС. Через них обеспечивается прямой доступ к устройствам.
/proc/ - содержит специальные файлы, которые извлекают или посылают информацию ядру. (Да-да, в Linux можно управлять всем, даже ядром!) В качестве примера можно привести информацию о процессоре
(/proc/cpuinfo) и системной памяти
(/proc/meminfo). Пользоваться этими каталогами нет необходимости. Прочитали, узнали и забыли.
•/tmp - каталог для хранения временных файлов, все файлы в нем удаляются после перезагрузки. В этот каталог помещают пакеты плагинов
(*.ipk, *.tar) для установки, лог-файлы и т.п.
• /var - содержит различную (variable) информацию используемую приложениями, включая логи, буферы и т.д., т.е. специальный каталог, где находятся часто меняющиеся данные.
Внутри
/var имеются подкаталоги сведений,
/lig системные журналы,
/run запущенные демоны и т.д.
- /var/log - используется приложениями как хранилище логов;
- /var/lock - используется для записи lock-файлов позволяющих отслеживать какие ресурсы в данный момент используются;
В принципе при использовании нашей OS, он не используется для настройки пользователем и содержит в себе все необходимые симлинки на рабочие папки в
/usr. Например
/var/keys - в нем ищет свои настройки эмулятор MGCamd, но т.к. папка временная, её нет. Вместо неё там находится ссылка на каталог с настройками
/usr/keys.
•/usr - каталог программ пользователя. Тут находится сама оболочка Enigma2, плагины, скины и все, что к ним необходимо.
- подпапка
/usr/keys служит для размещения файлов конфигурации эмуляторов и файлов ключей;
- подпапка
/usr/sсriрt отведена для личных скриптов. В ней как раз и находятся скрипты (файлы с расширением .sh) запуска установленных эмуляторов в ресивере;
- подпапка
/usr/lib/enigma2/python содержит основные файлы Энигмы (в частности, например в /usr/lib/enigma2/python/Plugins Extensions содержатся установленные плагины);
- подпапка
/usr/share/ хранит так же файлы bootlogo;
- подпапка
/usr/share/enigma2 для скинов и начальных настроек;
- подпапка
/usr/share/fonts содержит все системные шрифты и и шрифты для скинов.
Следует знать, что в Linux нет понятия системный диск. А есть единый каталог, он называется корень файловой системы в котором размещаются все последующие каталоги (каталоги с программами, файлами конфигурации и т.д.)
При подключении жесткого диска или флешки linux-ядро определяет их, так же определяются разделы и файловые системы на этих носителях и в соответствии с этими данными в каталоге
/dev создаются файлы соответствующего устройства.
Для того чтобы начать использовать жесткий диск или флешку их необходимо смонтировать. Монтирование может происходить автоматически либо в ручном режиме. Как правило при подключении жесткого диска или флешки они монтируются автоматически и от пользователя не нужно никаких доп. действий.
• Все сменные устройства HDD, USB DVD, USB Flash монтируются в каталог
/media
- /media/hdd - точка монтирования для жестких дисков;
- /media/usb - точка монтирования для usb-flash дисков.
•/mnt - зарезервирована для временно подключаемых файловых систем. Для подключения накопителей рекомендуется использовать директорию
/media/. Автоматически определяемые накопители буду доступны так же в директории
/media/* .
Вот вкратце вы и получили небольшое представление об операционной системе ресивера и его файловой структуре.