日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Beaglebone Black——开机自动运行程序

發(fā)布時間:2023/12/18 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Beaglebone Black——开机自动运行程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上接《修改設(shè)備樹文件》一文

? ? ? ? ? ?現(xiàn)在每次開機都能看到/dev/rtc1了,那么我們還需要一個應(yīng)用程序來把時間從RTC讀取出來更新到系統(tǒng)中,然而通過linux系統(tǒng)自帶的一個程序hwclock,我們就可以把RTC的時間更新到系統(tǒng)中來,不需要自己動手省了很多麻煩。當(dāng)然這個程序需要附帶幾個參數(shù),其功能如下:

查看rtc1的時間

hwclock -r -f /dev/rtc1

將系統(tǒng)的時間更新到rtc1

hwclock -w -f /dev/rtc1?

將rtc1的時間更新到系統(tǒng)

hwclock -s -f /dev/rtc1


? ? ? ? 到現(xiàn)在我們的目的還沒有完全達成,雖然開機后系統(tǒng)能自動把驅(qū)動硬件的接口(/devrtc1)外露出來,但是我們總不能每次開機后手動運行hwclock -s -f /dev/rtc1來更新系統(tǒng)時間吧,所以需要學(xué)會開機讓程序自動運行。第一步,先寫一個腳本用來更新時間。

#!/bin/sh ### BEGIN INIT INFO # Provides: RTC.sh # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: date # Description: get correct date information ### END INIT INFO#/etc/init.d/RTC.sh#The following part always gets executed. echo "zy"#The following part carries out specific functions depending on arguments. case "$1" instart)echo "Reading date from /dev/rtc1......"hwclock -s -f /dev/rtc1echo "Done!";;stop)echo "Stopping RTC";;*)echo "Usage: /etc/init.d/RTC.sh {start|stop}"exit 1;; esacexit 0

01:每一個腳本的第一句特別注釋,用于向系統(tǒng)指定運行本腳本的shell

02-10:這是一段專門格式用于給insserv程序識別的LSB信息,通過這些信息insserv可以知道應(yīng)該把你的腳本安排在一系啟動腳本中哪個順序開始運行。留待后面細說。

12:注解本腳本將要存放的絕對位置

14-15:這個地方不管任何情況此處的語句都會被執(zhí)行,按需要寫自己想要做的事情即可。

17-31:一個case結(jié)構(gòu),分成了三種情況,如果$1為start,那么做A事,然后跳出case結(jié)構(gòu);如果$1為stop,那么做B事,然后跳出case結(jié)構(gòu);如果$1為其他,那么做C事,然后以exit 1退出腳本。此處A事中的hwclock -s -f /dev/rtc1就我是最想做的事情,把RTC1的時間再開機之后更新到系統(tǒng)中。B事就隨便寫寫意思意思。C事是屬于報錯情況,腳本會以exit 1 退出。此處$1表示運行腳本時跟在后面的第一個參數(shù)。留待后面細說。

? ? ? ??現(xiàn)在啟動腳本寫好了,關(guān)鍵是如何讓他開機自動運行?

? ? ? ??將此腳本復(fù)制到/etc/init.d目錄下,然后賦予可執(zhí)行權(quán)限755.

? ? ? ??通過insserv -v -d/etc/init.d/RTC.sh,搞定!

? ? ? ??如果想去掉這個開機自動運行效果,運行insserv -r?/etc/init.d/RTC.sh即可。

? ? ? ??

解釋!

? ? ? ??linux系統(tǒng)有7個運行級別,每個級別代表了系統(tǒng)不同的運行狀態(tài),如下

? ? ? ??0 ?停機
? ? ? ??1 ?單用戶模式
? ? ? ??2 ?多用戶,沒有NFS
? ? ? ??3 ?完全多用戶模式
? ? ? ??4 ?保留
? ? ? ??5 ?圖形界面
? ? ? ??6 ?重新啟動

? ? ? ? 并非所有的linux系統(tǒng)都是上面這種標(biāo)準(zhǔn),每個系統(tǒng)也可能隨著版本而變化,事實上還可以定義更多的運行級別。在BBB的debian系統(tǒng)上2-5都是多用戶運行狀態(tài),這個情況可以通過查看/etc/inittab來查看,并且還可以知道開機之后BBB會進入默認的運行級別2。


? ? ? ? 當(dāng)我們開機后,系統(tǒng)進入默認運行級別中,如果默認級別設(shè)置為2,那么開機之后自動進入字符界面,如果設(shè)置為5,開機之后進入圖形界面,注意默認級別不能設(shè)置為0和6,否則無法啟動系統(tǒng)!進入默認級別后我們可以通過init N手動切換到其他的級別,比如想要關(guān)機了,可以直接運行init 0,想重啟了可以直接運行init 6。但是不建議這種操作,最好還是使用reboot和shutdown來達到目的,因為調(diào)用reboot和shutdown后會把一些關(guān)機之前的善后工作完成,然后再自動切換到其它運行級別。而我們直接手動切換到0和6,則相當(dāng)于我們平時直接強制按restart按鈕或者直接斷電關(guān)機。

? ? ? ??對于每一個運行級別,/etc/rcN.d/目錄下都有一些對應(yīng)的鏈接文件,這些鏈接都指向了/etc/init.d目錄中的腳本或者可執(zhí)行文件。也許這種組織方式更方便些吧。而這些鏈接文件都有一個特定的順序,因為系統(tǒng)進入一個特定的運行級別后都要按照特定順序來完成一系列事情。順序由這些鏈接文件名字的第二個和第三個數(shù)字(兩位數(shù)字的范圍是01-99)來決定,而做什么事情由/etv/init.d下的腳本和可執(zhí)行文件決定。在/etc/rcN.d/目錄下文件以K開頭的表示kill,運行這個鏈接文件指向的腳本時后面會跟上一個stop參數(shù),于是$1就成了stop;以S開頭的文件表示start,運行這個鏈接文件指向的腳本時后面會跟上一個start參數(shù),于是$1就成了start.

? ? ? ??內(nèi)核初始化完成后,會有一個初始進程init,這個進程會根據(jù)/etc/inittab中的設(shè)置進入默認運行級別2,然后根據(jù)/etc/rc2.d中的鏈接文件順序來執(zhí)行鏈接指向的腳本,而我們已經(jīng)把前面寫好的腳本放在了/etc/init.d目錄下,并且賦予了可執(zhí)行權(quán)限,那么現(xiàn)在還需要/etc/rcN.d目錄下的一個鏈接文件來指向我們寫好的腳本,而這個鏈接文件的順序則是一個問題,因為我們無法手動安排這個順序,想要在進入運行級別2的時候就運行這個腳本不是簡簡單單的在rc2.d下加一個鏈接文件就可以搞定的事情,這就需要用到insserv這個工具。

? ? ? ??insserv是debian中專門用于管理不同運行級別中啟動腳本運行順序的一個工具,查看工具的幫助信息運行insserv -h。

? ? ? ??insserv在對你的鏈接文件進行排序的時候,正是根據(jù)你的LSB信息來決定的。

? ? ? ??# Required-Start:表示在本服務(wù)啟動之前需要已經(jīng)啟動的服務(wù)
? ? ? ??# Required-Stop:表示本服務(wù)必須可以在列出的服務(wù)關(guān)閉之前關(guān)閉

? ? ? ??這個邏輯關(guān)系向insserv表明了自己希望放在哪個順序,注意Required-StartRequired-Stop后面的變量必須來自

于/etc/insserv.conf文件中,不能自己隨便定義變量。

? ? ? ??Default-Start和Default-Stop表示你希望在哪些級別中以參數(shù)start運行,在哪些級別中以參數(shù)stop運行,比如你想在進入級別2-5之后都打開某個服務(wù),但是關(guān)機之前又記得把這個服務(wù)關(guān)閉,那么insserv會先根據(jù)你的Required-StartRequired-Stop決定出你的順序,然后再rc2.d-rc5.d這幾個文件夾中放置同樣以S開頭的鏈接文件指向你的腳本,同時在rc0.d中放置一個以K開頭的鏈接文件指向你的腳本,如此一來,只要你的啟動腳本中的case結(jié)構(gòu)針對start參數(shù)做出開啟服務(wù)的動作,針對stop參數(shù)做出關(guān)閉服務(wù)的動作,就可以實現(xiàn)你的目的了。

? ? ? ??insserv -v -d?/etc/init.d/RTC.sh

? ? ? ??加上-v,那么運行這個命令后,程序會告訴你他在哪些rcN.d目錄下放置了以S開頭的鏈接文件,在哪些rcN.d目

錄下放置了以K開頭的鏈接文件。

? ? ? ??加上-d表示在運行級別上依據(jù)LSB中的默認信息Default-StartDefault-Stop來決定。

root@beaglebone:/etc/init.d# insserv -v -d RTC.sh insserv: enable service ../init.d/RTC.sh -> /etc/init.d/../rc0.d/K01RTC.sh insserv: enable service ../init.d/RTC.sh -> /etc/init.d/../rc1.d/K01RTC.sh insserv: enable service ../init.d/RTC.sh -> /etc/init.d/../rc2.d/S18RTC.sh insserv: enable service ../init.d/RTC.sh -> /etc/init.d/../rc3.d/S18RTC.sh insserv: enable service ../init.d/RTC.sh -> /etc/init.d/../rc4.d/S18RTC.sh insserv: enable service ../init.d/RTC.sh -> /etc/init.d/../rc5.d/S18RTC.sh insserv: enable service ../init.d/RTC.sh -> /etc/init.d/../rc6.d/K01RTC.sh insserv: creating .depend.boot insserv: creating .depend.start insserv: creating .depend.stop

? ? ? ??事實上還嘗試過update-rc.d這個工具,但是在BBB的debian中這個工具并不好用,亂七八糟無法管理好,貌似這個工

具好像也是在調(diào)用insserv做事的。


總結(jié)

以上是生活随笔為你收集整理的Beaglebone Black——开机自动运行程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 爱爱免费网站 | 能看的毛片 | 精品人妻一区二区免费视频 | 狠狠人妻久久久久久 | 国产美女精品人人做人人爽 | 欧美日韩在线精品 | 手机av网站 | av片在线免费观看 | 亚洲草逼视频 | 不卡视频国产 | 欧美丰满一区二区免费视频 | www.99热| 免费黄色一级视频 | 人妻精品无码一区二区 | 九九爱国产 | 偷拍欧美亚洲 | 久久国产精品亚洲 | 日日操天天操 | 欧美精品免费视频 | 国产精品夜色一区二区三区 | 午夜怡红院| 毛片麻豆| 久久久性色精品国产免费观看 | 日韩精品一区二区亚洲av性色 | 国产对白羞辱绿帽vk | 五月网| 天堂一区二区三区 | 激情青青草| 青青成人| 日本高清网色 | 国产免费成人av | 亚洲23p| 女大学生的家政保姆初体验 | 欧美美女一区二区 | 伊人久久艹 | 日韩精品无码一区二区三区久久久 | 97免费超碰| 欧美猛男gaygay | 久久精品国产亚洲AV成人雅虎 | 亚洲 精品 综合 精品 自拍 | 黄色成人在线 | 国产小视频在线观看 | 亚洲欧美日韩国产一区 | 老版水浒传83版免费播放 | 色资源在线 | 五月婷婷丁香网 | 鬼灭之刃柱训练篇在线观看 | 成 年人 黄 色 片 | 无码人妻丰满熟妇区毛片蜜桃精品 | 日韩精品一区二区视频 | 亚洲视频色 | 国产欧美精品国产国产专区 | 亚洲爽爽 | 亚洲国产精品久 | 福利网址在线 | 91久久伊人 | 中国一级特黄视频 | a天堂在线观看视频 | 免费黄色av片 | 亚洲一区在线播放 | 极品尤物一区二区三区 | av导航福利 | 日韩欧美毛片 | 国产精品免费在线 | 91porny九色| 欧美激情性做爰免费视频 | 欧美天天性| 夜色精品| 欧美亚洲视频 | 成人黄色片免费 | 99热热热 | jizz日本免费 | 欧美成人精品欧美一级乱黄 | 亚洲1页 | 致命魔术电影高清在线观看 | 男女一级片 | av片一区二区 | 波多野结衣网址 | 97精品久久人人爽人人爽 | 少妇15p| www.黄色一片 | av手机在线看 | 亚洲色图美腿丝袜 | 91视频青青草 | 久久国产夫妻 | 国产在线麻豆 | 特黄aaaaaaaaa毛片免费视频 | 欧av在线| 亚洲精品在线看 | 成人欧美一区二区三区黑人冫 | 福利视频黄色 | 中文字幕亚洲乱码熟女一区二区 | 18女人毛片| 精品一区二区三区视频日产 | 捆绑无遮挡打光屁股调教女仆 | 国产精品4p | 中文字幕在线观看一区 | 成人免费毛片嘿嘿连载视频 | 日本少妇毛茸茸高潮 |