stm32mp157 linux教程連載:stm32mp1如何在電腦上開發(fā)linux
文章來源:https://blog.csdn.net/stm_fpga/article/details/109046871
截至目前上傳的博文已經(jīng)有6篇了(硬件4篇,安裝環(huán)境2篇),最近手頭在搞STM32MP157C核心板相關(guān)設(shè)計。FS-MP1A開發(fā)板的硬件設(shè)計晚些更新,前6篇看到有朋友的留言,問相關(guān)開發(fā)環(huán)境搭建后如何在電腦上連接linux的問題,本篇講解Ubuntu操作系統(tǒng)安裝方式以及體驗(yàn),學(xué)習(xí)目錄如下所示:
第 1章 嵌入式Linux開發(fā)介紹
1.1 安裝前準(zhǔn)備
第2 章 VMware Player安裝
2.1 VMware Player介紹
2.2 VMware安裝
第 3章 Ubuntu操作系統(tǒng)
3.1 發(fā)行版Linux介紹
3.2 Ubuntu下載
3.3 Ubuntu安裝
3.4 配置虛擬機(jī)
3.4.1 網(wǎng)絡(luò)連接修改
3.4.2 安裝VMware Tools
3.4.3 啟用共享文件夾
3.4.4 常用工具安裝
3.4.5 安裝TFTP服務(wù)器
3.4.6 安裝NFS服務(wù)器
3.5 Linux開發(fā)工具安裝
第4 章 Ubuntu初體驗(yàn)
4.1 磁盤分區(qū)表相關(guān)操作
4.1.1 MBR分區(qū)和GPT分區(qū)
4.1.2 linux下磁盤文件節(jié)點(diǎn)名
4.1.3 MBR創(chuàng)建分區(qū)及格式化
4.1.4 將GPT分區(qū)轉(zhuǎn)換為MBR分區(qū)
第 1 章 嵌入式Linux開發(fā)介紹
1.1 安裝前準(zhǔn)備
華清遠(yuǎn)見開發(fā)環(huán)境是基于Ubuntu 18.04 LTS 64-bit操作系統(tǒng)搭建的,使用VMware Player免費(fèi)版作為虛擬機(jī)工具軟件。用作Linux的編譯與開發(fā)。所以建議開發(fā)主機(jī)硬件配置越高越好,配置越高則開發(fā)效率則越高。
配置參數(shù)CPUIntel/AMD CPU;I5-2540M或更高;主頻2GHz或者更高;雙核(四線程)或者更多;3MB 緩存;內(nèi)存內(nèi)存4G以上(推薦8G以上);硬盤虛擬機(jī)存放硬盤分區(qū)剩余空間80G以上;USB支持USB2.0或者更高(2路或者更多);網(wǎng)卡至少一路以太網(wǎng)卡;操作系統(tǒng)Windows XP或者更新(32位/64位操作系統(tǒng));
第 2 章 VMware Player安裝
2.1 VMware Player介紹
VMware Workstation Player中文版是一款官方免費(fèi)版的精簡虛擬機(jī)軟件,用戶無需重啟電腦即可在同一臺機(jī)上運(yùn)行一個或多個操作系統(tǒng)。憑借其免費(fèi)策略、簡單易用的界面、流暢的性能、小巧的體積以及對多種不同操作系統(tǒng)的兼容性,VMware Workstation Player 已成為很多人首選的虛擬機(jī)軟件!
VMware Workstation Player虛擬機(jī)可完美支持Windows 10/8.1/Win7/Vista/XP/2000等全系列微軟操作系統(tǒng)以及Ubuntu、Red Hat Enterprise Linux、CentOS、Fedora、Deepin、Debian、Mint等Linux系統(tǒng)。而且現(xiàn)在也已支持DirectX 10.1和OpenGL 3.3的3D加速特性,可在虛擬機(jī)中輕松運(yùn)行AutoCAD或SOLIDWORKS等要求嚴(yán)苛的3D應(yīng)用,甚至在一些主流配置的電腦上還可流暢運(yùn)行部分大型3D 游戲,性能相當(dāng)不錯。
2.2 VMware安裝
1) 運(yùn)行資料光盤【華清遠(yuǎn)見-FS_MP1A開發(fā)資料\01-工具軟件】目錄下的VMware-player-15.1.0-13591040.exe安裝程序。

2) 【VMware Player安裝程序初始化】

3) 【VMware Player安裝向?qū)А?br>

4) 【VMware Player許可協(xié)議】

5) 【更改安裝路徑】

6) 【選擇是否檢查更新,加入用戶體驗(yàn)改進(jìn)計劃】


7) 【創(chuàng)建快捷方式】

8) 【確認(rèn)安裝】

9) 【正在安裝】

10) 【安裝完成】

11) 【啟動界面】

第 3 章 Ubuntu操作系統(tǒng)
3.1 發(fā)行版Linux介紹
Linux發(fā)行版(英語:Linux distribution,也被叫做GNU/Linux發(fā)行版),為一般用戶預(yù)先集成好的Linux操作系統(tǒng)及各種應(yīng)用軟件。一般用戶不需要重新編譯,在直接安裝之后,只需要小幅度更改設(shè)置就可以使用,通常以軟件包管理系統(tǒng)來進(jìn)行應(yīng)用軟件的管理。Linux發(fā)行版通常包含了包括桌面環(huán)境、辦公包、媒體播放器、數(shù)據(jù)庫等應(yīng)用軟件。這些操作系統(tǒng)通常由Linux內(nèi)核、以及來自GNU計劃的大量的函數(shù)庫,和基于X Window的圖形界面。有些發(fā)行版考慮到容量大小而沒有預(yù)裝X Window,而使用更加輕量級的軟件,如:busybox,UClibc或dietlibc?,F(xiàn)在有超過300個Linux發(fā)行版(Linux發(fā)行版列表)。大部分都正處于活躍的開發(fā)中,不斷地改進(jìn)。
由于大多數(shù)軟件包是自由軟件和開源軟件,所以Linux發(fā)行版的形式多種多樣——從功能齊全的桌面系統(tǒng)以及服務(wù)器系統(tǒng)到小型系統(tǒng)(通常在嵌入式設(shè)備,或者啟動軟盤)。除了一些定制軟件(如安裝和配置工具),發(fā)行版通常只是將特定的應(yīng)用軟件安裝在一堆函數(shù)庫和內(nèi)核上,以滿足特定用戶的需求。
這些發(fā)行版可以分為商業(yè)發(fā)行版,比如Ubuntu(Canonical公司)、Fedora(Red Hat)、openSUSE(Novell)和Mandriva Linux;和社區(qū)發(fā)行版,它們由自由軟件社區(qū)提供支持,如Debian和Gentoo。
3.2 Ubuntu下載
Ubuntu18.04官方標(biāo)準(zhǔn)安裝文件可以通過ubuntu官方鏈接,也可以使用【華清遠(yuǎn)見-FS_MP1A開發(fā)資料\01-工具軟件】目錄下的ubuntu-18.04.4-desktop-amd64.iso安裝文件進(jìn)行安裝。

打開鏈接后點(diǎn)擊“64-bit PC (AMD64) desktop image”,切換至新網(wǎng)頁并自動開始下載,下載完成后鏡像文件為:ubuntu-18.04.4-desktop-amd64.iso
3.3 Ubuntu安裝
打開Vmware Player:

點(diǎn)擊 “創(chuàng)建新虛擬機(jī)”,彈出安裝向?qū)В?br>

點(diǎn)擊“瀏覽”按鈕在彈出的瀏覽ISO鏡像窗口中找到下載好的Ubuntu鏡像文件,并點(diǎn)擊“打開”按鈕:

選擇好鏡像后,如果鏡像無誤的話會顯示識別到的系統(tǒng)版本

點(diǎn)擊“下一步”繼續(xù)安裝:

點(diǎn)擊填寫用戶信息并點(diǎn)擊“下一步”繼續(xù)安裝,用戶信息會作為安裝后Ubuntu的管理員用戶信息,華清遠(yuǎn)見開發(fā)環(huán)境Ubuntu管理員用戶名為“l(fā)inux”,密碼為“1”:

選擇Ubuntu安裝路徑,點(diǎn)擊“瀏覽”,在彈出窗口中找到虛擬機(jī)安裝的硬盤盤符,點(diǎn)擊“新建文件夾”創(chuàng)建虛擬機(jī)安裝文件夾,創(chuàng)建好文件夾后選擇文件夾并點(diǎn)擊確認(rèn),確認(rèn)安裝路徑,最后點(diǎn)擊“下一步”繼續(xù)安裝:

執(zhí)行硬盤容量,根據(jù)開發(fā)使用情況,推薦磁盤大小不小于“80GB”,選擇“將虛擬磁盤拆分成多個文件”方便后期虛擬機(jī)移動,最后點(diǎn)擊“下一步”繼續(xù)安裝:

虛擬機(jī)創(chuàng)建完成:自定義硬件按鈕可以自定義可以定制虛擬機(jī)配置,本章節(jié)使用默認(rèn)配置即可,后期如需調(diào)整根據(jù)需求適當(dāng)調(diào)整,勾選 “創(chuàng)建后開啟此虛擬機(jī)”點(diǎn)擊“完成”按鈕完成虛擬機(jī)的創(chuàng)建并開始安裝Ubuntu。

虛擬機(jī)啟動后直接進(jìn)入Ubuntu 簡易安裝界面,這個過程需要一些時間。


安裝完成后系統(tǒng)自動啟動。

3.4 配置虛擬機(jī)
現(xiàn)在Ubuntu 18.04操作系統(tǒng)已經(jīng)安裝完成了,但是為了后續(xù)開發(fā)方便還需要對系統(tǒng)進(jìn)行進(jìn)一步的配置與修改。
3.4.1 網(wǎng)絡(luò)連接修改
Ubuntu系統(tǒng)安裝成功之后,默認(rèn)網(wǎng)絡(luò)配置為NAT模式,為了后續(xù)方便Ubuntu與主機(jī)進(jìn)行網(wǎng)絡(luò)通信需要修改為橋接模式。
在系統(tǒng)關(guān)閉的狀態(tài)下,點(diǎn)擊“編輯虛擬機(jī)設(shè)置”將網(wǎng)絡(luò)適配器改為橋接模式。

3.4.2 安裝VMware Tools
1) 選擇VMware菜單欄下的“虛擬機(jī)”選項卡下的“安裝 VMware Tools”選項。

2) 在安裝好的ubuntu18.04系統(tǒng)中可看到“VMware Tools”DVD光盤。

3) 打開光盤可以看到如下文件。

4) 將VMwareTools-10.3.10-12406962.tar.gz壓縮包復(fù)制到左側(cè)的Downloads文件夾中。

5) 選中該文件右鍵選擇“Extract Here”選項,進(jìn)行解壓。

6) 解壓完成后會生成一個文件夾。

7) 進(jìn)入VMwareTools-10.3.10-12406962/vmware-tools-distrlib文件夾。

8) 在該文件夾空白處右鍵,選擇“Open in Terminal”選項,打開一個終端。


9) 執(zhí)行vmware-install.pl腳本。
linux@ubuntu:$ sudo ./vmware-install.pl
1
輸入密碼1后看到如下界面

輸入yes之后的選項全部默認(rèn)“回車鍵”。
10) 安裝完成默認(rèn)如下圖所示。

11) 重啟系統(tǒng)。
linux@ubuntu:$ sudo reboot
3.4.3 啟用共享文件夾
在啟用共享文件夾前請確保VMwareTools已經(jīng)正確安裝。
為了便于后續(xù)Ubuntu與主機(jī)直接的文件傳輸可以啟用虛擬機(jī)的共享文件夾將主機(jī)上的一個文件夾掛載到Ubuntu系統(tǒng)中。
在主機(jī)上任意位置建立一個用于共享文件的文件夾。(這里以G:\liunx_share為例)
點(diǎn)擊“編輯虛擬機(jī)設(shè)置”找到“選項”下的共享文件夾。

選擇界面右側(cè)的“總是啟用”選項后添加一個共享文件夾。

添加完成后如下界面中選中“啟用此共享”后點(diǎn)擊”完成“

點(diǎn)擊完成后就可以看到剛剛添加的文件夾路徑了。

開啟虛擬機(jī)之后在/mnt/hgfs就可以看到共享的文件夾了。
3.4.4 常用工具安裝
1) net-tools安裝
從ubuntu18.04版本開始,在系統(tǒng)中默認(rèn)不支持ifconfig命令進(jìn)行網(wǎng)絡(luò)狀態(tài)查看。需要安裝net-tools方可使用。
linux@ubuntu:$ sudo apt-get update
linux@ubuntu:$ sudo apt install net-tools?

2) vim安裝
系統(tǒng)安裝完成后自帶的文本編輯器是vi編輯器,這里推薦使用vim編輯器進(jìn)行文本編輯。
linux@ubuntu:$ sudo apt-get update
linux@ubuntu:$ sudo apt-get install vim?

為了后續(xù)開發(fā)方便可以為vim安裝一些輔助插件。將【華清遠(yuǎn)見-FS_MP1A開發(fā)資料\01-工具軟件】目錄下的jeffy-vim-read.tar.gz壓縮包導(dǎo)入到虛擬機(jī)中。
解壓縮
linux@ubuntu:$ tar -xvf jeffy-vim-read.tar.gz
解壓成功后會得到j(luò)effy-vim-read文件夾,進(jìn)入該文件夾下進(jìn)行插件安裝。
linux@ubuntu:$ ./install.sh

選擇y

選擇y,之后出現(xiàn)如下界面。

安裝完成出現(xiàn)如下提示。

安裝ctags
linux@ubuntu:$ sudo apt-get install ctags
3) openssh安裝
linux@ubuntu:$ sudo apt-get update
linux@ubuntu:$ sudo apt-get install openssh-server?
3.4.5 安裝TFTP服務(wù)器
linux@ubuntu:$ sudo apt-get update
linux@ubuntu:$ sudo apt-get install tftp-hpa tftpd-hpa
在根目錄下建立tftp工作目錄
linux@ubuntu:$ sudo mkdir /tftpboot
修改tftpboot文件夾權(quán)限
linux@ubuntu:$ sudo chown linux:linux /tftpboot/
linux@ubuntu:$ sudo vi /etc/default/tftpd-hpa
將TFTP_DIRECTORY="/var/lib/tftpboot"修改為TFTP_DIRECTORY="/tftpboot"

重啟tftp服務(wù)
linux@ubuntu:$ sudo service tftpd-hpa restart
3.4.6 安裝NFS服務(wù)器
linux@ubuntu:$ sudo apt-get update
安裝 NFS服務(wù)器端
linux@ubuntu:$ sudo apt-get install nfs-kernel-server
安裝 NFS客戶端
linux@ubuntu:$ sudo apt-get install nfs-common
建立NFS共享目錄
linux@ubuntu:$ sudo mkdir /source
linux@ubuntu:$ sudo chown linux:linux /source
linux@ubuntu:$ mkdir /source/rootfs
添加共享目錄
linux@ubuntu:$ sudo vi /etc/exports
若需要把 “/source/rootfs” 目錄設(shè)置為NFS共享目錄,在該文件末尾添加下面的一行:
/source/rootfs? *(rw,sync,no_root_squash,no_subtree_check)

使能NFS V2版本
linux@ubuntu:$ sudo vi /etc/default/nfs-kernel-server
在文件的最后添加下面的配置
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

重啟NFS
linux@ubuntu:$ sudo /etc/init.d/nfs-kernel-server restart
3.5 Linux開發(fā)工具安裝
linux@ubuntu:$ sudo apt-get update
linux@ubuntu:$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping?
linux@ubuntu:$ sudo apt-get install libsdl1.2-dev xterm?
linux@ubuntu:$ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto?
linux@ubuntu:$ sudo apt-get install python-git-doc?
linux@ubuntu:$ sudo apt-get install ncurses-dev libncurses5-dev libncursesw5-dev lib32ncurses5 libssl-dev linux-headers-generic u-boot-tools device-tree-compiler bison flex g++ libyaml-dev
linux@ubuntu:$ sudo apt-get install python-crypto?
linux@ubuntu:$ sudo apt-get install coreutils bsdmainutils sed curl bc lrzsz corkscrew cvs subversion mercurial nfs-common nfs-kernel-server libarchive-zip-perl dos2unix texi2html diffstat libxml2-utils??
linux@ubuntu:$ sudo apt-get install default-jre
第 4 章 Ubuntu初體驗(yàn)
4.1 磁盤分區(qū)表相關(guān)操作
4.1.1 MBR分區(qū)和GPT分區(qū)
全新硬盤未初始化之前,必須對齊進(jìn)行分區(qū),硬盤分區(qū)初始化的格式包括MBR和GPT兩種。
MBR分區(qū)
MBR的全稱是Master Boot Record(主引導(dǎo)記錄),MBR早在1983年IBM PC DOS 2.0中就已經(jīng)提出。之所以叫“主引導(dǎo)記錄”,是因?yàn)樗谴嬖谟隍?qū)動器開始部分的一個特殊的啟動扇區(qū)。這個扇區(qū)包含了已安裝的操作系統(tǒng)的啟動加載器和驅(qū)動器的邏輯分區(qū)信息。
MBR最大支持2.2TB磁盤,它無法處理大于2.2TB容量的磁盤。MBR只支持最多4個主分區(qū),如果想要更多分區(qū),則需要創(chuàng)建 “擴(kuò)展分區(qū)”,并在其中創(chuàng)建邏輯分區(qū)。GPT分區(qū)
GPT的全稱是Globally Unique Identifier Partition Table,意即GUID分區(qū)表,它的推出是和UEFI BIOS相輔相成的,鑒于MBR的磁盤容量和分區(qū)數(shù)量已經(jīng)不能滿足硬件發(fā)展的需求,GPT首要的任務(wù)就是突破了2.2T分區(qū)的限制,最大支持18EB的分區(qū)。
在分區(qū)數(shù)量上,GPT會為每一個分區(qū)分配一個全局唯一的標(biāo)識符,理論上GPT支持無限個磁盤分區(qū),不過在Windows系統(tǒng)上由于系統(tǒng)的限制,最多只能支持128個磁盤分區(qū),基本可以滿足所有用戶的存儲需求。在每一個分區(qū)上,這個標(biāo)識符是一個隨機(jī)生成的字符串,可以保證為地球上的每一個GPT分區(qū)都分配完全唯一的標(biāo)識符。
4.1.2 linux下磁盤文件節(jié)點(diǎn)名
基本上,linux下所有實(shí)體外部存儲設(shè)備的文件名都被命名成 /dev/sd[a-p]的格式,第一個存儲設(shè)備的文件名為/dev/sda。而分區(qū)的文件名若以第一個存儲設(shè)備為例,則為/dev/sda[1-128]。除了實(shí)體磁盤之外,虛擬機(jī)的磁盤通常為/dev/vd[a-p]的格式。 若有使用到軟件磁盤陣列的話,那還有/dev/md[0-128]的磁盤文件名。
4.1.3 MBR創(chuàng)建分區(qū)及格式化
如果我們拿到的是一個沒有任何分區(qū)的外部存儲器,則需要我們對其建立分區(qū)。這里以在虛擬機(jī)中的ubuntu操作系統(tǒng)為例來創(chuàng)建一個新的分區(qū)。
首先需要用到TF讀卡器,虛擬機(jī)識別到SD讀卡器。

右鍵點(diǎn)擊圖標(biāo)選擇“連接(斷開與主機(jī)的連接)”

查看生成的設(shè)備節(jié)點(diǎn),筆者SD卡在Ubuntu系統(tǒng)中的設(shè)備節(jié)點(diǎn)是/dev/sdc,這里提供一種方式查看設(shè)備節(jié)點(diǎn),首先輸入ls /dev/sd*【代表匹配所有符合sd的選項】,sd最后的設(shè)備為sdc。

這里可以看到一共有3個外部存儲設(shè)備被接入該系統(tǒng),這里的/dev/sdc為剛剛插入的TF卡設(shè)備。/dev/sdc1則表示sdc上的第一個分區(qū)。如果tf卡中沒有任何分區(qū)則不會顯示此節(jié)點(diǎn)。

接下來我們新建一共分區(qū)并將其格式化為FAT32格式, 這里以/dev/sdc為例。
linux@ubuntu:$ sudo? fdisk? /dev/sdX? (X表示實(shí)際的標(biāo)號)

輸入“p”查看當(dāng)前分區(qū)。

如果這里看到的是如下現(xiàn)象,說明已經(jīng)存在一個分區(qū)則可以跳過此步驟。

如果沒有看到有相關(guān)分區(qū),則輸入“n”創(chuàng)建一個分區(qū)。

選擇“p”默認(rèn)選項創(chuàng)建主分區(qū)。

分區(qū)號選擇默認(rèn)“1”

起始扇區(qū)選擇默認(rèn)“2048”

結(jié)束扇區(qū)直接回車默認(rèn)即可。

再次輸入“p”查看分區(qū)

之后輸入“w”保存分區(qū)

對剛剛創(chuàng)建的分區(qū)進(jìn)行格式化。
linux@ubuntu:$ sudo? mkfs.vfat? /dev/sdcX(X 表示實(shí)際的標(biāo)號)

此時可以點(diǎn)擊虛擬機(jī)的USB圖標(biāo)斷開與ubuntu的連接,使TF卡接入PC。

在資源管理器中可以看到,TF已經(jīng)被正確識別。

4.1.4 將GPT分區(qū)轉(zhuǎn)換為MBR分區(qū)
當(dāng)我們制作開發(fā)板sdcard系統(tǒng)卡之后,整個sdcard會被設(shè)置為GPT分區(qū),并且此時TF卡不能被PC機(jī)正常識別,如果想要在PC上正常使用TF卡。則需要將TF卡重新格式化成FAT32格式。(此操作會丟失TF卡中所有的數(shù)據(jù))。
在ubuntu系統(tǒng)下使用
linux@ubuntu:$ sudo parted -s /dev/sdX mklabel msdos (X 表示實(shí)際的標(biāo)號)

之后就可以參照【MBR創(chuàng)建分區(qū)及格式化】小節(jié)進(jìn)行建立分區(qū)和格式化。
累到手軟,本期博文就寫到這里了,有問題的朋友可以留言提問~~~
左月先生
2020.10.13