Установка сценариев начальной загрузки для BeagleBone/Angstrom

Я работаю над установкой pinmux на BeagleBone так, чтобы я мог получить доступ к нескольким UARTS. ОС является Ангстремом Linux (демонстрационное изображение, если это помогает). У меня есть сценарий оболочки:

#!/bin/sh

echo "Configuring Pinmux"

echo 0 > /sys/kernel/debug/omap_mux/uart1_txd
echo 20> /sys/kernel/debug/omap_mux/uart1_rxd

echo "UART 1 (TX):"
cat /sys/kernel/debug/omap_mux/uart1_txd
echo

echo "UART 1 (RX):"
cat /sys/kernel/debug/omap_mux/uart1_rxd
echo

echo 1 > /sys/kernel/debug/omap_mux/spi0_d0
echo 21> /sys/kernel/debug/omap_mux/spi0_sclk

echo "UART 2 (TX):"
cat /sys/kernel/debug/omap_mux/spi0_d0
echo

echo "UART 2 (RX):"
cat /sys/kernel/debug/omap_mux/spi0_sclk
echo

Который настраивает UARTS для использования. Теперь, я хочу, чтобы этот сценарий работал на начальной загрузке, так, чтобы я не смешивал с ним каждый раз. Куда я должен поместить этот/, делают ссылку, чтобы сделать это?

3
28.09.2012, 12:51
3 ответа

Так, после большого рытья я нашел корректный способ сделать это. Ангстрем использует systemd для запуска вещей на начальной загрузке, так помещение вещей в/etc/rc*n*.d не работает правильно. Вместо этого Вы делаете сервис, говорите systemd об этом, и затем он работает автоволшебно.

В/lib/systemd/system я создал файл, названный pinmux.service:

[Unit]
Description=Setting up Pinmux

[Service]
ExecStart = /home/**username**/pinmux.sh

[Install]
WantedBy=multi-user.target

Это называет сценарий оболочки в моем корневом каталоге названным pinmux.sh, который делает всю установку, как отмечено в моем вопросе.

Для включения его звонить systemctl enable pinmux.service, сопровождаемый systemctl start pinmux.service.

Теперь, сценарий назовут на начальной загрузке.

2
27.01.2020, 21:17
  • 1
    Интересно, существует ли путь к "systemctl, запускаются" в создании изображений. Кроме грязного способа создать ссылку в/etc/systemd/system –  Jaap Versteegh 07.05.2013, 20:19

Просто проверенный Ангстрем Linux, это - базирующийся Debian, так скопируйте эти строки в /etc/rc.local работал бы на Вас:

echo 0 > /sys/kernel/debug/omap_mux/uart1_txd
echo 20> /sys/kernel/debug/omap_mux/uart1_rxd
echo 1 > /sys/kernel/debug/omap_mux/spi0_d0
echo 21> /sys/kernel/debug/omap_mux/spi0_sclk
2
27.01.2020, 21:17

Как новичок, я знаю два способа сделать это, легкий прибывает: в /etc/rc5.d Вы видите некоторые файлы, имена которых, запускающиеся с некоторых чисел, который присваивается, кто собирается запуститься сначала, и они запускаются с первого числа для длительности числа соответственно. Поместите свой сценарий здесь с последним числом:

vi /etc/rc5.d/S25yourScript.sh

Я принимаю S25 последнее число :) вставляю Ваш сценарий здесь и выход. Когда Вы перезагрузите, после того как Ваш сценарий будет работать

1
27.01.2020, 21:17
  • 1
    не использует файл в/etc/rc*.d, использует ссылку вместо этого, помещает реальный файл в/etc/init.d –  daisy 28.09.2012, 12:51
  • 2
    да это правда, я сожалею. Необходимо поместить тот же сценарий в/etc/init.d также. Без него, не работа. Спасибо Warl0ck –  Ibrahim Arli 28.09.2012, 13:42

Теги

Похожие вопросы