一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全志Tina Linux下busybox init簡介

冬至子 ? 來源:丨budboool ? 作者:丨budboool ? 2023-11-15 14:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、簡介

tina 使用busybox init方式啟動,首先調(diào)用執(zhí)行pseudo_init(掛載文件系統(tǒng),如/proc、/tmp、/sys /etc、/usr),接著會調(diào)用/sbin/init進程,而init進程調(diào)用的第一個啟動腳本為/etc/init.d/rcS。

二、平臺的自定義

不同的平臺文件系統(tǒng)具有其共性與特殊性。tina/packge/busybox-init-base-files/files下提供了所有平臺的基礎(chǔ)文件。

而在tina/target/allwinner/XXX/busybox-init-base-files下存放的是平臺特性文件,其優(yōu)先級高于前者,即當(dāng)前者目錄和后者存在有相同文件時,以后者為準(zhǔn)。如有以下兩個文件:

A:tina/target/allwinner/r11-R11_pref1/busybox-init-base-files/etc/banner
B:tina/package/busybox-init-base-files/files/etc/banner

最終拷貝到文件系統(tǒng)中的為A。

三、pseudo_init與rcS

pseudo_init與rcS文件中存在很多平臺共性的代碼,避免系統(tǒng)充斥大量冗余代碼,以及方便基礎(chǔ)文件的維護和開發(fā)。所以不允許在特定平臺下自定義pseudo_init、rcS文件(必須使用tina/packge/busybox-init-base-files/files下的pseudo_init、rcS)。

如果需要添加平臺特定配置(pseudo_init,rcS沒有配置),可將其寫到rc.preboot,rc.final中,參考第四節(jié)。

四、rcS腳本

1.功能描述

(1)執(zhí)行/etc/init.d/rc.preboot。

為了滿足開機快速啟動的需求,提供了用戶可自定義rc.preboot文件,即在tina/target/allwinner/XXX/busybox-init-base-files/etc/init.d/目錄下創(chuàng)建rc.preboot腳本文件,將會被rcS最先調(diào)用執(zhí)行。

(2)配置打印級別,主機名稱。

(3)執(zhí)行/etc/init.d/rc.log,配置系統(tǒng)log信息。

系統(tǒng)默認(rèn)使用的是tina/package/busybox-init-base-files/files/etc/init.d/rc.log腳本進行配置系統(tǒng)log信息。用戶可在tina/target/allwinner/XXX/busybox-init-base-files/etc/init.d/下創(chuàng)建rc.log,自定義rc.log。

如果需要使用默認(rèn)rc.log,需要在make menuconfig配置。

Base system  --- >
     busybox-init-base-files......................... Busybox init base system  --- >
      [*]   Use the rc.log

(4)掛載UDISK。

(5)執(zhí)行/etc/init.d/rc.modules,加載內(nèi)核模塊。

系統(tǒng)默認(rèn)使用的是tina/package/busybox-init-base-files/files/etc/init.d/rc.modules腳本進行內(nèi)核模塊自加載,用戶可在tina/target/allwinner/XXX/busybox-init-base-files/etc/init.d/下創(chuàng)建rc.modules,自定義rc.modules。

如果需要使用默認(rèn)rc.modules,需要在make menuconfig配置如下。

Base system  --- >
     busybox-init-base-files......................... Busybox init base system  --- >
       [*]   Use the rc.modules

(6)啟動/etc/rc.d下的腳本。

關(guān)于執(zhí)行rc.d下的啟動腳本,目的為兼容procd式的應(yīng)用腳本。/etc/rc.d下的腳本是鏈接到/etc/init.d/下,默認(rèn)情況下只執(zhí)行adbd,如果需要執(zhí)行其他腳本,需要在tina/target/allwinner/XXX/busybox-init-base-files/etc/init.d/下,自定義load_script.conf文件,文件內(nèi)容中寫上要啟動的應(yīng)用,如adbd(注意,每一個應(yīng)用占一行)。可參考:tina/packge/busybox-init-base-files/files/etc/init.d/load_script.conf。

如果需要執(zhí)行rc.d下的啟動腳本,需要在make menuconfig做如下配置。

Base system --->
busybox-init-base-files......................... Busybox init base system --->
[*] Auto load the script in /etc/rc.d

(7)ota初始化。

(8)執(zhí)行/etc/init.d/rc.final,用戶自定義啟動腳本。

用戶可在tina/packge/busybox-init-base-files/files/etc/init.d/下創(chuàng)建一個rc.final腳本,自定義啟動應(yīng)用程序,該腳本將會被rcS最后調(diào)用執(zhí)行。

2.rc.preboot與rc.final的區(qū)別?

rc.preboot比rc.final先運行,在執(zhí)行rc.preboot腳本的時候,系統(tǒng)的一些初始化操作還沒完成,如掛載UDISK、內(nèi)核模塊自加載、ota等等操作。而rc.final執(zhí)行的時候,以上的初始化操作已經(jīng)完成。

五.如何寫應(yīng)用的啟動腳本

example:開機自啟動smartlinkd(tina/package/allwinner/smartlinkd/files/smartlinkd.init)

1.方法一(特定格式要求)

(1)procd式

#!/bin/sh /etc/rc.common   #本質(zhì)為script腳本,以#!開頭, 之后執(zhí)行/etc/rc.common
START=98        #開機啟動優(yōu)先級(序列) [數(shù)值越小, 越先啟動]
STOP=98            #關(guān)機停止優(yōu)先級(序列) [數(shù)值越小, 越先關(guān)閉]

USE_PROCD=1
PROG=smartlinkd

start_service() {    #啟動函數(shù)
    procd_open_instance
    procd_set_param command $PROG -d
    procd_close_instance
}

shutdown() {
    echo shutdown
}

(2)Sys式

#!/bin/sh /etc/rc.common
START=98
STOP=98

PROG=smartlinkd

start() {
  smartlinkd -d &
}

使用上述procd式和sys式腳本,既能兼容procd init啟動和busybox init的啟動方式。
另外如果使用的是busybox init的啟動方式,還需要在load_script.conf文件中換行添加內(nèi)容:smartlinkd

2.方法二(無特定格式要求)

創(chuàng)建rc.preboot或者rc.final腳本,添加啟動smartlinkd的內(nèi)容。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    605

    瀏覽量

    28613
  • RCS
    RCS
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    12993
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    V853的ARM A7和RISC-V E907之間的通信

    作者:DOT小文哥 V853芯片包含兩個CPU。一個是主核心Arm A7 CPU,運行Tina Linux自研Linux)系統(tǒng),為芯片
    發(fā)表于 07-27 15:32 ?1476次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>志</b>V853的ARM A7和RISC-V E907之間的通信

    D1-H tina Docker 編譯環(huán)境制作和使用

    /bash# 第一次執(zhí)行的時候,需要下載鏡像,會耗時比較久一點# 執(zhí)行完上面 docker 命令后, 會將本機 /opt/tina-sdk 映射到 docker 中的 /sdk ,就可以在 docker
    發(fā)表于 03-14 11:26

    Tina Linux的Ubuntu20.04交叉編譯OpenCV 4.5.2

    /libatomic.so* (target_path)2. diff如何應(yīng)用?- 百度一: linux patch用法原貼鏈接:https://bbs.aw-ol.com/topic/221/志在線開發(fā)者交流企鵝
    發(fā)表于 03-14 11:36

    R329Tina安全啟動校驗linux/rootfs失敗直接重啟如何解決?

    問題描述客戶發(fā)現(xiàn)在安全啟動時,如果uboot中校驗linux、rootfs失敗,會進入uboot控制臺,不符合他們的安全要求。他們希望校驗失敗重啟或停止運行。問題分析默認(rèn)情況,Tina安全啟動中
    發(fā)表于 03-15 10:04

    全新Tina Linux v5.0釋放!帶來全新AIoT產(chǎn)品開發(fā)體驗

    Tina Linux基于linux內(nèi)核深度定制開發(fā)的AIoT系統(tǒng)?!?b class='flag-5'>Tina”取“Tin
    發(fā)表于 07-12 18:25

    【免費試用04期】V853開發(fā)板試用活動

    】編譯 Tina Linux部分之openWrt 編譯【V853開發(fā)板試用】編譯 Tina Linu
    發(fā)表于 07-21 10:27

    V853開發(fā)板試用之一(Tina Linux 5.0編譯 和NPU使用)

    Tina Linux 5.0編譯 和 基于NPU的YOLOV3模型使用。一、Tina Linux 5.0編譯(一)下載源碼V853的Tina
    發(fā)表于 08-21 23:40

    V853開發(fā)板試用】開箱及初識之美

    , 同時支持供電和數(shù)據(jù)傳輸PMU:AXP2101板身大小:長 118mm寬 75mmPCB板層:4層板系統(tǒng)配置官方支持Tina Linux系統(tǒng),基于
    發(fā)表于 08-21 23:47

    V853開發(fā)板試用】編譯 Tina Linux部分之buildroot 編譯

    繼【V853開發(fā)板試用】編譯 Tina Linux部分之openWrt 編譯之后,開始buildroot 編譯buildroot 的編譯大致分為以下流程:(1) ./build.s
    發(fā)表于 09-01 22:57

    V853如何實現(xiàn)mpp sample外編?

    V853開發(fā)板購買鏈接:https://item.hqchip.com/2500385672.html1.主題V系列多媒體mpp sample外編方法2.問題背景用戶希望Tina SDK 能提供
    發(fā)表于 01-29 10:42

    V853芯片 如何在Tina V85x平臺切換sensor?

    V853開發(fā)板購買鏈接:https://item.hqchip.com/2500386536.html目的V85x某方案目前默認(rèn)Sensor是GC2053。實際使用時若需要用到GC4663(比如
    發(fā)表于 02-13 11:03

    Tina Linux 啟動優(yōu)化

    本文轉(zhuǎn)載自V853在線文檔:https://v853.docs.aw-ol.com/soft/tina_boottime/ Tina Lin
    發(fā)表于 05-24 10:32

    Tina Linuxbusybox init 簡介

    一、簡介 tina 使用busybox init方式啟動,首先調(diào)用執(zhí)行pseudo_init(掛載文件系統(tǒng),如/proc、/tmp、/sys
    發(fā)表于 11-15 09:36

    Linux系統(tǒng)init進程的前世今生

    Linux系統(tǒng)中的init進程(pid=1)是除了idle進程(pid=0,也就是init_task)之外另一個比較特殊的進程,它是Linux內(nèi)核開始建立起進程概念時第一個通過
    發(fā)表于 04-28 17:23 ?1104次閱讀

    AW_R329_Tina_Linux_開發(fā)入門_v0.5

    AW_R329_Tina_Linux_開發(fā)入門_v0.5
    發(fā)表于 10-19 15:11 ?4次下載