應用程式放到/etc/profile中自己開機啟動的程式,但是不能自啟動,需要在超級終端敲回車,"please press enter to activate this console",等待使用者輸入回車才能進入qt程式。
解決方法:
從開發板的角度講,一般只要在/etc/init.d/rcs中加入你的程式或者指令碼命令就可以實現開機自動執行;想在超級終端輸入回車,登入後執行,則可以在/etc/profile中加入命令;如果想去掉每次開機完後的「please press enter to activate this console」這句,也就是實現開機自動登入,可以在/etc/inittab中仿照busybox中example的inittab寫,只是將::askfirst:-/bin/sh改為::respawn:-/bin/sh即可,如果發現沒有inittab那麼就自己建乙個,其他的板子可以根據自己的情況修改指令碼,都差不了多少。
inittab指令碼:
::sysinit:/etc/init.d/rcs
::respawn:-/bin/sh
由於預設的核心命令列上有init=/linuxrc, 因此,在檔案系統被掛載後,執行的第乙個程式是根目錄下的linuxrc。 這是乙個指向/bin/busybox的鏈結,也就是說,系統起來後執行的第乙個程式也就是busybox本身。這種情況下,busybox首先將試**析/etc/inittab來獲取進一步的初始化配置資訊(參考busybox源**
init/init.c中的 parse_inittab()函式)。而事實上,root_qtopia中並沒有/etc/inittab這個配置檔案,根據busybox的邏輯,它將生成預設的配置
。因此如果需要的話,是可以自己新增/etc/inittab這個配置檔案,對busybox預設執行稍加修改即可達到你所要求的。
接下來初始化的指令碼就是/etc/init.d/rcs
................................
......................................
多rcs中自己可以看到都執行了哪些操作,以及最後才載入qtopia。在開機啟動後,有些程式需要新增&來使其再後台執行,如載入qtopia,但是我們希望在開機後實時顯示日誌檔案或者我們的應用程式寫到檔案中的資訊怎樣來做呢?首先,利用》 /dev/tty1是將輸出重定向到tty1(顯示屏);這時可以嘗試把自己開機啟動的程式放到/etc/profile中,作為我這個使用者在自己登入時必須執行的程式,就像在超級終端中輸入命令後的結果一樣。
# grep ./* -e "/dnake/bin/dnake_control" -s
./monitor:/dnake/bin/dnake_control &
./monitor_main:/dnake/bin/dnake_control &
./monitor_rom:/dnake/bin/dnake_control &
./monitor:/dnake/bin/desktop -qws &
./monitor_main:/dnake/bin/desktop -qws &
./monitor_rom:/dnake/bin/desktop -qws &
# grep ./* -e "/dnake/bin/dnake_media" -s
./monitor:/dnake/bin/dnake_media &
./monitor_main:/dnake/bin/dnake_media &
./monitor_rom:/dnake/bin/dnake_media &
# grep ./* -e "/dnake/bin/dnake_talk" -s
./monitor:/dnake/bin/dnake_talk &
./monitor_main:/dnake/bin/dnake_talk &
./monitor_rom:/dnake/bin/dnake_talk &
# grep ./* -e "/dnake/bin/dnake_player" -s
./monitor:/dnake/bin/dnake_player &
./monitor_main:/dnake/bin/dnake_player &
./monitor_rom:/dnake/bin/dnake_player &
1、/etc/inittab 檔案中新增
::sysinit:/dnake/etc/rcs &
2、/dnake/etc/rcs 檔案中新增
3、/dnake/bin/talk.sh 檔案中新增
mkdir /var/bin
cp /dnake/bin/ns_logger /var/bin
/var/bin/ns_logger &
cp /dnake/bin/monitor /var/bin
/var/bin/monitor &
4、/var/bin/monitor 程序中啟動 這幾個程序
/dnake/bin/dnake_player
/dnake/bin/dnake_talk
/dnake/bin/dnake_media
/dnake/bin/desktop
/dnake/bin/dnake_control
linux自動執行程式
linux 的啟動指令碼位於 etc init.d rcs 注rcs中 s是大寫字母 vi etc init.d rcs 進入vi後,按i 編輯.移動上下左右鍵到,你想插入的位置,然後打字。這時跟記事本是一樣的。打完字後,按esc 然後輸入 wq 注,第乙個字元是冒號 也要輸入 就儲存退出了。若想自...
嵌入式系統上電,程式的執行過程
cpu匯流排介面圖 首先,程式以機器碼的形式,即二進位製碼的形式存在flash中 上電後,cpu通過控制器將待執行的程式從flash中讀入記憶體中 在記憶體中執行時,控制器將需要計算的資料存入暫存器中 運算器從暫存器中讀取資料進行運算,並將結果存入暫存器中 控制器將暫存器中的結果讀入記憶體中 由此,...
Linux上程式執行的入口 Main
main 函式,想必大家都不陌生了,從剛開始寫程式的時候,大家便開始寫main 我們都知道main是程式的入口。那main作為乙個函式,又是誰呼叫的它,它是怎麼被呼叫的,返回給誰,返回的又是什麼?這次我們來 一下這個問題。1.main 函式的形式 先來說說main函式的定義,較早開始寫c程式的肯定都...