Linux
如何創建 linux sdcard 映像?
我想創建一個包含兩個分區的圖像文件:
- 包含我的核心 zImage 和 dtb(設備樹 blob)文件的 100MB FAT 引導分區。
- 包含我的根文件系統的 900MB EXT4 Rootfs 分區。
然後我希望能夠將該圖像文件快閃記憶體到任何 sdcard 以引導可能的 linux 板。
我該怎麼做?我需要什麼工具?(我更喜歡基於 cli 的工具而不是 GUI)
注意:我已經有了我的核心 zImage 和 DTB 和 rootfs,我需要為它們製作一個 sdcard 可引導映像,以便輕鬆地將其刻錄到任何 sdcard 上。但是現在我沒有sdcard。我以後會買我的sdcards。首先,我想準備好圖像,當我購買它們時,我會迅速將圖像閃爍在所有這些圖像上。
這是一項簡單的任務!只需遵循這 15 個步驟。
腳步:
- 用 . 分配文件空間
fallocate -l 500M sd.img
。- 使用fdisk (dos 分區表) 或gdisk (gpt(guided partition table)) 創建分區表
sudo fdisk sd.img
。- 打開 fdisk 後,按創建分區
n
,然後按p
創建主分區,然後按 Enter 即可預設保留所有內容,但“最後一個扇區”選項除外。輸入+100M
創建一個100MB的分區。- 重做第三步,創建第二個分區。
- 輸入
w
保存並退出。- 使用 . 創建圖像的循環設備
sudo kpartx -av sd.img
。- 格式化分區
sudo mkfs.fat /dev/mapper/loop0p1
和sudo mkfs.ext4 /dev/mapper/loop0p2
.- 創建安裝點
sudo mkdir /mnt/temp_part1/
&sudo mkdir /mnt/temp_part2/
。- 掛載分區
sudo mount /dev/mapper/loop0p1 /mnt/temp_part1/
和sudo mount /dev/mapper/loop0p2 /mnt/temp_part2/
.- 將您的內容複製到安裝點。
- 同步
sudo sync
。- 解除安裝它們
sudo umount /dev/mapper/loop0p1 /mnt/temp_part1/
並sudo umount /dev/mapper/loop0p2 /mnt/temp_part2/
- 刪除循環設備
sudo kpartx -d sd.img
- 使用任何作業系統上的任何快閃記憶體軟體將您的圖像快閃記憶體到您的 SD 卡上。我使用BalenaEtcher。
- 享受您的 SD 卡!