將sd卡格式化為ext4格式並掛載

2021-09-01 08:51:28 字數 3085 閱讀 5446

uboot載入核心時會從sd中讀取核心映象,和老版本的uboot不同,新版本的uboot支援檔案系統,直接將核心映象複製到sd卡中,然後uboot啟動時就會訪問sd卡的檔案系統,找到核心映象檔案並載入。uboot支援什麼檔案系統是是由環境變數loaduimage決定的,這裡我的環境變數為:

loaduimage=ext4load mmc $

:$ 0x30007fc0 uimage

意思很明確,就是使用ext4格式訪問sd卡指定分割槽的檔案系統,然後從根目錄找到uimage並載入到0x30007fc0這個位址。

那麼我需要將sd卡格式化為ext4檔案系統並掛載到作業系統中。

首先對sd卡分割槽,使用如下命令,其中sdx為sd卡的裝置檔案:

$ sudo

fdisk /dev/sdx

進入fdisk命令列後,使用p檢視所有分割槽:

command (m for help): p

disk /dev/sdc: 7.6 gib, 8179941376 bytes, 15976448 sectors

units: sectors of 1 * 512 = 512 bytes

sector size (logical/physical): 512 bytes / 512 bytes

i/o size (minimum/optimal): 512 bytes / 512 bytes

disklabel type: dos

disk identifier: 0x726119ce

device boot start end sectors size id type

/dev/sdc1 20480 15976447 15955968 7.6g 83 linux

這裡有乙個我已經分好的區域,使用d刪除這個分割槽:

command (m for help): d

selected partition 1

partition 1 has been deleted.

然後輸入指令n進行重新分割槽,然後輸入p表示使用主分割槽,輸入1表示使用碟符1,然後輸入開始扇區,我這裡因為要為uboot**留乙個空間,所以指定開始扇區是20480,也就是10mb的位置,結束扇區直接回車選擇預設:

command (m for help): n

partition type

p primary (0 primary, 0 extended, 4 free)

e extended (container for logical partitions)

select (default p): p

partition number (1-4, default 1): 1

first sector (2048-15976447, default 2048): 20480

last sector, +sectors or +size

(20480-15976447, default 15976447):

created a new partition 1 of type

'linux' and of size 7.6 gib.

partition #1 contains a ext4 signature.

do you want to remove the signature? [y]es/[n]o: y

the signature will be removed by a write command.

此時更改只是在記憶體中,使用w指令執行更改,此時sd卡才真正被分割槽,分割槽後使用:

$ ls /dev/sd*
可以看到多了乙個sdx1檔案,這個就是剛才建立的分割槽。

接下來開始格式化,使用如下指令,sdx替換為對應的碟符:

$ sudo mke2fs -t ext4 -o /dev/sdx1

mke2fs 1.43.4 (31-jan-2017)

建立含有 1994496 個塊(每塊 4k)和 498736 個inode的檔案系統

檔案系統uuid:3f210d72-31d6-4754-bdee-4b4e4134588d

超級塊的備份儲存於下列塊:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

正在分配組表: 完成

正在寫入inode表: 完成

寫入超級塊和檔案系統賬戶統計資訊: 已完成

格式化完成後就可以掛載了,使用如下指令:

sudo

mount /dev/sdx1

注意:

掛載時如顯示以下錯誤:

mount: wrong fs type, bad option, bad superblock on /dev/sdd1,

missing codepage or helper program, or other error

in some cases useful info is found in syslog - try

dmesg | tail or so.

建議更換sd卡,雖然在格式化時-o ^has_journal選項,電腦能夠成功掛載,但是uboot卻不能正常讀取。

成功掛載後可以在檔案資源管理器中看到sd卡。

實際上是不需要手動掛載的,當再次插入sd卡後,系統識別到ext4檔案系統會自動掛載到/media//***目錄下。

Linux 下將sd格式化成ext2格式並掛載

sd卡在windows下格式化,只能格式化為fat檔案系統格式的,但是fat檔案系統在linux下不支援軟鏈結。所以又必要將其格式化成linux下的檔案系統格式,例如ext2。使用嵌入式linux中自帶的工具命令mkfs.ext2。root target mkfs.ext2 dev mmcblk0 ...

如何製作Ext4格式映象檔案

如果像要把已經有的檔案目錄製作為ext4映象,像使用壓縮包工具壓縮檔案目錄為zip一下。直接使用 mkfs.ext4會導致不知道該用什麼引數,這裡有乙個例子create file image container。那麼就來找乙個靠山吧,現在android中的system分割槽一般是ext4格式的,那麼...

Linux 下將sd格式化成ext2並掛載

sd卡在windows下格式化,只能格式化為fat檔案系統格式的,但是fat檔案系統在linux下不支援軟鏈結。所以又必要將其格式化成linux下的檔案系統格式,例如ext2。使用嵌入式linux中自帶的工具命令mkfs.ext2。root target mkfs.ext2 dev mmcblk0 ...