#!/bin/sh
start=$(date +%s)
#The thing you want to do
echo "testing the echo duration"
sleep 3
end=$(date +%s)
duration=$(( end - start ))
echo "The total excution time is ${duration} seconds."
最後會印出執行的秒數,如下圖:
#!/bin/sh
start=$(date +%s)
#The thing you want to do
echo "testing the echo duration"
sleep 3
end=$(date +%s)
duration=$(( end - start ))
echo "The total excution time is ${duration} seconds."
最後會印出執行的秒數,如下圖:
今天我想要新增幾個檔案,到root-filesystem當中
於是我在recipe (xxx.bb)的 do_install 裡面加了以下幾行 (綠色字體)
詳細說明:
我想把兩個檔案,regulatory.db 與 regulatory.db.p7s 放到 rootfs 裡面的 /llib/firmware/ 底下
於是我就增加三行
install -d ${D}/lib/firmware
install -m 0644 ${B}/regulatory.db ${D}/lib/firmware/regulatory.db
install -m 0644 ${B}/regulatory.db.p7s ${D}/lib/firmware/regulatory.db.p7s
然後進行編譯,結果出現以下的錯誤訊息(QA Issue)
ERROR: nxp9098-fw-1.0-r0 do_package: QA Issue: nxp9098-fw: Files/directories were installed but not shipped in any package: /lib/firmware/regulatory.db.p7s /lib/firmware/regulatory.dbPlease set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. nxp9098-fw: 2 installed and not shipped files. [installed-vs-shipped]
如下圖:
這種錯誤是因為,你install了這些檔案,到root-filesystem,但是你沒把這些檔案一起包到他的package裡面造成的,所以解決方法是,在把這幾個檔案加到FILES_${PN},就可以順利編譯成功了!
因此你需要再加入這兩行到 FILES_${PN},如下圖:
今天有個需求,是必須在chroot當中,執行 power-off
想當然爾,第一個想到的是使用 shutdown now
於是馬上把shutdown 這個指令,移植到 chroot,執行後出現以下的訊息,但無法 poweroff
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon
另外也試過,在chroot當中使用 kill -9 1 ,沒有出現錯誤訊息,但是一樣沒作用
(有在chroot當中kill某個 process,ex: kill -9 24, 是可以成功的)
google上面找到一個 /proc/sysrq-trigger 的方法,如下:
Step1:
先執行 echo 1 > /proc/sys/kernel/sysrq
Step2:
poweroff:
=> echo "o" > /proc/sysrq-trigger
reboot:
=> echo "b" > /proc/sysrq-trigger
更多用法可以參考
Ref: http://www.unixlinux.online/unixlinux/linuxjc/gylinux/201703/95680.html
# 立即重新啟動裝置
echo "b" > /proc/sysrq-trigger
# 立即關閉裝置
echo "o" > /proc/sysrq-trigger
# 導出內存分配的信息 (可以用/var/log/message 查看)
echo "m" > /proc/sysrq-trigger
# 導出當前CPU寄存器信息和標志位的信息
echo "p" > /proc/sysrq-trigger
# 導出線程狀態信息
echo "t" > /proc/sysrq-trigger
# 故意讓系統崩潰(kernel panic)
echo "c" > /proc/sysrq-trigger
# 立即重新掛載所有的文件系統
echo "s" > /proc/sysrq-trigger
# 立即重新掛載所有的文件系統為只讀
echo "u" > /proc/sysrq-trigger
Documentation for sysrq.c
Based on kernel version 2.6.38. Page generated on 2011-03-22 22:20 EST.
當有個Daemon占據CPU太多的使用率時,我們可以透過調整nice值來降低其佔據CPU的使用率
今天我們以 mnld 這個daemon來當作範例,mnld是一個GNSS使用的Daemon
說明一下怎麼修改nice數值,也就是調整其優先順序
如下圖,我們可以在系統或是你的 Source Code 當中找到 mnld.service
然後我們可以修改如下圖,Nice值範圍為 -20 ~ 19 (高優先 ~ 低優先),default is 0
改完之後,下次重啟設備,我們可以使用指令,來觀察Nice值 => ps -fl -C "mnld"
command ref:
https://www.thegeekstuff.com/2013/08/nice-renice-command-examples/
使用以下的command可以印出 eMMC的 partition資訊 lsblk --bytes --output name,partlabel,size 參數說明 --bytes: partition的大小,以byte的方式輸出 --output: 後面可以指定要輸出的內容...