首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置BeagleBone/Angstrom的引导脚本

设置BeagleBone/Angstrom的引导脚本
EN

Unix & Linux用户
提问于 2012-08-20 20:44:52
回答 3查看 16.6K关注 0票数 3

我正在努力在BeagleBone上设置pinmux,以便能够访问多个UARTS。操作系统是Angstrom (演示映像,如果这有帮助的话)。我有一个shell脚本:

代码语言:javascript
复制
#!/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供使用。现在,我希望这个脚本在引导时运行,这样我就不必每次都搞砸它。为了做到这一点,我应该把这个/做一个链接放在哪里?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2012-10-24 15:19:45

所以,在深入挖掘之后,我找到了正确的方法。Angstrom使用systemd在引导时启动一些内容,因此将其放在/etc/rc*n*.d中不能正常工作。相反,你做一个服务,告诉系统它,然后它自动工作。

在/lib/system/system中,我创建了一个名为pinmux.service的文件:

代码语言:javascript
复制
[Unit]
Description=Setting up Pinmux

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

[Install]
WantedBy=multi-user.target

这将调用我的主目录中名为pinmux.sh的shell脚本,它执行所有设置,如我在问题中所述。

要启用它,请调用systemctl enable pinmux.service,然后是systemctl start pinmux.service

现在,脚本将在引导时被调用。

票数 2
EN

Unix & Linux用户

发布于 2012-09-28 09:43:30

刚刚检查了Angstrom,它是基于Debian的,所以将这些行复制到/etc/rc.local中就可以了:

代码语言:javascript
复制
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
EN

Unix & Linux用户

发布于 2012-09-28 09:21:10

作为新手,我知道两种方法,简单的一种是:在/etc/rc5.d中,您可以看到一些文件的名称以某些数字开头,这些数字指定谁将首先开始,并且它们分别从第一个数字开始到最后一个数字。把你的脚本和最后一个数字放在这里:

代码语言:javascript
复制
vi /etc/rc5.d/S25yourScript.sh

我假设S25是最后一个数字:)将脚本粘贴在这里并退出。当您重新启动一次您的脚本将工作时

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/45940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档