1、創建必要的目錄
1)、創建“/home/zgq/linux/”目錄
打開終端,進入“/home/zgq/”目錄
輸入“mkdir linux回車”,創建“/home/zgq/linux/”目錄
輸入“ls回車”,列舉“/home/zgq/”目錄的所有文件和文件夾
創建好“/home/zgq/linux/”目錄后,目錄見下圖:
2)、創建“/home/zgq/linux/”的子目錄
輸入“cd /home/zgq/linux/回車”,切換到“/home/zgq/linux/”目錄
輸入“mkdir atk-mp1回車”,創建“/home/zgq/linux/busybox/atk-mp1/”目錄
輸入“mkdir busybox回車”,創建“/home/zgq/linux/busybox/”目錄
輸入“mkdir buildroot回車”,創建“/home/zgq/linux/buildroot/”目錄
輸入“mkdir tftpboot回車”,創建“/home/zgq/linux/tftpboot/”目錄
輸入“chmod 777 tftpboot/回車”,給tftpboot賦可執行權限,非常重要;
輸入“mkdir nfs回車”,創建“nfs”目錄
輸入“mkdir rootfs回車”,創建“/home/zgq/linux/rootfs”目錄?
輸入“mkdir tool回車”,創建“/home/zgq/linux/tool”目錄,用于存放各種安裝工具
如下:
code_1.50.1-1602600906_amd64.deb
gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
stm32wrapper4dbg-master.zip
等等
輸入“ls回車”,列舉“/home/zgq/linux/”的子目錄
創建好“/home/zgq/linux/”目錄的子目錄后,目錄見下圖:
3)、創建“/home/zgq/linux/atk-mp1/”的子目錄
輸入“cd /home/zgq/linux/atk-mp1/回車”進入“/home/zgq/linux/atk-mp1/”
輸入“mkdir my-tfa回車”,創建“/home/zgq/linux/atk-mp1/my-tfa/”目錄
輸入“mkdir uboot回車”,創建“/home/zgq/linux/atk-mp1/uboot/”目錄
輸入“mkdir linux回車”,創建“/home/zgq/linux/atk-mp1/linux/”目錄
輸入“ls回車”,列舉“/home/zgq/linux/atk-mp1/”目錄的所有文件和文件夾
創建好“/home/zgq/linux/atk-mp1/”目錄的子目錄后,目錄見下圖:
4)、創建“/home/zgq/linux/atk-mp1/linux/bootfs/”目錄
輸入“cd /home/zgq/linux/atk-mp1/linux/回車”,
進入“/home/zgq/linux/atk-mp1/linux/”
輸入“mkdir bootfs回車”,創建“/home/zgq/linux/atk-mp1/linux/bootfs”目錄,用來存放新生成的“ uImage ” 和“ stm32mp157d-atk.dtb ”
創建好“/home/zgq/linux/atk-mp1/linux/bootfs/”目錄后,目錄見下圖:
5)、創建“/home/zgq/linux/nfs/rootfs/”目錄
輸入“cd /home/zgq/linux/nfs/回車”,切換到“/home/zgq/linux/nfs/”目錄
輸入“mkdir rootfs回車”,創建“/home/zgq/linux/nfs/rootfs/”目錄用于存放根文件系統
輸入“ls回車”,列出“/home/zgq/linux/nfs/”目錄下的文件和文件夾
創建好“/home/zgq/linux/nfs/”目錄的子目錄后,目錄見下圖:
6)、創建“/usr/local/arm”目錄
輸入“cd /usr/local/回車”?,切換到“/usr/local/”目錄
輸入“ls arm回車”,列出“arm”目錄,報告“ls: 無法訪問'arm '”
輸入“sudo mkdir arm回車”,創建“/usr/local/arm”目錄
輸入密碼“123456回車”
輸入“ls arm回車”,列出“arm”目錄
“/usr/local/”的子目錄見下圖:
7)、創建“/mnt/bootfs/”和“/mnt/?rootfs/”目錄
輸入“cd /mnt/回車”
輸入“ls bootfs回車”,列出“bootfs”目錄
若報告“ls: 無法訪問'bootfs'”,則輸入“sudo mkdir /mnt/bootfs回車”,創建“/mnt/bootfs/”目錄
若提示輸入密碼,則輸入密碼“123456回車”
輸入“ls rootfs回車”,列出“rootfs”目錄
若報告“ls: 無法訪問'rootfs'”,輸入“sudo mkdir rootfs回車”,創建“/mnt/?rootfs/”目錄
若提示輸入密碼,則輸入密碼“123456回車”
輸入“ls回車”,列出“/mnt/”目錄下的文件和文件夾
“/mnt/”的子目錄見下圖:
2、了解“tftpboot”和“bootfs”目錄的作用:
1)、“/home/zgq/linux/tftpboot/”目錄的用法:
用于tftp下載linux內核文件“uImage”和“stm32mp157d-atk.dtb”。
先執行“sudo cp uImage ?stm32mp157d-atk.dtb /home/zgq/linux/tftpboot/”,
接著賦可執行權限“chmod 777 uImage”,“chmod 777 stm32mp157d-atk.dtb”,最后通過網絡將“uImage”和“stm32mp157d-atk.dtb”下載到DDR中,就可以運行linux內核了。
2)、“/home/zgq/linux/atk-mp1/linux/bootfs”的用法:
這個目錄需要“/mnt/bootfs”協助才可以生成“bootfs.ext4”;
用于生成燒錄EMMC的“bootfs.ext4”文件。
輸入“cd /home/zgq/linux/atk-mp1/linux/bootfs/回車”,切換到“/home/zgq/linux/atk-mp1/linux/bootfs/”目錄
輸入“ls ?-l回車”,列出“bootfs”目錄下的文件和文件夾
計算“uImage”和“stm32mp157d-atk.dtb”的容量
執行“dd if=/dev/zero of=bootfs.ext4 bs=1M count=10”創建“bootfs.ext4”磁盤,容量為10M
執行“mkfs.ext4 -L bootfs bootfs.ext4”格式化“bootfs.ext4”磁盤并將磁盤的卷標設置為“bootfs”
執行“sudo mount?/home/zgq/linux/atk-mp1/linux/bootfs/bootfs.ext4 /mnt/bootfs/”掛載“bootfs.ext4”磁盤;
執行“sudo cp uImage ?stm32mp157d-atk.dtb /mnt/bootfs/”拷貝文件“uImage”和“stm32mp157d-atk.dtb”到“/mnt/bootfs/”目錄;
執行“sudo umount /mnt/bootfs/”卸載“bootfs.ext4”磁盤;
在“/home/zgq/linux/atk-mp1/linux/bootfs/”目錄下生成新的linux內核文件“bootfs.ext4”,它可用于燒錄到EMMC中。
由于“/mnt/bootfs”和“/mnt/rootfs”只是起到過度作用,就不再詳細介紹了。
3、了解“rootfs”的作用
“/home/zgq/linux/nfs/rootfs/”的用法:
它是根文件系統存放的路徑,通過nfs下載根文件系統文件。
1)、若是使用“buildroot”構建根文件系統,則執行步驟如下:
執行“cd /home/zgq/linux/buildroot/buildroot-2020.02.6/”切換目錄
輸入“make show-targets”查看buildroot配置的目標軟件包
輸入“make busybox”單獨編譯“busybox”,記住“make busybox-menuconfig”
輸入“make”執行編譯“buildroot”,記住“make menuconfig”
執行“cd /home/zgq/linux/nfs/rootfs”切換目錄
執行“sudo rm * -rf”刪除“/home/zgq/linux/nfs/rootfs”目錄下的所有文件;
執行“cd /home/zgq/linux/buildroot/buildroot-2020.02.6/output/images”切換目錄;
執行“cp rootfs.tar /home/zgq/linux/nfs/rootfs”拷貝“rootfs.tar”
執行“cd /home/zgq/linux/nfs/rootfs”切換目錄
執行“tar -vxf rootfs.tar”解壓“/home/zgq/linux/nfs/rootfs/rootfs.tar”
執行“rm rootfs.tar”刪除“/home/zgq/linux/nfs/rootfs/rootfs.tar”
輸入“ls”查看“/home/zgq/linux/nfs/rootfs/”目錄,這就是由buildroot生成的可供nfs下載的根文件系統。
2)、若是使用“busybox”構建根文件系統,則執行步驟如下:
執行“cd /home/zgq/linux/busybox/busybox-1.32.0/”;
執行“make”編譯“busybox”;
執行“make install CONFIG_PREFIX=/home/zgq/linux/nfs/rootfs/”將busybox 安裝到“/home/zgq/linux/nfs/rootfs/”目錄
執行“cd /home/zgq/linux/nfs/rootfs/”切換目錄
執行“mkdir lib”創建“/home/zgq/linux/nfs/rootfs/lib/”目錄;
執行“cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/lib/”進行目錄切換
執行“cp *so* /home/zgq/linux/nfs/rootfs/lib/ -d”將所有的“*so*”拷貝到“/home/zgq/linux/nfs/rootfs/lib/”目錄
執行“cd /home/zgq/linux/nfs/rootfs/lib/”進行目錄切換
執行“ls –l ld-linux-armhf.so.3”查看發現“ld-linux-armhf.so.3?是快捷方式”
執行“rm ld-linux-armhf.so.3”刪除“ld-linux-armhf.so.3快捷方式”
執行“cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/lib/”進行目錄切換
執行“cp linux-armhf.so.3 /home/zgq/linux/nfs/rootfs/lib/”拷貝文件
執行“/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/lib/”進行目錄切換
執行“cp *so* *.a /home/zgq/linux/nfs/rootfs/lib/ -d”?將所有的“*so*”和“*.a”拷貝到“/home/zgq/linux/nfs/rootfs/lib/”目錄
執行“cd /home/zgq/linux/nfs/rootfs/usr”進行目錄切換
執行“mkdir lib”創建“/home/zgq/linux/nfs/rootfs/usr/usr”目錄
執行“cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib”進行目錄切換
執行“cp *so* *.a /home/zgq/linux/nfs/rootfs/usr/lib/?-d” 將所有的“*so*”和“*.a”拷貝到“/home/zgq/linux/nfs/rootfs/lib/”目錄
執行“cd /home/zgq/linux/nfs/rootfs/”進行目錄切換
執行“du ./lib ./usr/lib/ -sh 回車”,查看/home/zgq/linux/nfs/rootfs/lib和/home/zgq/linux/nfs/rootfs/usr/lib/這兩個目錄的大小,發現lib為158M,/usr/lib/為89M
執行“mkdir dev proc mnt sys tmp etc root”一次性創建多個目錄;
輸入“ls”查看“/home/zgq/linux/nfs/rootfs/”目錄,這就是由busybox生成的可供nfs下載的根文件系統。
“/home/zgq/linux/rootfs”的用法:
條件:可供nfs下載的根文件系統在“/home/zgq/linux/nfs/rootfs/”目錄中,因此生成可燒錄的“rootfs.ext4”需要“/home/zgq/linux/nfs/rootfs/”目錄中的文件。
執行“cd /home/zgq/linux/rootfs/”進行目錄切換
執行“dd if=/dev/zero of=rootfs.ext4 bs=1M count=1024”創建“rootfs.ext4”并分配1G個字節空間
執行“mkfs.ext4 -L rootfs rootfs.ext4”格式化“rootfs.ext4”并將卷標設置為“rootfs”
執行“sudo mount rootfs.ext4 /mnt/rootfs/”將“rootfs.ext4”掛載到“/mnt/rootfs/”目錄下
執行“cd /home/zgq/linux/nfs/rootfs/”進行目錄切換
執行“sudo cp * /mnt/rootfs/ -drf”將“/home/zgq/linux/nfs/rootfs/”目錄下的所有文件拷貝到“/mnt/rootfs/”
執行“cd /home/zgq/linux/rootfs”進行目錄切換
執行“sudo umount /mnt/rootfs”卸載掉“/mnt/rootfs”目錄下的所有文件
輸入“ls -l”查看“/home/zgq/linux/rootfs”目錄下是否生成新的“rootfs.ext4”,這個就是要燒錄到EMMC中的文件
由于“/mnt/bootfs”和“/mnt/rootfs”只是起到過度作用,就不再詳細介紹了。
4、vim編輯器安裝
打開終端
輸入“sudo apt-get install vim回車”
常用知識介紹:
輸入“vim XXX回車”打開“XXX”文件后,要想打開行號顯示,則按“ESC鍵”輸入“:set number!”,否則輸入“:set nonu”關閉行號顯示
按“ESC鍵”后再按下“A”,將光標插入到該行的尾部
按下“ESC鍵”,輸入“:wq”,保存退出
按下“ESC鍵”,輸入“:q!”,不保存退出
5、實現Ubuntu和Windows文件互傳
1)、在Ubuntu(烏班圖)中安裝FTP服務器
在安裝前,要檢查虛擬機可以上網,否則可能會導致安裝失敗。
打開終端
輸入“sudo apt-get install vsftpd回車”
輸入密碼“123456回車”
輸入“sudo vi /etc/vsftpd.conf回車”,打開“vsftpd.conf”?文件。
按下“ESC鍵”,輸入“/local_enable=YES回車”,按下“A鍵”進入修改模式,修改完后按下“ESC鍵”。
將“#local_enable=YES”修改為“local_enable=YES”
將“#write_enable=YES”修改為“write_enable=YES”
按下“ESC鍵”,輸入“:wq”,保存退出
輸入“sudo /etc/init.d/vsftpd restart回車”,重啟FTP服務。
輸入“sudo apt-get install net-tools回車”
2)、在“windows”中安裝FTP客戶端軟件“FileZilla”
注意:字符集一定要選擇“強制UTF-8”,否則上傳后文件會有問題。
6、安裝NFS服務
1)、打開終端
輸入“sudo apt-get install nfs-kernel-server rpcbind回車”
輸入“sudo vi /etc/exports回車”,打開 nfs配置文件“/etc/exports”
輸入密碼“123456回車”
添加內容如下:
/home/zgq/linux/nfs *(rw,sync,no_root_squash,no_subtree_check)
2)、按“ESC鍵”,輸入“:wq”保存退出
輸入“sudo /etc/init.d/nfs-kernel-server restart回車”,重啟 NFS服務
輸入“sudo apt-get install nfs-kernel-server rpcbind回車”
3)、修改“nfs-kernel-server”文件
輸入“sudo vi /etc/default/nfs-kernel-server回車”,打開“nfs-kernel-server”文件。
輸入密碼“123456回車”
在“nfs-kernel-server”文件的最后面添加內容如下:
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
修改后,見下圖:
4)、按“ESC鍵”,輸入“:wq回車”
輸入“sudo /etc/init.d/nfs-kernel-server restart回車”,重啟“nfs-kernel-server”
7、安裝SSH服務
打開終端
輸入“sudo apt-get install openssh-server回車”
若詢問,則輸入“Y回車”
若不能下載,則執行“sudo apt-get update回車”,然后再執行“sudo apt-get install openssh-server回車”
8、安裝“Ubuntu下的C語言編譯器GCC”
1)、在安裝前,要檢查虛擬機可以上網,否則可能會導致安裝失敗。
2)、點擊“打開終端(E)”?
3)、輸入“sudo apt-get install build-essential回車”
4)、輸入密碼“123456回車”
5)、輸入“y回車”
6)、輸入“gcc -v回車”,查看GCC編譯器的版本號碼。
9、安裝“交叉編譯工具鏈”
1)、將“gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar
”壓縮包,使用“FileZilla”把拷貝到“/home/zgq/linux/tool”目錄下。該文件位于“05、開發工具\01、交叉編譯器”目錄中。
2)、打開終端
輸入“cd /usr/local/arm/回車”?
若沒有“/usr/local/arm”目錄,則
輸入“sudo mkdir /usr/local/arm回車”
輸入密碼“123456回車”
輸入“cd /usr/local/回車”
否則跳過上面。
輸入“ls回車”,查看“cd /usr/local/”目錄下的所有文件和文件夾
輸入“cd /home/zgq/linux/tool/回車”,返回到“/home/zgq/linux/tool/”目錄下
輸入“ls回車”,查看“/home/zgq/linux/tool/”目錄下的所有文件和文件夾
輸入
“sudo cp gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz ?/usr/local/arm回車”,將當前文件拷貝到“/usr/local/arm”目錄下
輸入“cd /usr/local/arm/回車”
輸入“ls回車”,查看“/usr/local/arm/”目錄下的所有文件和文件夾
輸入
“sudo tar?-vxf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz回車”,解壓
輸入“cd gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/回車”
輸入“ls回車”
查看“gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/”目錄下的所有文件和文件夾
輸入“pwd回車”,查找全路徑如下:
“/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin”
輸入“sudo vi /etc/profile回車”
在文件的最后面添加下面的語句
export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin
注意:PATH后面不能有空格。
按“ESC鍵”,然后輸入“:wq回車”保存退出。
輸入“sudo apt-get update回車”
輸入“sudo apt-get install lsb-core lib32stdc++6回車”
若發現問題如下:
E: 無法獲得鎖 /var/cache/apt/archives/lock - open (11: 資源暫時不可用)
E: 無法對目錄 /var/cache/apt/archives/ 加鎖
輸入“ps -aux回車”,列出所有進程,找到lock
輸入“sudo kill ?850回車”,刪除lockd進程
輸入“sudo apt-get install lsb-core lib32stdc++6回車”
這里沒有發現安裝問題。
重啟虛擬機
打開終端
輸入“arm-none-linux-gnueabihf-gcc -v回車”
至此,“Ubutun交叉編譯工具鏈”安裝完成
10、安裝虛擬機中的VSCode
使用“FileZilla”將“code_1.50.1-1602600906_amd64”拷貝到“/home/zgq/linux/tool/”目錄下,該文件路徑:“03、軟件/Visual Studio Code/ code_1.50.1-1602600906_amd64”。
打開終端
輸入“cd /home/zgq/linux/tool/回車”,返回到“/home/zgq/linux/tool/”目錄下
輸入“ls回車”,查看“tool”目錄下的所有文件和文件夾
輸入“sudo dpkg -i?code_1.50.1-1602600906_amd64.deb回車”
輸入密碼“123456回車”
關閉終端窗口
點擊下圖中的“文件”
雙擊“其他位置”,雙擊“計算機”,雙擊“usr”,雙擊“share” ,雙擊“application”
將下圖中的 “Visual Studio Code”復制到桌面。
4)、安裝插件有下面幾個:
1)、C/C++,這個肯定是必須的。
2)、C/C++ Snippets,即 C/C++重用代碼塊。
3)、C/C++ Advanced Lint,即 C/C++靜態檢測 。
4)、Code Runner,即代碼運行。
5)、Include AutoComplete,即自動頭文件包含。
6)、Rainbow Brackets,彩虹花括號,有助于閱讀代碼。
7)、One Dark Pro,VSCode的主題。
8)、GBKtoUTF8,將 GBK轉換為 UTF8。
9)、ARM Assembly,即支持 ARM匯編語法高亮顯示。
10)、Chinese(Simplified),即中文環境。
11)、vscode-icons,VSCode圖標插件,主要是資源管理器下各個文夾的。
12)、compareit,比較插件,可以用于兩個文的差異。
13)、DeviceTree,設備樹語法插件。
14)、TabNine,一款 AI自動補全插件,強烈推薦誰。
完成相關設置
再點擊上圖藍色框內的“設置”,?然后點擊“文本編輯器”,點擊“字體”,刪除其他字體,只保留'monospace'等寬字體,?在搜索框中,輸入“預覽”,點擊“工作臺”,去掉“控制打開的編輯器是否顯示為預覽”前面的“勾選”。
11、取消鼠標中鍵的復制粘貼功能
輸入“xmodmap -e "pointer = 1 25 3 4 5 6 7 2"回車”
12、安裝虛擬機中的stm32wrapper4dbg工具
注意:前面的步驟安裝完成后,才能安裝“stm32wrapper4dbg工具”,否則執行“make”會出錯。
使用“FileZilla”把“stm32wrapper4dbg-master.zip”壓縮包拷貝到“/home/zgq/linux/tool”目錄下。該文件位于“05、開發工具”目錄中。
輸入“cd /home/zgq/linux/tool/回車”,返回到“tool/”目錄下
輸入“ls回車”,查看“tool”目錄下的所有文件和文件夾
輸入“unzip stm32wrapper4dbg-master.zip回車”,?解壓stm32wrapper4dbg-master.zip
3)、輸入“ls回車”,查看“tool”目錄下的所有文件和文件夾
輸入“cd stm32wrapper4dbg-master/回車”,切換到“stm32wrapper4dbg-master”目錄
輸入“ls回車”,查看“stm32wrapper4dbg-master”目錄下的所有文件和文件夾
輸入“make回車”,編譯
輸入“ls回車”,查看“stm32wrapper4dbg-master”目錄下的所有文件和文件輸入“sudo cp stm32wrapper4dbg /usr/bin回車”
將編譯出來的stm32wrapper4dbg工具拷貝到Ubuntu的“/usr/bin”目錄下輸入
輸入密碼“123456回車”
輸入“stm32wrapper4dbg -s回車”,查詢“stm32wrapper4dbg”是否安裝成功;
輸入“ls回車”,查看“stm32wrapper4dbg-master”目錄下的所有文件和文件
關閉終端
13、安裝“設備樹編譯工具”
打開終端
輸入“sudo apt-get install device-tree-compiler回車”,安裝設備樹編譯器;
輸入密碼“123456回車”
14、安裝“libncurses5-dev,bison和flex”工具1)、打開終端
輸入“sudo apt-get install libncurses5-dev回車”;
輸入“密碼123456”
輸入“sudo apt-get install bison回車”
輸入“sudo apt-get install flex回車”
15、搭建TFTP服務器
1)、打開終端
輸入“sudo apt-get install tftp-hpa tftpd-hpa回車”,安裝 tfp-hpa 和 tfpd-hpa
2)、配置“tftp”創建“/etc/xinetd.d”目錄
輸入“cd /etc/xinetd.d回車”
輸入“sudo mkdir /etc/xinetd.d回車”
輸入“cd /etc/回車”
輸入“ls回車”,查看“/etc/”目錄
3)、輸入“cd /etc/init.d/回車”
輸入“ls回車”,查看“/etc/init.d/”目錄
輸入“sudo vi tftp回車”,新建一個tftp文件
輸入內容下:
server tftp
{
????????socket_type = dgram
????????protocol = udp
????????wait = yes
????????user = root
????????server = /usr/sbin/in.tftpd
????????server_args = -s /home/zgq/linux/tftpboot/
????????disable = no
????????per_source = 11
????????cps = 100 2
????????flags = IPv4
}
4)、按“ESC健”,再輸入“:wq回車”,保存文件。
輸入“sudo service tftpd-hpa start回車”,啟動tftp服務器
輸入“sudo vi /etc/default/tftpd-hpa回車”
5)、輸入內容如下:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/zgq/linux/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-1 -c -s"
6)、按“ESC健”,再輸入“:wq回車”,保存文件。
輸入“sudo service tftpd-hpa restart回車”,重啟“tftp服務器”
至此,“tftp服務器”搭建好了。
16、安裝“menuconfig圖形化配置工具”的支持庫“ncurses庫”
打開終端
輸入“sudo apt-get install build-essential回車”輸入“sudo apt-get install libncurses5-dev回車”
17、安裝支持linux的第三方庫和mkimage工具
打開終端
輸入“sudo apt-get update回車”,在安裝前,先更新
輸入密碼“123456回車”
輸入“sudo apt-get install lzop回車”,安裝支持linux的第三方庫
輸入“sudo apt-get install libssl-dev回車”,安裝支持linux的第三方庫
輸入“sudo apt-get install u-boot-tools回車”,安裝mkimage工具;
重啟虛擬機,使安裝文件生效
18、創建“/media/zgq/udisk”目錄用來掛載U盤
點擊“編輯”,點擊“首選項”,見下圖:
點擊“USB”,勾選見下圖:
輸入“cd /dev/回車”,進入“/dev/”目錄
輸入“ls sd*回車”,顯示以sd開頭所有文件。
注意:以sda開頭的文件為PC的磁盤,sdb開頭的文件為是U盤。
注意:
“/dev/sda表示虛擬機磁盤,“/dev/sda1表示虛擬機磁盤的第一個分區。
“/dev/sdb”表示U盤,“/dev/sdb1”表示U盤的第一個分區。
輸入“cd /media/zgq/udisk回車”
準備切換到“/media/zgq/udisk”目錄,結果報告:“bash: cd: /media/zgq/udisk: 沒有那個文件或目錄”
輸入“sudo mkdir /media/zgq/udisk回車”,準備創建“/media/zgq/udisk”目錄,
輸入密碼“123456回車”,允許創建
輸入“cd /media/zgq/udisk回車”,準備切換到“/media/zgq/udisk”目錄
輸入“cd ../回車”,返回到上層目錄“/media/zgq/”目錄
輸入“ls回車”,列出“/media/zgq/”目錄下的文件和文件夾
輸入“cd /dev/回車”,進入“/dev/”目錄
輸入“ls sd*回車”,顯示以sd開頭所有文件。
輸入“sudo mount /dev/sdb1 ?/media/zgq/udisk/回車”,將U盤的第一分區掛載udisk下。
輸入“cd /media/zgq/udisk/回車”,進入udisk目錄
輸入“ls回車”,查看udisk目錄下的文件,發現U盤掛載到udisk目錄下。
輸入“cd /回車”,進入根目錄
輸入“sudo umount /media/zgq/udisk回車”,卸載U盤
輸入“sudo mount -o iocharset=utf8 /dev/sdb1 ?/media/zgq/udisk/”,將U盤的第一分區掛載udisk下。解決目錄出現中文亂碼
輸入“cd /media/zgq/udisk回車”,準備切換到“/media/zgq/udisk”目錄
輸入“ls回車”,查詢udisk目錄下的文件,發現U盤文件。
19、獲取正點原子視頻中移植好的文件
將“buildroot-2020.02.6.tar.bz2”復制到“/home/zgq/linux/buildroot”目錄中
將“busybox-1.32.0.tar.bz2”復制到“/home/zgq/linux/busybox”目錄中
將“linux-5.4.31.tar.bz2”復制到“/home/zgq/linux/atk-mp1/linux”目錄中
將“tf-a-stm32mp-2.2.r1.tar.bz2”復制到“/home/zgq/linux/atk-mp1/tf-a”目錄中
將“u-boot-stm32mp-2020.01.tar.bz2”復制到“/home/zgq/linux/atk-mp1/uboot”目錄中
3)、解壓
輸入“cd /home/zgq/linux/buildroot回車”
輸入“tar -xvf buildroot-2020.02.6.tar.bz2回車”
輸入“cd /home/zgq/linux/busybox回車”
輸入“tar -xvf busybox-1.32.0.tar.bz2回車”
輸入“cd /home/zgq/linux/atk-mp1/linux回車”
輸入“tar -xvf linux-5.4.31.tar.bz2回車”
輸入“cd /home/zgq/linux/atk-mp1/tf-a回車”
輸入“tar -xvf tf-a-stm32mp-2.2.r1.tar.bz2回車”
輸入“cd /home/zgq/linux/atk-mp1/uboot回車”
輸入“tar -xvf u-boot-stm32mp-2020.01.tar.bz2回車”
文件解壓完后,還不能立即編譯,因為還缺少相關工具。