Linux

如何創建 linux sdcard 映像?

  • September 15, 2020

我想創建一個包含兩個分區的圖像文件:

  1. 包含我的核心 zImage 和 dtb(設備樹 blob)文件的 100MB FAT 引導分區。
  2. 包含我的根文件系統的 900MB EXT4 Rootfs 分區。

然後我希望能夠將該圖像文件快閃記憶體到任何 sdcard 以引導可能的 linux 板。

我該怎麼做?我需要什麼工具?(我更喜歡基於 cli 的工具而不是 GUI)

注意:我已經有了我的核心 zImage 和 DTB 和 rootfs,我需要為它們製作一個 sdcard 可引導映像,以便輕鬆地將其刻錄到任何 sdcard 上。但是現在我沒有sdcard。我以後會買我的sdcards。首先,我想準備好圖像,當我購買它們時,我會迅速將圖像閃爍在所有這些圖像上。

這是一項簡單的任務!只需遵循這 15 個步驟。

腳步:

  1. 用 . 分配文件空間fallocate -l 500M sd.img
  2. 使用fdisk (dos 分區表) 或gdisk (gpt(guided partition table)) 創建分區表sudo fdisk sd.img
  3. 打開 fdisk 後,按創建分區n,然後按p創建主分區,然後按 Enter 即可預設保留所有內容,但“最後一個扇區”選項除外。輸入+100M創建一個100MB的分區。
  4. 重做第三步,創建第二個分區。
  5. 輸入w保存並退出。
  6. 使用 . 創建圖像的循環設備sudo kpartx -av sd.img
  7. 格式化分區sudo mkfs.fat /dev/mapper/loop0p1sudo mkfs.ext4 /dev/mapper/loop0p2.
  8. 創建安裝點sudo mkdir /mnt/temp_part1/& sudo mkdir /mnt/temp_part2/
  9. 掛載分區sudo mount /dev/mapper/loop0p1 /mnt/temp_part1/sudo mount /dev/mapper/loop0p2 /mnt/temp_part2/ .
  10. 將您的內容複製到安裝點。
  11. 同步sudo sync
  12. 解除安裝它們sudo umount /dev/mapper/loop0p1 /mnt/temp_part1/sudo umount /dev/mapper/loop0p2 /mnt/temp_part2/
  13. 刪除循環設備sudo kpartx -d sd.img
  14. 使用任何作業系統上的任何快閃記憶體軟體將您的圖像快閃記憶體到您的 SD 卡上。我使用BalenaEtcher
  15. 享受您的 SD 卡!

引用自:https://unix.stackexchange.com/questions/609142