LuckFox System Configuration |
![]() |
Добавил(а) microsin |
[1. Shell Script] Shell это приложение, которое предоставляет интерфейс для взаимодействия между пользователем и ядром операционной системы (operating system kernel). Через shell пользователи могут посылать команды операционной системе, манипулировать файловой системой, запускать программы и выполнять различные системные задачи. Существует несколько разновидностей программ для shell (самые известные это sh, bash, csh, tcsh, ash), и все они представляют интерфейс командной строки, где пользователи вводят текстовые команды для выполнения различных задач. sh (Bourne Shell): sh часто используется в операционных системах Unix и Linux. Его создатель Stephen Bourne, и это был один из самых первых шеллов Unix. [2. Создание вашего первого скрипта] 1. Создайте с помощью текстового редактора (например nano) новый текстовый файл с именем luckfox.sh. Расширение файла .sh часто используют для обозначения скрипта шелла (shell script), однако расширение файла никак не влияет на выполнение скрипта. # nano luckfox.sh
2. Вставьте в этот файл следующий текст и сохраните файл: #!/bin/sh Строка теста, начинающаяся на #!/ (так называемый shebang) это соглашение, говорящее системе о том, какой использовать интерпретатор для выполнения скрипта. В данном случае будет использоваться /bin/sh в качестве интерпретатора. Вторая строка в этом файле использует команду echo для вывода текста "Hello Luckfox!" в стандартный вывод (обычно на экран терминала). Запуск этой команды в файле .sh эквивалентен непосредственному запуску команды в терминале. 3. Добавьте к этому файлу атрибут, разрешающий его выполнение как скрипта (execute permission): # chmod +x ./luckfox.sh
4. Запустите скрипт на выполнение: # ./luckfox.sh
Hello Luckfox !
[3. Настройка автостарта скрипта] В директории /etc/init.d/ вы можете найти скрипты системы, относящиеся к её процессам запуска (startup) и завершения (shutdown). # ls /etc/init.d/
S01seedrng S40network S99luckfoxconfigload
S01syslogd S49ntp S99luckfoxcustomoverlay
S02klogd S50sshd S99python
S02sysctl S50telnet S99rtcinit
S10udev S50usbdevice S99usb0config
S20linkmount S60micinit rcK
S20urandom S99_auto_reboot rcS
S21appinit S99hciinit
Когда система запускается, она сначала выполняет скрипт rcS, который в цикле выполняет ветвь сценариев старта (start branch) скриптов, у которых имена начинаются на S. Когда система завершает работу, она выполнит скрипт rcK, который подобным образом выполнит в цикле скрипты ветви останова (stop branch). Чтобы добавить скрипт, который запустится при старте системы (system startup), выполните следующие шаги: 1. Создайте новый скрипт с именем, начинающимся на S??*, в директории /etc/init.d/. S: обозначает скрипт ветви старта. 2. Реализуйте в скрипте ветви выполнения start и stop. Например: #!/bin/sh 3. Предоставьте файлу скрипта разрешение на выполнение: # chmod +x script_name
4. При необходимости подстройте приоритет запуска системных скриптов: # mv S99usb0config S90usb0config
# mv S99_auto_reboot S90_auto_reboot
5. Например, чтобы светодиодный индикатор оставался постоянно включенным после запуска, вы можете назвать крипт S99LED. Это гарантирует, что он будет выполняться последним за за системными сценариями (убедитесь, что нет ни одного скрипта, имя которого начинается с S99). #!/bin/sh В этом скрипте: • Используется переменная GPIO_PIN, чтобы указать номер ввода GPIO. [4. Установка статического IP] Если вы хотите установить статический IP-адрес для сервера, и избежать случайного назначения IP роутером, то вы можете применить настройку статического IP. Но перед этим убедитесь, что: • Используете статический IP из той же подсети, что и ваш роутер, к которому подключаетесь. Пример скрипта для установки статического IP: #!/bin/sh В этом скрипте: • Оператор ifconfig eth0 192.168.10.66 netmask 255.255.252.0 устанавливает настройку IP для сетевого интерфейса eth0. Отредактируйте эту строку (укажите IP-адрес и маску подсети) в соответствии с вашими требованиями. [Ссылки] 1. LuckFox System Configuration site:wiki.luckfox.com. |