全志D1-H開發板【哪吒】使用Deabian系統入門
特別說明:
-
因為涉及到操作較多,博文可能會導致格式丟失
-
其中內容,會根據后續使用做優化調整
目錄:
- 參考資料
- 固件燒錄
- 啟動
- 調教
- 點燈
- 問題
〇、參考資料
-
官方資料
開發板-D1開發板【哪吒】
全志在線開發者社區 - 資源下載
RISC-V - Debian Wiki -
學習資料
參考的學習資料較多,感謝下列資料作者:
Debian by Sipeed - D1-H
D1 Nezha Debian鏡像基礎使用教程
Nezha D1 debian鏡像更新帖 - Sipeed 開源社區
「RVBoards-哪吒」開啟 SSH 和 VNC 遠程訪問,擺脫煩人的鼠標鍵盤顯示器 | RVBoards 論壇
【Station M2】打造開發人員專用最強便攜小主機 - 廣受歡迎的專業電子論壇!
Debian安裝中文支持 - Linux運維 - 運維網
Habitat: Debian WQY
debian stretch下的 lxde 配置 | Frapples的博客
怎樣在 Debian 11 上設置靜態 IP | 月燈依舊
全志D1開發板(哪吒 RISCV64)開箱評測_專欄RISC-V MCU中文社區
生信之旅-debian11增加開機自啟腳本
How to Change Your MAC Address on Linux
全志在線 D1哪吒開發板開機連接wifi熱點, 啟動 sshd 服務
How to set up static IP address on Debian Linux 10/11 - nixCraft
如何在Debian 10安裝vscode | myfreax
一、固件燒錄
-
官方指導
Debian by Sipeed - D1-H -
固件下載
鏈接: https://pan.baidu.com/s/1-3CocbTUWPLi2XKrb87LpA 提取碼:z4gn -
燒錄工具
PhoenixCard.zip -
SD卡準備
準備一張8G以上的SD卡,建議至少32G,以免后悔來不及 -
燒錄
- 將SD卡插到讀卡器,連接到電腦
- 打開PhoenixCard,選擇好固件(需解壓),確認自動選擇的盤正確,勾選啟動卡,點擊燒錄即可
- 預計15到30分鐘,先干點別的
- 分區大小調整
務必要到Linux環境下,調整一下SD卡上分區的大小,不然后面的apt upgrade會掛了
# 查看sd卡掛載到哪個掛載點了,
sudo fdisk -l
Device Start End Sectors Size Type
/dev/sda1 41464 49527 8064 3.9M Microsoft basic data
/dev/sda2 49528 50031 504 252K Microsoft basic data
/dev/sda3 50032 50535 504 252K Microsoft basic data
/dev/sda4 50536 71199 20664 10.1M Microsoft basic data
/dev/sda5 71200 72207 1008 504K Microsoft basic data
/dev/sda6 72208 100431 28224 13.8M Microsoft basic data
/dev/sda7 100432 16877647 16777216 8G Microsoft basic data
/dev/sda8 16877648 60504063 43626416 20.8G Microsoft basic data# sd卡會被分為八個區,sdX1-sdX8,將sdX替換為上一步實際顯示的即可
sudo e2fsck -f /dev/sdX7
sudo resize2fs -p /dev/sdX7
二、啟動:
-
插卡
在背后插上SD卡,然后連接Type-C、網線,接上USB鍵盤,Type-C通電即可啟動
-
上電
- 啟動時,會顯示SIPEED的圖標;然后會進入登錄界面;啟動速度不是很快,耐心等待
- 默認賬戶:
sipeed / licheepi
root / licheepi
- 遠程ssh連接
- 進入系統后,通過開始菜單中的Netwrok connection查看當前ip地址,然后連接
- ssh sipeedd@ip
三、調教:
默認的系統,得好好調教才好使用
- 了解系統基本情況
sudo lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux bookworm/sid
Release: unstable
Codename: sid
- 通過以上輸出,可以了解系統為Debian 開發版;sid表示開發版
- 設置默認shell使用bash
# 選擇No即可
sudo dpkg-reconfigure dash# 查看默認shell,設置后,顯示為 /bin/sh -> bash
ls -l /bin/sh
- 設置ssh證書登陸
sudo vim /etc/ssh/sshd.conf
# -------- 取消下面這行的注釋 --------
PubkeyAuthentication yes
重啟sshd服務
sudo systemctl restart sshd# 設置當前用戶的key登錄
mkdir ~/.ssh
chmod 0700 ~/.ssh# 設置登錄pub key
sudo vim ~/.ssh/authorized_keys
# -------- 將ssh登錄的pub key拷貝到這里 --------
ssh-rsa 公鑰 郵箱
- 設置完成后,即可在主機或者其他電腦上,使用對應的私鑰登錄
- 時區設置
sudo tzselect# 依次選擇4-Asia、9-China、1-Beijing Time、1-Yes# 設置當前環境時區:TZ='Asia/Shanghai'; export TZ# 查看當前時間:date# 執行下面的指令,并在最后添加時區設置sudo vim /etc/profile# -----------以下內容為添加內容-------------TZ='Asia/Shanghai'; export TZ# -----------以上內容為添加內容-------------
- 設置apt更新源
- 列表訪問:debian-ports阿里巴巴開源鏡像站 (aliyun.com)
# 備份原有的更新源配置
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak# 使用阿里源,打開后輸入i即可開始填寫內容,按ESC,再按!wq回車,即可保存
sudo vim /etc/apt/sources.list
# -----------以下內容為填寫內容-------------
deb https://mirrors.aliyun.com/debian-ports/ sid main
# -----------以上內容為填寫內容-------------
- 更新系統
- 先下載 https://www.ports.debian.org/archive_2022.key,然后導入并更新
sudo apt-key add archive_2022.key
sudo apt update
sudo apt upgrade -y # 中途如彈出選擇界面,直接回車即可
sudo apt autoremove
- 安裝中文環境支持
- 安裝中文locale、字體,并啟用中文支持
安裝localessudo apt install -y locales# 所有的選項,都選擇zh_CN.UTF-8,然后等待完成sudo dpkg-reconfigure locales# 安裝中文字體sudo apt install -y fonts-arphic-ukai fonts-arphic-gkai00mp fonts-arphic-bkai00mpsudo apt install -y xfonts-wqy ttf-wqy-microhei ttf-wqy-zenhei# 設置當前用戶locale,按照如下信息進行設置vim /home/sipeed/.bashrcexport LC_ALL="zh_CN.UTF-8"export LANG="zh_CN.UTF-8"export LANGUAGE="zh_CN.UTF-8:zh:en_US.UTF-8:en"# 設置系統全局locale,按照如下信息進行設置sudo vim /etc/environmentLANGUAGE="zh_CN.UTF-8:zh:en_US.UTF-8:en"LANG="zh_CN.UTF-8"# 測試是否生效:設置生效后,執行data指令應返回中文source ~/.bashrcdate
- 啟用開機腳本
- 后續有不少操作,需要設置開機啟動,所以此處縣啟動,方便后續操作
- 在rc.local服務中添加下面的信息
sudo vim /lib/systemd/system/rc-local.service
# -----------以下內容為添加內容-------------
[Install]
WantedBy=multi-user.target
# -----------以上內容為添加內容------------- # 設置/etc/rc.local啟動腳本
sudo vim /etc/rc.local
# -----------以下內容為填寫內容-------------
#!/bin/sh -e# 在這里輸入需要自啟的腳本
exit 0
# -----------以上內容為填寫內容------------- # 設置啟動腳本執行權限
sudo chmod +x /etc/rc.local# 啟動對應的服務
sudo systemctl enable rc-local # 啟用
sudo systemctl start rc-local.service # 開始運行
sudo systemctl status rc-local.service # 查看狀態
- 設置有線使用固定mac地址
- 這塊板子有個奇葩的地方,有線網卡的mac地址,重啟一次變一次,通過下面的方式,設置為固定值即可
# 安裝screen,防止網絡更改中途失聯,命令執行不完全sudo apt install -i screen macchanger# 開啟screenscreen# 查看當前的eth0 mac addrsudo macchanger -s eth0Current MAC: 86:53:0e:f0:ee:29 (unknown)Permanent MAC: 00:00:00:00:00:00 (XEROX CORPORATION)# 將上一步中顯示Current MAC,進行設置;請根據上一步顯示的實際結果設置sudo macchanger -m eth0 86:53:0e:f0:ee:29 eth0Current MAC: 86:53:0e:f0:ee:29 (unknown)Permanent MAC: 00:00:00:00:00:00 (XEROX CORPORATION)New MAC: 86:53:0e:f0:ee:29 (unknown)It's the same MAC!!# 重啟網絡sudo /etc/init.d/networking restart# 寫入到開機啟動中,將下面的對應內容,添加到/etc/rc.local啟動腳本sudo vim /etc/rc.local# 在這里輸入需要自啟的腳本# -----------以下內容為添加內容------------- # 設置網卡mac地址/usr/bin/macchanger -m 86:53:0e:f0:ee:29 eth0/etc/init.d/networking restart# -----------以上內容為添加內容------------- exit 0
- 設置完成后,可以嘗試重啟板子,查看mac地址是否已經固定
- 設置靜態IP地址
- 請根據實際情況,設置對應的ip、掩碼、網關、DNS
# 備份默認配置sudo cp /etc/network/interfaces /etc/network/interfaces.baksudo vim /etc/network/interfaces# -------- 參考如下信息進行設置 --------#iface eth0 inet dhcp # The loopback network interfaceauto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 192.168.1.141netmask 255.255.255.0gateway 192.168.1.1dns-domain wowodns-nameservers 192.168.1.1
11.遠程桌面登錄
11.1 安裝vnc
apt install tigervnc-standalone-server -y
11.2 啟停vnc
- 首次啟動時,會提示設置用戶密碼,請仔細設置
# 啟動,可添加參數-geometry 1280x800設置分辨率
vncserver -localhost no -display :1# 查看
vncserver -list# 停止
vncserver -kill :1
11.3 設置開機啟動
#在開機腳本exit 0前面添加下面的腳本
sudo vim /etc/rc.local
# -----------以下內容為添加內容-------------
echo "start vnc server"
export HOME=/home/sipeed
/usr/bin/sudo -u sipeed -i vncserver -localhost no -display :1 -geometry 1280x800
echo "vnc server started"
# 這里需要先配置 HOME 環境變量, vncserver 需要
# -----------以上內容為添加內容-------------
exit 0
- 列表設置完成后,重啟時,將會自動啟動vnc server,方便遠程桌面連接
11.4 遠程連接:
- 在其他電腦上,使用vnc viewer進行連接
- 連接地址: http://開發板ip:5901
- 安裝vscode[跳過]
- 安裝好vscode,就能當開發小強用了
- vscode目前還沒有提供Debian@risc-v的運行版本,以下操作跳過
# 導入微軟GPG秘鑰:
sudo apt install -y software-properties-common apt-transport-https curl
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -# 添加微軟vscode安裝源
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"# 更新安裝源索引,并安裝vscode
sudo apt update
sudo apt install code
四. 點燈
- 最激動人心的時刻,不就是點個燈么;好在這個Debian by Sipeed已經提供了LED支持,使用下面的代碼,就能很方便的點燈了
vim ~/test_led.sh# -----------以下內容為填寫內容------------- #!/bin/bashfunction set_led(){echo $1 > /sys/class/leds/sunxi_led0r/brightnessecho $2 > /sys/class/leds/sunxi_led0g/brightnessecho $3 > /sys/class/leds/sunxi_led0b/brightness}let type=8for i in $(seq 1 1000);doif [[ $((i % type)) -eq 0 ]];thenset_led 0 0 0elif [[ $((i % type)) -eq 1 ]];thenset_led 255 0 0elif [[ $((i % type)) -eq 2 ]];thenset_led 0 255 0elif [[ $((i % type)) -eq 3 ]];thenset_led 0 0 255elif [[ $((i % type)) -eq 4 ]];thenset_led 255 255 0elif [[ $((i % type)) -eq 5 ]];thenset_led 255 0 255elif [[ $((i % type)) -eq 6 ]];thenset_led 0 255 255elif [[ $((i % type)) -eq 7 ]];thenset_led 255 255 255fisleep 0.5done# -----------以上內容為填寫內容------------- # 設置執行權限chmod a+x test_led.sh# 執行sudo ./test_led.sh
現在請看板子,板載WS2812 LED歡快的亮起來了,顏色還是變化的!