精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式Linux開發-根文件系統NFS網絡掛載

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-08-14 08:57 ? 次閱讀

1. 前言

根文件系統是Linux內核啟動之后掛載的第一個文件系統,上篇文章里已經介紹過,如何使用busybox來制作根文件系統。這篇文章介紹根文件系統制作成功后,如何讓內核找到文件系統,并完成掛載,進入到系統命令行終端。

根文件系統支持從網絡掛載和本地掛載兩種方式:

(1)如果是采用網絡掛載就將路徑設置為/dev/nfs,NFS是Linux下常用的網絡文件系統,這種方式掛載一般是在系統開發階段,方便修改調試代碼,也就是將根文件系統放在PC機上,嵌入式開發板通過網絡到PC機進行訪問。

(2)本地掛載就是讓內核從SD卡、EMMC、光盤等設備里加載根文件系統,設備路徑設置為/dev/sda、/dev/ram等等。具體設備節點名稱是什么就填什么。本地掛載一般用在產品發布的時候,當整個系統開發完畢,就將PC機上的完整目錄拷貝到本地存儲設備里,讓內核直接從本地加載,這樣開啟啟動的速度會快很多,文件讀寫也快很多,不在經過網絡傳輸。本地掛載不方便調試代碼,一般開發階段還是NFS方式比較方便。

上面說的路徑設置這些配置是在uboot里設置,uboot有一個環境變量專門用于給內核傳參,當內核啟動之后,會根據uboot傳遞的參數完成執行。

當前采用的開發板是友善之臂的Tiny4412,內核、uboot、交叉編譯器都采用官方光盤自帶的文件。

如果設置內核為NFS網絡掛載,uboot的環境變量設置格式如下:

TINY4412 # setenv bootargs root=/dev/nfs nfsroot=192.168.10.11:/home/wbyq/work/rootfs ip=192.168.10.123:192.168.10.11:192.168.10.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 lcd=S702
TINY4412 # saveenv
TINY4412 # reset
復制代碼

2. NFS網絡方式掛載

前提是先把根文件系統制作好才能繼續這一步。當前的宿主機采用redhat6.3,這個系統比較老,但是功能是很齊全的,運行起來很流暢。要進行NFS網絡掛載,需要先把PC機的網絡與開發板的網絡設置好,保證在同一個局域網內。當前的redhat6.3系統是跑在VM虛擬機里,接下來就對網絡進行配置。

開發板NFS網絡掛載的思路:

  1. PC機開啟NFS服務器,配置NFS共享的路徑: 將rootfs共享出來.
  2. 開發板當做NFS客戶端,去掛載PC機共享的目錄,完成文件系統的訪問

(1)配置虛擬機網絡

image-20220124094719066image-20220124094742987

(2)配置PC機NFS服務器

[wbyq@wbyq rootfs]$ sudo vim /etc/exports
/home/wbyq/work/rootfs *(insecure,rw,no_root_squash,sync)
復制代碼

編寫個腳本方便啟動NFS服務器: 可以放在用戶目錄下 比如: nfs_restart.sh 運用腳本要使用管理員權限,腳本改權限為可執行

service nfs restart  #重啟 NFS 服務器
service iptables stop #關閉防火墻
ifconfig eth0 192.168.10.11 #設置IP地址
復制代碼

查看系統網卡名稱: ifconfig

(3)運行腳本啟動NFS服務器

[wbyq@wbyq ~]$ sudo ./nfs_restart.sh 
[sudo] password for wbyq: 
關閉 NFS 守護進程:                     [失敗]
關閉 NFS mountd:                      [失敗]
關閉 NFS quotas:                      [失敗]
關閉 NFS 服務:                       [確定]
啟動 NFS 服務:                       [確定]
關掉 NFS 配額:                       [確定]
啟動 NFS mountd:                      [確定]
正在啟動 RPC idmapd:                    [確定]
正在啟動 RPC idmapd:                    [確定]
啟動 NFS 守護進程:                     [確定]
[wbyq@wbyq ~]$ sudo ./nfs_restart.sh 
關閉 NFS 守護進程:                     [確定]
關閉 NFS mountd:                      [確定]
關閉 NFS quotas:                      [確定]
關閉 NFS 服務:                       [確定]
啟動 NFS 服務:                       [確定]
關掉 NFS 配額:                       [確定]
啟動 NFS mountd:                      [確定]
正在啟動 RPC idmapd:                    [確定]
正在啟動 RPC idmapd:                    [確定]
啟動 NFS 守護進程:                     [確定]
[wbyq@wbyq ~]$ 
復制代碼

(4)設置UBOOT的環境變量

進入到uboot的命令行,設置環境變量。
set bootargs root=/dev/nfs nfsroot=192.168.10.11:/home/wbyq/work/rootfs ip=192.168.10.123:192.168.10.11:192.168.10.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 lcd=S702
?
set bootargs root=/dev/nfs nfsroot=<服務器地址>: ip=<開發板IP>:<服務器地址>:<網關>:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 lcd=S702
?
執行示例:
TINY4412 # set bootargs root=/dev/nfs nfsroot=192.168.10.11:/home/wbyq/work/rootfs ip=192.168.10.123:192.168.10.11:192.168.10.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 lcd=S702
TINY4412 # save
TINY4412 # reset
復制代碼共享路徑>

重啟之后開發板正常就會進入到Linux命令行:

image-20220124095156574image-20220124095210552
審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5072

    文章

    19026

    瀏覽量

    303516
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208949
  • 根文件系統
    +關注

    關注

    0

    文章

    25

    瀏覽量

    11972
收藏 人收藏

    評論

    相關推薦

    linux驅動開發_文件系統本地掛載

    介紹Linux開發文件系統掛載NFS文件系統配置,UBOOT環境變量配置,完成
    的頭像 發表于 09-17 15:52 ?1434次閱讀
    <b class='flag-5'>linux</b>驅動<b class='flag-5'>開發</b>_<b class='flag-5'>文件系統</b>本地<b class='flag-5'>掛載</b>

    嵌入式Linux文件系統怎么制作?

    嵌入式Linux操作系統越中文件系統作為操作系統的重要組成部分,用于控制對數據文件及設備的存取
    發表于 04-06 07:39

    嵌入式設備掛載目錄

    嵌入式設備配置4.1 Linux內核添加NFS支持4.2 嵌入式設備掛載目錄1. 背景嵌入式
    發表于 10-27 09:26

    如何使用QEMU搭建u-boot+Linux+NFS嵌入式開發環境呢

    使用QEMU搭建u-boot+Linux+NFS嵌入式開發環境1、搭建嵌入式基本開發環境2、QEMU安裝3、編譯Linux內核和dtb
    發表于 11-05 08:21

    嵌入式linux開發遇到nfs無法掛載怎么解決

    nfs服務供嵌入式開發使用,常見的解答就不贅述。以下是本人在fedora30上成功掛載nfs的方法供大家參考宿主機fedora30,嵌入式
    發表于 12-16 08:04

    Linux啟動掛載文件系統簡析

    Linux啟動掛載文件系統為例,這個文件系統可以是真正的存儲設備上的文件系統,也可以是
    發表于 12-21 07:23

    NFS掛載網絡文件系統學習

    今天主要的是學習一下NFS掛載網絡文件系統。 我這里主要是為了學習嵌入式linux
    發表于 12-22 06:03

    嵌入式Linux開發板上NFS文件系統的使用

    本文描述了在開發嵌入式linux系統時調試程序的一個方法,本文以深圳遠峰的YF2410DVK為開發平臺,描述在
    發表于 02-02 15:22 ?2190次閱讀

    嵌入式設備NFS掛載目錄(基于iTop 4412)

    嵌入式設備配置4.1 Linux內核添加NFS支持4.2 嵌入式設備掛載目錄1. 背景嵌入式
    發表于 10-20 18:36 ?8次下載
    <b class='flag-5'>嵌入式</b>設備<b class='flag-5'>NFS</b><b class='flag-5'>掛載</b>目錄(基于iTop 4412)

    嵌入式Linux開發使用NFS掛載文件系統

    嵌入式Linux開發包含uboot(啟動程序類似與windows中的BIOS)、kernel(內核)、文件系統、各種應用程序幾個部分,這幾
    發表于 11-01 17:59 ?7次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>開發</b>使用<b class='flag-5'>NFS</b><b class='flag-5'>掛載</b><b class='flag-5'>根</b><b class='flag-5'>文件系統</b>

    嵌入式Linux | 掛載網絡文件系統

    上一篇筆記我們分享了【Linux筆記】pc機、開發板、ubuntu互ping實驗。有了這個前提,我們的開發板就可以掛載Ubuntu的NFS
    發表于 11-02 11:06 ?19次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b> | <b class='flag-5'>掛載</b><b class='flag-5'>網絡</b><b class='flag-5'>文件系統</b>

    嵌入式Linux移植3. NFS文件系統掛載(從Ubuntu啟動內核,文件系統

    :通過tftp使用Ubuntu中的/tftpboot中的uImage啟動rootfs文件系統:通過NFS使用Ubuntu中的/nfs_rootfs中的
    發表于 11-02 12:51 ?7次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>移植3. <b class='flag-5'>NFS</b><b class='flag-5'>根</b><b class='flag-5'>文件系統</b><b class='flag-5'>掛載</b>(從Ubuntu啟動內核,<b class='flag-5'>文件系統</b>)

    i.MX6ULL嵌入式Linux開發4-文件系統構建

    本篇使用BusyBox來構建文件系統,并通過NFS網絡調試的方式實現文件系統
    的頭像 發表于 03-14 08:41 ?2212次閱讀
    i.MX6ULL<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>開發</b>4-<b class='flag-5'>根</b><b class='flag-5'>文件系統</b>構建

    嵌入式Linux開發-文件系統本地掛載

    上篇文章介紹了文件系統的制作與NFS網絡掛載,這篇文章介紹內核如何從本地掛載
    的頭像 發表于 08-14 09:10 ?2226次閱讀

    Linux文件系統掛載過程

    Linux文件系統(rootfs)是Linux系統中所有其他文件系統和目錄的起點,它是內核啟動
    的頭像 發表于 10-05 16:50 ?288次閱讀