2つのパーティションを持つイメージファイルを作成したいと思います。
- カーネルzImageファイルとdtb(デバイスツリーブロブ)ファイルを含む100 MB FATブートパーティション。
- ルートファイルシステムを含む900MB EXT4 Rootfsパーティション。
その後、そのイメージファイルをSDカードにフラッシュしてLinuxボードを起動できるようにしたいと思います。
どうすればいいですか?どのようなツールが必要ですか? (私はGUIよりもCLIベースのツールを好む)
メモ:私はすでにカーネルzImage、DTB、およびrootfsを持っており、すべてのSDカードに簡単に書き込むことができるように、これらすべてのSDカード起動可能イメージを作成する必要があります。ところで今はSDカードがありません。後でSDカードを購入する必要があります。まず、画像を準備し、購入時にすぐにすべての画像に画像をフラッシュします。
ベストアンサー1
簡単な作業です!次のステップ15に従ってください。
スピード:
- ファイルスペースを割り当てます
fallocate -l 500M sd.img
。 - 使用ディスクドライブ(DOSパーティションテーブル)またはgdisk(gpt(boot partition table))はパーティションテーブルを作成します
sudo fdisk sd.img
。 - fdisk を開いた後、[Create Partition] をクリックし、[Create Primary Partition] をクリックしてから
n
Enterp
を押します。 「Last Sector」オプションを除くすべてのデフォルト設定を維持します。+100M
100 MBパーティションの作成を入力します。 - 2番目のパーティションを作成するには、手順3を繰り返します。
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カードにフラッシュします。私は使うバレナエッチング機。
- SDカードをお楽しみください!