20250516使用TF卡將NanoPi NEO core開發板出廠的Ubuntu core22.04.3系統降級到Ubuntu core16.04.2

20250516使用TF卡將NanoPi NEO core開發板出廠的Ubuntu core22.04.3系統降級到Ubuntu core16.04.2
2025/5/16 10:58


緣起:NanoPi NEO core核心板出廠預制的OS操作系統為Ubuntu core22.04.3系統。
【雖然是友善之臂提供的最新的系統,但是缺少很多用用程序。新的程序可能并不一定那么穩定!】
由于Ubuntu core16.04.2久經考驗,我們也在Ubuntu core16.04.2上做了很多開發了。
根據領導要求,降級了。

以前/生產線要求,插入TF卡,給一個時間點,多長時間斷電拔卡。
為了滿足它們的要求。現在開始琢磨升級卡了。


1、你們這個呼吸燈【快閃2次,然后等一秒^_】、 快閃【一秒2/3/5次】 慢閃【一秒一次?2秒一次】。沒有量化指標。
2、大概知道了。你們 在后臺自動升級的時候 ,前臺的串口還是要輸入 賬號 密碼的。
3、如果是 配置成為上電 自動刷機。我希望的是 刷機成功之后2-5秒鐘?執行 poweroff操作。這樣安全的關電 拔卡[表情]


https://wiki.friendlyelec.com/wiki/index.php/EFlasher/zh#.E5.BC.80.E6.9C.BA.E8.87.AA.E5.8A.A8.E7.83.A7.E5.86.99.E6.8C.87.E5.AE.9A.E7.9A.84.E7.B3.BB.E7.BB.9F
EFlasher/zh

7 開機自動燒寫指定的系統
7.1 默認已開啟自動燒寫
所有文件名為XXXX-eflasher-OS-YYYYMMDD.img.gz的單個OS的固件,默認情況下均開啟了自動燒寫,如果你不希望開機自動燒寫,請使用文件名為 XXXX-eflasher-multiple-os-YYYYMMDD-30g.img.gz 的固件。

7.2 配置方法
有三種途徑可以進行配置:
方法1:在圖形界面上,選擇你要燒寫的系統,在Ready to Go預覽界面上,在屏幕下方鉤選 "Start automatically at startup" 。
方法2: 將SD卡掛載到Windows電腦上,用notepad+文本編輯器在SD卡的Fat分區上新建一個名為eflasher.conf文件 (如果已存在就直接編輯即可),其內容如下:
[General]
autoStart=/mnt/sdcard/XXXXXX
其中,XXXXXX替換成SD卡中存放固件的目錄名,例如H3平臺的FriendlyCore系統目錄名為 friendlycore-xenial_4.14_armhf。

方法3: 開發板運行狀態下,通過串口終端,用vi編輯文件:/mnt/sdcard/eflasher.conf,文件不存在就新增一個,內容同上面的方法2。
7.3 自動燒寫的進度指示
上電開機時,板上的狀態燈先是呈呼吸燈狀態,開機燒寫固件時狀態燈會快閃,燒寫完成后變成慢閃,并一直停留在慢閃狀態。
狀態燈通常為藍燈,某些平臺板子可能會是其他顏色。
也可以利用 LCD2USB 模塊,或者LCD和HDMI屏幕,得到可視化的進度指示。
8 燒寫或恢復系統完成后做些其他事情
在量產時,你可能會希望在燒寫系統完成后做一些額外的事情,比如點亮某個LED,你可以修改 /opt/run-eflasher.sh 腳本,在 "./eflasher-gui" 開頭這一行的后面加入代碼,例如下面的示例,在燒寫完成后,設置某個GPIO針腳:

./eflasher-gui -qws >/dev/null 2>&1
echo 13 > /sys/class/gpio/export?
echo out > /sys/class/gpio/gpio13/direction?
echo 0 > /sys/class/gpio/gpio13/value
echo 13 > /sys/class/gpio/unexport
以下腳本則演示在S5P4418/S5P6818平臺上, 燒寫系統后, 將cpu id寫入到eMMC系統的 /etc/cpuid.txt 文件中:

./eflasher-gui -qws >/dev/null 2>&1
partprobe /dev/mmcblk1
mount /dev/mmcblk1p2 /media/
cat /sys/devices/platform/cpu/uuid > /media/etc/cpuid.txt
umount /media/
要讓上面的腳本正常運作,我們還需要設置讓 eflasher-gui 在燒寫完成后自動退出,需要做以下設置:
用notepad+文本編輯器在SD卡的Fat分區上編輯并新建一個名為eflasher.conf文件,將AutoExit字段設置為True:
[General]
autoStart=/mnt/sdcard/friendlycore-xenial
autoExit=true
autoStart字段則是指定開機自動燒寫指定的系統而無需交互, 如果沒有連接屏幕, 可以通過 LED 燒來識別燒寫狀態, 默認情況下, 綠色LED快閃表示正在燒寫.


H:\eflasher.conf

; This is the eFlasher configuration file.
; See http://wiki.friendlyarm.com/wiki/index.php/EFlasher for detailed information.

[General]
; Automate OS installation at system startup,
; Use the "autoStart" field to specify the image path or RAW image file,
; The RAW image file can be a gzip compressed file,
; The RAW image file extension must be ".raw" or ".gz",
; Available values: friendlycore
autoStart=friendlycore

; If the "autoExit" field set to true, the eflasher-gui will automatically exit after burning or restoring is completed,?
; You can do something else after burning or restoring by modifying /opt/run-eflasher.sh.
autoExit=false

; Don't erase the flash before burning, useful if you only want to update part of the system files
disableLowFormatting=false

[UI]
; HDMI overscan option, examples:
;?? ? screenSizePercent=auto
;?? ? screenSizePercent=90
screenSizePercent=auto

welcomeMessage=
hideMenuButton=false
hideBackupAndRestoreButton=false
hideStatusBar=false
autoRebootWhenSDBeEjected=true

修改:

; This is the eFlasher configuration file.
; See http://wiki.friendlyarm.com/wiki/index.php/EFlasher for detailed information.

[General]
; Automate OS installation at system startup,
; Use the "autoStart" field to specify the image path or RAW image file,
; The RAW image file can be a gzip compressed file,
; The RAW image file extension must be ".raw" or ".gz",
; Available values: friendlycore
autoStart=/mnt/sdcard/friendlycore

; If the "autoExit" field set to true, the eflasher-gui will automatically exit after burning or restoring is completed,?
; You can do something else after burning or restoring by modifying /opt/run-eflasher.sh.
autoExit=false

; Don't erase the flash before burning, useful if you only want to update part of the system files
disableLowFormatting=false

[UI]
; HDMI overscan option, examples:
;?? ? screenSizePercent=auto
;?? ? screenSizePercent=90
screenSizePercent=auto

welcomeMessage=
hideMenuButton=false
hideBackupAndRestoreButton=false
hideStatusBar=false
autoRebootWhenSDBeEjected=true


如果要升級到出廠的Ubuntu core22.04.3系統
H:\eflasher.conf
autoStart=friendlycore-jammy
修改為:
autoStart=/mnt/sdcard/friendlycore-jammy


打印LOG:
[ ?OK ?] Reached target Network.
? ? ? ? ?Starting /etc/rc.local...
? ? ? ? ?Starting OpenBSD Secure Shell server...
? ? ? ? ?Starting Permit User Sessions...
[ ?OK ?] Started /etc/rc.local.
[ ?OK ?] Finished Permit User Sessions.
[ ?OK ?] Started Serial Getty on ttyS0.
? ? ? ? ?Starting Set console scheme...
[ ?OK ?] Finished Set console scheme.
[ ?OK ?] Created slice Slice /system/getty.
[ ?OK ?] Finished Load/Save Random Seed.
[ ?OK ?] Started OpenBSD Secure Shell server.

Ubuntu 22.04 LTS NanoPi-NEO-Core ttyS0

Default Login:
Username = pi
Password = pi

NanoPi-NEO-Core login: root
Password:?
root@NanoPi-NEO-Core:~#?
root@NanoPi-NEO-Core:~# whoami
root
root@NanoPi-NEO-Core:~#?
root@NanoPi-NEO-Core:~# pwd
/root
root@NanoPi-NEO-Core:~# cd /
root@NanoPi-NEO-Core:/#?
root@NanoPi-NEO-Core:/# cd /mnt/sdcard/
root@NanoPi-NEO-Core:/mnt/sdcard# ls -l
total 96
drwxr-xr-x 2 root root 32768 May 16 ?2025 'System Volume Information'
-rwxr-xr-x 1 root root ?1023 May 16 ?2025 ?eflasher.conf
drwxr-xr-x 2 root root 32768 Apr ?2 ?2025 ?friendlycore
root@NanoPi-NEO-Core:/mnt/sdcard# cd friendlycore/
root@NanoPi-NEO-Core:/mnt/sdcard/friendlycore#?
root@NanoPi-NEO-Core:/mnt/sdcard/friendlycore# ls -l
total 1063424
-rwxr-xr-x 1 root root ? 41943040 Nov ?5 ?2024 boot.img
-rwxr-xr-x 1 root root ? ? ? ? 53 Apr ?2 ?2025 info.conf
-rwxr-xr-x 1 root root ? ? ? ?416 Apr ?2 ?2025 partmap.txt
-rwxr-xr-x 1 root root 1044652408 Apr ?2 ?2025 rootfs.img
-rwxr-xr-x 1 root root ? ?2088960 Nov ?9 ?2023 u-boot-sunxi-with-spl.bin
-rwxr-xr-x 1 root root ? ? 159868 Apr ?2 ?2025 userdata.img
root@NanoPi-NEO-Core:/mnt/sdcard/friendlycore#?
root@NanoPi-NEO-Core:/mnt/sdcard/friendlycore# cd /
root@NanoPi-NEO-Core:/#?
root@NanoPi-NEO-Core:/# uname -a
Linux NanoPi-NEO-Core 4.14.111 #193 SMP Thu Jun 10 18:20:47 CST 2021 armv7l armv7l armv7l GNU/Linux
root@NanoPi-NEO-Core:/#?
root@NanoPi-NEO-Core:/# cat /etc/issue
Ubuntu 22.04 LTS \n \l

Default Login:
Username = pi
Password = pi

root@NanoPi-NEO-Core:/#?
root@NanoPi-NEO-Core:/#?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906165.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906165.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906165.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

密西根大學新作——LightEMMA:自動駕駛中輕量級端到端多模態模型

導讀 目前將自動駕駛與視覺語言模型(VLMs)結合的研究越來越火熱,VLMs已經證明了其對自動駕駛的重要作用。本文引入了一種用于自動駕駛的輕量級端到端多模態模型LightEMMA,它能夠集成和評估當前的商業和開源模型,以研究…

框架之下再看HTTP請求對接后端method

在當今的軟件開發領域,各類框架涌現,極大地提升了開發效率。以 Java 開發為例,Spring 框架不斷演進,Spring Boot 更是簡化到只需引入 Maven 包,添加諸如SpringBootApplication、RestController等注解,就能輕…

Vue+Go 自定義打字素材的打字網站

Typing_Key_Board 這是一個基于Vue 3和Go語言的自定義素材打字練習網站,靈感來源于常用字打字練習,解決了大多數網站無法自定義打字素材的問題。在 Typing_Key_Board (簡稱TKB)中,用戶可以自定義打字素材進行練習,在復習代碼的同…

開源物聯網平臺(OpenRemote)

在物聯網技術蓬勃發展的當下,OpenRemote作為一款強大的開源物聯網平臺,正逐漸在多個領域嶄露頭角。尤其是在智能能源管理領域,它為微電網和分布式能源網絡提供了全面且靈活的數據集成與管理方案,展現出獨特的優勢。 OpenRemote提供…

Spring Security與SaToken的對比與優缺點分析

Spring Security與SaToken對比分析 一、框架定位 Spring Security 企業級安全解決方案,深度集成Spring生態提供完整的安全控制鏈(認證、授權、會話管理、攻擊防護)適合中大型分布式系統 SaToken 輕量級權限認證框架,專注Token會…

每日一道leetcode(新學數據結構版)

208. 實現 Trie (前綴樹) - 力扣(LeetCode) 題目 Trie(發音類似 "try")或者說 前綴樹 是一種樹形數據結構,用于高效地存儲和檢索字符串數據集中的鍵。這一數據結構有相當多的應用情景,例如自動…

【自然語言處理與大模型】大模型(LLM)基礎知識④

(1)微調主要用來干什么? 微調目前最主要用在定制模型的自我認知和改變模型對話風格。模型能力的適配與強化只是輔助。 定制模型的自我認知:通過微調可以調整模型對自我身份、角色功能的重新認知,使其回答更加符合自定義…

基于 Spring Boot 瑞吉外賣系統開發(十五)

基于 Spring Boot 瑞吉外賣系統開發(十五) 前臺用戶登錄 在登錄頁面輸入驗證碼,單擊“登錄”按鈕,頁面會攜帶輸入的手機號和驗證碼向“/user/login”發起請求。 定義UserMapper接口 Mapper public interface UserMapper exte…

什么是TCP協議?它存在哪些安全挑戰?

一、TCP協議概述 TCP(傳輸控制協議)是互聯網中面向連接、可靠的傳輸層協議,主要負責在不可靠的IP層上實現數據的可靠傳輸。其核心特點包括: 面向連接:通信前需通過三次握手(SYN-SYN/ACK-ACK)建…

12條熱門照片提示

12條熱門照片提示 1. 賽博朋克光彩 (Cyberpunk Glow-Up) 未在文件中顯示2. 卡通化我 (Cartoonify Me) Convert this image of [your subject here] into a 3D Pixar-style cartoon clean lines, soft lighting, expressive features, and a polished render that feels cine…

Java求職面試揭秘:從Spring到微服務的技術挑戰

文章簡述 在這篇文章中,我們將通過一個幽默的面試場景,揭秘互聯網大廠Java求職者在面試中面對的技術挑戰。面試官將從Spring框架、微服務架構到大數據處理等多個維度進行提問,并詳細講解這些技術點的應用場景和解決方案,幫助小白…

用Python輸出一個文件夾的所有文件結構

輸出一個文件夾的所有目錄和文件結構 新建一個Python文件,輸入 這個文件表示查詢一個文件夾所有的目錄結構 import osdef print_directory_structure(root_dir):"""打印樹狀目錄結構(優化版)"""if not os.p…

R語言的專業網站top5推薦

李升偉 以下是學習R語言的五個頂級專業網站推薦,涵蓋教程、社區、資源庫和最新動態: 1.R項目官網 (r-project.org) R語言的官方網站,提供軟件下載、文檔、手冊和常見問題解答。特別適合初學者和高級用戶,是獲取R語言核心資源的…

IntelliJ IDEA給Controller、Service、Mapper不同文件設置不同的文件頭注釋模板、Velocity模板引擎

通過在 IntelliJ IDEA 中的 “Includes” 部分添加多個文件頭模板,并在 “Files” 模板中利用這些包含來實現不同類型文件的注釋。以下是為 Controller、Service、Mapper 文件設置不同文件頭的完整示例: 1. 設置 Includes 文件頭模板 File > Settin…

LabVIEW雙音信號互調失真測量

該VI構建實現了一套完整的雙音信號互調失真(IMD)測量系統。該系統通過精確控制信號生成、采集與分析流程,實現對被測設備(DUT)非線性特性的量化評估,可廣泛應用于通信設備、音頻系統、射頻器件等領域的研發…

56.合并區間(java)

題目描述: 1.先判斷給定intervals是否為空或者大小是否為1,是則直接返回intervals。 2.對intervals進行排序 數組形式則使用:Arrays.sort(intevals,(a,b)->Integer.compare(a[0],b[0])); ArrayList形式:intervals.sort((a,b)-…

Redis設計與實現——Redis命令參考與高級特性

Redis命令參考 數據類型相關命令 SET:設置鍵值,支持過期時間、不存在/存在條件。GET:獲取鍵值,若鍵不存在返回 nil。INCR/DECR:將鍵的整數值增1/減1,鍵不存在時初始化為0。MSET/MGET:批量設置…

基于 STM32 的全自動洗車監控系統設計與實現

摘要 本文提出一種基于 STM32F103RCT6 芯片的全自動洗車監控系統方案,通過多傳感器融合與智能控制算法,實現車輛檢測、洗車流程自動化及狀態遠程監控。系統集成硬件選型、電路設計、軟件流程及通信功能,可廣泛應用于智能洗車場景。 一、硬件系統設計 1. 核心芯片選型 主控…

掌握Multi-Agent實踐(七):基于AgentScope分布式模式實現多智能體高效協作[并行加速大模型輔助搜索、分布式多用戶協同辯論賽]

之前的案例都是運行在單臺機器上以單進程形式運行,受限于 Python 的全局解釋器鎖,實際只能有效利用一個 CPU 的計算資源,并且無法支持多個用戶從自己的電腦上接入同一個 Multi-Agent 應用進行交互。?為了提高運行效率并支持多用戶接入同一個應用中,AgentScope 提供了分布式…

docker-compose部署項目(springboot服務)以及基礎環境(mysql、redis等)ruoyi-ry

上傳jar 配置文件等 到目錄:/home/ruoyi/docker 設置權限 chmod x *.sh 開通端口(我已經開通了) sh ./deploy.sh port 開始構建 docker-compose build 構建成功 可以先拉取鏡像 docker pull nacos/nacos-server docker pull nginx docker …