Comments 17
Вы категорически неправильно используете линукс. От слова «совсем». Вы ставите дистрибутив общего назначения с интерфейсами общего назначения. Существует масса способов сделать странное — ctrl-shirt-u, Alt-Sys-Rq, Ctrl-Alt-Fx, etc. Более того, вынос логов на /var/log (на отдельный раздел) совершенно не решает задачи идемпотентности системы (то, что вы говорили про «многочисленные перезагрузки по питанию).
Как это делать Правильно:
1. Squashfs и система в ramdisk'e. После того, как ОС загрузилась, блочное устройство не примонтировано и не используется. Это гарантирует, что никакие сбои по питанию не приведут к ошибке при записи. Правильно настроенный ramdisk не даст сожрать слишком много памяти, а в случае runaway-процесса просто приведёт к перезагрузке системы (вместе с сбросом всей той гадости, что была в системе).
2. Приложение должно запускаться под голыми x'ами, без каких-либо login manager'ов. Идеальный вариант — systemd-unit, который зависит от X'ов, и является зависимостью multiuser.target. Там же можно настроить всё восхитительное: а) изоляцию приложения от системы. б) cgroups для лимитов ресурсов в) правила перезапуска г) Удобство мониторинга.
3. Доступ для обслуживания — только через заблокированные интерфейсы. ssh, serial console. Grub в режиме отключенной графики и клавиатуры (на экране не будет менюшек, менюшки будут на последовательных портах).
4. Отключены все plug-n-play штуки, которые не используются для системы. Вы никогда не знаете, какую замечательную PCI-to-USB плату вам воткнут в usb с доступом к системной плате.
5. Заблокированы все системные кнопки — ctrl-alt-del, suspend, alt-sysrq. Если интерфейс точ, то проще всего это сделать отключив клавиатуру „вообще“.
6. Отключены все режимы энергосбережения экранов.
7. В настройках сети выключены все странные вещи — приём ipv6 ra и privacy extensions (или ipv6 целиком), dhcp у ipv4 (если не DHCP в своей сети).
8. Отключены виртуальные консоли linux — графическая сессия и только. Для конфигурирования — ssh/serial.
Как это делать Правильно:
1. Squashfs и система в ramdisk'e. После того, как ОС загрузилась, блочное устройство не примонтировано и не используется. Это гарантирует, что никакие сбои по питанию не приведут к ошибке при записи. Правильно настроенный ramdisk не даст сожрать слишком много памяти, а в случае runaway-процесса просто приведёт к перезагрузке системы (вместе с сбросом всей той гадости, что была в системе).
2. Приложение должно запускаться под голыми x'ами, без каких-либо login manager'ов. Идеальный вариант — systemd-unit, который зависит от X'ов, и является зависимостью multiuser.target. Там же можно настроить всё восхитительное: а) изоляцию приложения от системы. б) cgroups для лимитов ресурсов в) правила перезапуска г) Удобство мониторинга.
3. Доступ для обслуживания — только через заблокированные интерфейсы. ssh, serial console. Grub в режиме отключенной графики и клавиатуры (на экране не будет менюшек, менюшки будут на последовательных портах).
4. Отключены все plug-n-play штуки, которые не используются для системы. Вы никогда не знаете, какую замечательную PCI-to-USB плату вам воткнут в usb с доступом к системной плате.
5. Заблокированы все системные кнопки — ctrl-alt-del, suspend, alt-sysrq. Если интерфейс точ, то проще всего это сделать отключив клавиатуру „вообще“.
6. Отключены все режимы энергосбережения экранов.
7. В настройках сети выключены все странные вещи — приём ipv6 ra и privacy extensions (или ipv6 целиком), dhcp у ipv4 (если не DHCP в своей сети).
8. Отключены виртуальные консоли linux — графическая сессия и только. Для конфигурирования — ssh/serial.
Я думаю это было его первое свидание с linux. Добавлю ещё, что если уж используется debian, то собрать образ автоматически не составит труда, при помощи debootstrap и chroot.
А для совсем энтузиастов, можно задействовать gentoo (что, кстати, многие и делают): если выпилить всё, что не нужно конечному устройству, то получиться небольшой оптимизированный под будущее железо дистрибутив. Правда в последнем варианте, будет собираться капец как долго.
А для совсем энтузиастов, можно задействовать gentoo (что, кстати, многие и делают): если выпилить всё, что не нужно конечному устройству, то получиться небольшой оптимизированный под будущее железо дистрибутив. Правда в последнем варианте, будет собираться капец как долго.
А можно вообще обойтись без иксов если приложение написано на QT — запускал так простой QML который открывает страничку в QTWebKit в режиме eglfs c GBM бэкэндом.
(одноплатник orange pi lite)
(одноплатник orange pi lite)
Сравнение Linux-у нужно 200 мбайт, а Windows 400 мбайт, это конечно очень подробное сравнение двух операционных систем.
Все-таки по таким примерам стоит сравнивать, например, два разных дистрибутива Linux.
А для двух настолько разных ОС, надо сравнивать какие преимущества и недостатки эти две экоструктуры дают, а затем уже сравнивать их потребление, понимая от чего отказываешься.
Все-таки по таким примерам стоит сравнивать, например, два разных дистрибутива Linux.
А для двух настолько разных ОС, надо сравнивать какие преимущества и недостатки эти две экоструктуры дают, а затем уже сравнивать их потребление, понимая от чего отказываешься.
Что то про android не заслуженно забыли, там тоже есть киоск мод
Считай из коробки.
Единственно только проблематично управлять удаленно. Но этот пункт почему то упущен в требованиях.
Считай из коробки.
Единственно только проблематично управлять удаленно. Но этот пункт почему то упущен в требованиях.
Заголовок спойлера
К системе не предъявляются особые требования по быстродействию или режимам реального времени, однако, необходимо чтобы интерфейс откликался на команды пользователя без ощутимых задержек;
Система должна быть устойчива к многократным жестким перезагрузкам, не должно быть необходимости выполнения специального сценария для завершения работы;
Должна быть предусмотрена возможность быстрого клонирования готовой сборки на серию устройств с выполнением всех необходимых настроек в автоматическом режиме.
Работал когда-то с банкоматами.
Везде был only windows, хотя казалось бы.
А причина проста: драйвера на специфичную для такого рода устройств периферию, угу, точнее их отсутствие под linux
Везде был only windows, хотя казалось бы.
А причина проста: драйвера на специфичную для такого рода устройств периферию, угу, точнее их отсутствие под linux
На рисунке плата Qotom pico itx c UEFI без BIOS. Кто скажет, реально на ней linux запустить?
Например, OpenWrt, а может Debian?
Например, OpenWrt, а может Debian?
1 — ели устанавливается крыска(xfce) то на кой ляд ещё и fluxbox? куча мусора ведь подтянется… не проще сразу fluxbox? например юзаю крыску и доволен почти всем.
2- зачем скрывать меню grub-а? вот прикинь не запускается основная конфигурация… а такое после обновления на новую версию частенько бывает. и как выбрать другую конфигурацию? а так в грубе стрелкой на клаве выбрал и нет проблем.
2- зачем скрывать меню grub-а? вот прикинь не запускается основная конфигурация… а такое после обновления на новую версию частенько бывает. и как выбрать другую конфигурацию? а так в грубе стрелкой на клаве выбрал и нет проблем.
Я правильно понимаю, аппетиты десятки никак не умерить в режиме IoT?
шановный, а какие это затраты при обслуживании Linux-а? О_о лет 5 юзаю и никому ни разу не платил. если руки и голова кривые, то наверное с лялексом не нужно связываться.
На сайте Microsoft есть хорошая инструкция, описывающая, что и как делать: docs.microsoft.com/en-us/windows-hardware/customize/enterprise/enterprise-custom-portal
Sign up to leave a comment.
Развёртывание встраиваемой системы на базе Windows и Linux