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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

嵌入式Linux開發(fā)-根文件系統(tǒng)本地掛載

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-08-14 09:10 ? 次閱讀

1. 前言

上篇文章介紹了根文件系統(tǒng)的制作與NFS網(wǎng)絡(luò)掛載,這篇文章介紹內(nèi)核如何從本地掛載根文件系統(tǒng),完成系統(tǒng)啟動。本地掛載一般用在產(chǎn)品發(fā)布的時候,本地掛載的操作也分為兩種。

第一種: 在PC機上制作好文件映像rootfs.img,然后利用uboot加載直接燒寫到EMMC里。這種最方便,適合產(chǎn)品批量生產(chǎn)燒錄。需要依賴官方的工具。當(dāng)前用的開發(fā)板是友善之臂的Tiny4412,官方提供了分區(qū)工具,可以將SD卡分區(qū),將制作好的內(nèi)核、uboot、文件系統(tǒng)映像、配置腳本放在SD卡里,然后開發(fā)板選擇SD卡啟動,就可以通過uboot完成EMMC分區(qū),文件系統(tǒng)格式化、文件系統(tǒng)解壓拷貝過程,在LCD屏上還有執(zhí)行的進度條。

第二種: 自己在uboot命令行對EMMC進行分區(qū),然后拷貝文件系統(tǒng)到指定分區(qū),再設(shè)置uboot環(huán)境變量完成掛載。這種可以了解整個掛載流程,對于學(xué)習(xí)來講,非常適合。

下面分別介紹兩種掛載方式的執(zhí)行過程。

image-20220124114403062

2. 本地掛載方式1

這種放需要準備一張SD卡,然后需要利用官方光盤里提供的分區(qū)工具,對SD卡進行分區(qū),再將內(nèi)核、uboot、文件系統(tǒng)映像文件拷貝到SD卡上,再修改配置文件,設(shè)置啟動的系統(tǒng)為Linux系統(tǒng)。

image-20220124112602654image-20220124112628891image-20220124112701163

根文件系統(tǒng)映像制作需要用到make_ext4fs命令,這個工具在光盤里也有,是一個壓縮包,解壓到PC機Linux系統(tǒng)下就可以使用。

image-20220124112716921

制作完成之后,將根文件系統(tǒng)拷貝到SD卡的image文件夾,與燒寫安卓系統(tǒng)一樣進行燒寫。

說明:其中的zImage文件是可以自己編譯替換掉的。

配置內(nèi)核:

# cp tiny4412_linux_defconfig .config
復(fù)制代碼

image-20220124112804936

制作根文件系統(tǒng)的方式:

make_ext4fs -s -l <文件系統(tǒng)映像的大小> <生成的映像文件名稱> <根文件系統(tǒng)存放的目錄>
復(fù)制代碼

示例:

make_ext4fs -s -l 500M rootfs.img rootfs
復(fù)制代碼

如果不知道rootfs文件系統(tǒng)的大小,可以使用du命令進行查看。 例如:du rootfs -h

注意:在制作根文件系統(tǒng)映像包的時候,需要先將rootfs/dev目錄下的所有文件全部刪除掉。

注意: 運行make_ext4fs命令需要使用超級用戶身份,否則會導(dǎo)致文件系統(tǒng)制作之后無法加載。

如果是普通用戶身份登錄系統(tǒng),在執(zhí)行命令時,加上sudo即可。

示例:

 sudo make_ext4fs -s -l 500M rootfs.img rootfs
   
[wbyq@wbyq work]$ sudo linux_tools/local/bin/make_ext4fs -s -l 500M rootfs.img rootfs/
[sudo] password for wbyq: 
Creating filesystem with parameters:
  Size: 524288000
  Block size: 4096
  Blocks per group: 32768
  Inodes per group: 8000
  Inode size: 256
  Journal blocks: 2000
  Label: 
  Blocks: 128000
  Block groups: 4
  Reserved block group size: 31
Created filesystem with 5534/32000 inodes and 51924/128000 blocks
復(fù)制代碼

3. 本地掛載方式2

在完成當(dāng)前介紹的掛載方式2,需要先完成NFS網(wǎng)絡(luò)掛載才可以繼續(xù),大致的思路就是:

(1)先將uboot、內(nèi)核拷貝到開發(fā)板EMMC

(2)進入到uboot命令行,對EMMC進行分區(qū),格式化文件系統(tǒng)。

(3)配置uboot環(huán)境變量,設(shè)置文件掛載掛載為NFS網(wǎng)絡(luò)掛載,最后成功進入到命令行終端,然后將某個EMMC分區(qū)掛載到文件系統(tǒng)目錄下,將根文件系統(tǒng)壓縮包解壓到這個目錄,最后重啟開發(fā)板進入到uboot命令行再次修改環(huán)境變量,設(shè)置uboot從剛才解壓文件系統(tǒng)的分區(qū)啟動,重啟開發(fā)板,最后完成掛載。

接下來就詳細的完成上面說的步驟:

(1)對EMMC進行分區(qū)安裝文件系統(tǒng) 在uboot命令行執(zhí)行以下代碼。注意: 當(dāng)前是從SD卡啟動。

TINY4412 # fdisk -c 1 1024 1024 1024
TINY4412 # ext2format mmc 1:2
復(fù)制代碼

(2)打包PC機的rootfs文件系統(tǒng)

[wbyq@wbyq work]$ sudo tar cvf rootfs.tar rootfs
[wbyq@wbyq work]$ mv rootfs.tar rootfs/
復(fù)制代碼

(3)使用NFS方式掛載解壓文件系統(tǒng)到EMMC指定分區(qū) 以下命令是掛載NFS文件系統(tǒng)之后,進入到Linux命令行執(zhí)行。注意: 當(dāng)前是從SD卡啟動

[root@wbyq ]# rm /dev/* 
[root@wbyq ]# mdev -s
[root@wbyq ]# mount /dev/mmcblk1p2 /mnt/
[root@wbyq ]# cd /mnt/
[root@wbyq mnt]# tar xvf /rootfs.tar
[root@wbyq mnt]# mv rootfs/* ./
[root@wbyq ]# umount /mnt/
復(fù)制代碼

(4)切換成EMMC方式啟動設(shè)置UBOOT環(huán)境變量 以下命令在UBOOT命令行執(zhí)行。

TINY4412 # setenv bootargs root=/dev/mmcblk0p2 rootfstype=ext2 init=/linuxrc console=ttySAC0 lcd=S702
TINY4412 # saveenv
TINY4412 # reset
復(fù)制代碼

(5)本地方式下,使用NFS方式掛載NFS服務(wù)器的目錄實現(xiàn)文件共享

[root@wbyq ]# ifconfig eth0 192.168.10.123
[root@wbyq ]# mount -t nfs -o nolock 192.168.10.11:/home/wbyq/project
復(fù)制代碼

把PC機文件拷貝到開發(fā)板上的方式:

(1). SD卡或者U盤拷貝 (2). NFS網(wǎng)絡(luò)方式 (3). 串口傳輸

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5068

    文章

    19021

    瀏覽量

    303326
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11230

    瀏覽量

    208932
  • 根文件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    11972
收藏 人收藏

    評論

    相關(guān)推薦

    linux驅(qū)動開發(fā)_文件系統(tǒng)本地掛載

    介紹Linux開發(fā)文件系統(tǒng)掛載、NFS文件系統(tǒng)配置,UBOOT環(huán)境變量配置,完成文件系統(tǒng)啟動。
    的頭像 發(fā)表于 09-17 15:52 ?1431次閱讀
    <b class='flag-5'>linux</b>驅(qū)動<b class='flag-5'>開發(fā)</b>_<b class='flag-5'>文件系統(tǒng)</b><b class='flag-5'>本地</b><b class='flag-5'>掛載</b>

    嵌入式Linux文件系統(tǒng)構(gòu)建指南

    嵌入式 Linux 文件系統(tǒng)布局,建議還是按照FHS標準來安排,事實上大多數(shù)嵌入式Linux
    發(fā)表于 02-22 09:41 ?576次閱讀

    嵌入式Linux文件系統(tǒng)怎么制作?

    嵌入式Linux操作系統(tǒng)越中文件系統(tǒng)作為操作系統(tǒng)的重要組成部分,用于控制對數(shù)據(jù)文件及設(shè)備的存取
    發(fā)表于 04-06 07:39

    嵌入式設(shè)備掛載目錄

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

    Linux啟動掛載文件系統(tǒng)簡析

    Linux啟動掛載文件系統(tǒng)為例,這個文件系統(tǒng)可以是真正的存儲設(shè)備上的文件系統(tǒng),也可以是網(wǎng)絡(luò)
    發(fā)表于 12-21 07:23

    適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS

    介紹一種適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS。JFFS是一種在開源模式下開發(fā)文件系統(tǒng), 為
    發(fā)表于 04-16 11:07 ?4次下載

    適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS

    介紹一種適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS。JFFS是一種在開源模式下開發(fā)文件系統(tǒng), 為
    發(fā)表于 05-14 15:27 ?12次下載

    用Busybox制作嵌入式Linux文件系統(tǒng)

    文件系統(tǒng)Linux 的運行提供最基本的工具、庫、腳本和一些特殊文件的支持Busybox 是制作嵌入式
    發(fā)表于 06-12 16:05 ?19次下載

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

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

    嵌入式Linux開發(fā)使用NFS掛載文件系統(tǒng)

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

    嵌入式Linux系統(tǒng)移植-(Linux文件系統(tǒng)

    嵌入式Linux系統(tǒng)移植-(Linux文件系統(tǒng)嵌入式文件系
    發(fā)表于 11-02 12:51 ?16次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>移植-(<b class='flag-5'>Linux</b><b class='flag-5'>文件系統(tǒng)</b>)

    i.MX6ULL嵌入式Linux開發(fā)5-文件系統(tǒng)完善

    上篇文章,使用BusyBox構(gòu)建了基礎(chǔ)的嵌入式Linux系統(tǒng)文件系統(tǒng),基本的功能可以正常運行,但在個基礎(chǔ)功能上,還要許多地方需要完善。
    的頭像 發(fā)表于 03-14 08:44 ?1323次閱讀
    i.MX6ULL<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>5-<b class='flag-5'>根</b><b class='flag-5'>文件系統(tǒng)</b>完善

    嵌入式Linux開發(fā)-busybox文件系統(tǒng)制作

    文件系統(tǒng)是內(nèi)核啟動時所掛載mount的第一個文件系統(tǒng)系統(tǒng)引導(dǎo)啟動程序會在
    的頭像 發(fā)表于 08-14 08:51 ?1736次閱讀

    嵌入式Linux開發(fā)-文件系統(tǒng)NFS網(wǎng)絡(luò)掛載

    文件系統(tǒng)Linux內(nèi)核啟動之后掛載的第一個文件系統(tǒng),上篇文章里已經(jīng)介紹過,如何使用busybox來制作
    的頭像 發(fā)表于 08-14 08:57 ?1827次閱讀

    Linux文件系統(tǒng)掛載過程

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