昨天在寫關(guān)于linux設(shè)置腳本開機(jī)啟動的文章時(shí),有個疑問就是開機(jī)時(shí)怎么確認(rèn)運(yùn)行級別,然后遍歷執(zhí)行/etc/rcN.d/目錄下的所有服務(wù)程序。帶著疑問, 在前人的基礎(chǔ)上 學(xué)習(xí)總結(jié)一下linux系統(tǒng)初始化的工作的內(nèi)容,現(xiàn)在樹莓派4B上展示出來。
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),城口網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:城口等地區(qū)。城口做網(wǎng)站價(jià)格咨詢:13518219792
1、加載內(nèi)核
當(dāng)計(jì)算機(jī)打開電源后,首先是BIOS開機(jī)自檢,按照BIOS中設(shè)置的啟動設(shè)備(通常是硬盤)來啟動。操作系統(tǒng)接管硬件以后,首先讀入 /boot 目錄下的內(nèi)核文件。樹莓派4B的內(nèi)核是Raspbian GNU/Linux 10 (buster),基于Debian。
2、初始化進(jìn)程init
內(nèi)核文件加載以后,運(yùn)行第一個程序init,它的作用是初始化系統(tǒng)環(huán)境。init位于目錄/sbin,進(jìn)程號PID為1,即1號進(jìn)程,其他所有進(jìn)程都由init衍生,是init的子進(jìn)程。
同時(shí)還有個0號進(jìn)程,idle進(jìn)程,在系統(tǒng)初始化時(shí)由內(nèi)核kernel自身從無到有創(chuàng)建,通過調(diào)用kernel_thread創(chuàng)建一個內(nèi)核線程去執(zhí)行init函數(shù),0號進(jìn)程創(chuàng)建1號進(jìn)程。
3、運(yùn)行級別
具體介紹請參考筆者的文章-Linux運(yùn)行級別簡介? ,但是開機(jī)時(shí)是怎么確定運(yùn)行級別的呢?
init進(jìn)程首先讀取文件 /etc/inittab,它是運(yùn)行級別的設(shè)置文件。但是各個發(fā)行版不太一樣,init的配置文件也不一樣,有可能使用/etc/event.d里面的配置文件,最新版的改用為/etc/init目錄。
4、開機(jī)啟動程序
具體詳情請參考文章-linux中/etc/init.d設(shè)置開機(jī)啟動 ,確定運(yùn)行級別后,執(zhí)行rcN.d目錄下的文件,這些鏈接文件是連接到init.d目錄下的程序。init進(jìn)程逐一加載開機(jī)啟動程序,其實(shí)就是運(yùn)行這個目錄里的啟動腳本。
比如運(yùn)行級別為5(圖形化多用戶)時(shí)啟動的程序:
5、用戶登錄
開機(jī)啟動程序加載完畢以后用戶登錄。用戶的登錄方式有三種:
命令行登錄:init進(jìn)程調(diào)用getty程序。
ssh登錄:init進(jìn)程調(diào)用sshd程序。
圖形界面登錄:init進(jìn)程調(diào)用顯示管理器,Gnome圖形界面對應(yīng)的顯示管理器為gdm。
6?、login shell
默認(rèn)shell時(shí)bash,命令行界面,讓用戶可以直接與操作系統(tǒng)對話。讀取環(huán)境變量,具體請參考筆者文章-Linux環(huán)境變量的設(shè)置。
最近研究命令行下,遠(yuǎn)程喚醒(Wake On LAN)家里的windows臺式機(jī)。
linux下可以用 etherwake 這個軟件,發(fā)送魔術(shù)封包(Magic Packet)遠(yuǎn)程喚醒機(jī)器。
我用的是樹莓派,記錄一下遠(yuǎn)程喚醒的方法。
首先安裝 etherwake (基于Debian / Ubuntu )
安裝完成后,可以用下面的命令遠(yuǎn)程喚醒
或者(下面兩個命令我沒有親自嘗試過)
比如你的MAC地址是 AA:BB:CC:DD:EE:FF ,就可以用
發(fā)送魔術(shù)封包喚醒遠(yuǎn)程機(jī)器。
其實(shí)還有其他一些細(xì)節(jié),以后有機(jī)會慢慢補(bǔ)充吧。
參考文章:
[1] HowTo: Wake Up Computers Using Linux Command [ Wake-on-LAN ( WOL ) ]
無論是Linux還是Python,其學(xué)習(xí)過程對于硬件都沒什么要求,對于知識的掌握才是核心。
理論上用樹莓派學(xué)習(xí)當(dāng)然可以,但是鑒于你依然處于初學(xué)者水平,特別是Linux相關(guān)的不夠熟練,還是不太建議你是用樹莓派來進(jìn)行學(xué)習(xí)。
如你所見,樹莓派是一個很需要DIY能力的“玩具”,非??犰牛珜τ谌腴T學(xué)習(xí)幾乎沒有什么幫助——特別是對于Python,即使Windows環(huán)境也完全不會影響你的學(xué)習(xí)。
請記?。涸谖慈腴T之前,應(yīng)該盡力去降低自己的學(xué)習(xí)難度,而不是為了好玩或者其他原因,來憑空給自己的學(xué)習(xí)道路增加許多麻煩。
分享題目:樹莓派的linux命令行 樹莓派調(diào)出命令行
轉(zhuǎn)載注明:http://aaarwkj.com/article48/hhphhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、移動網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、電子商務(wù)、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)