RPi용 SD 카드 이미지 생성

RPi용 SD 카드 이미지 생성

저는 RPi용 Linux 시스템을 구축하기 위해 buildroot를 사용하고 있습니다. 출력으로 rootfs.tar 및 zImage를 얻습니다. dd를 사용하여 설치할 수 있도록 이 출력(및 일부 다른 파일)에서 준비된 SD 카드 이미지를 생성하고 싶습니다. 어떻게 해야 합니까(가능한 경우 bash를 사용하여 자동화)? 이미지에는 두 개의 파티션이 있습니다. 작은 VFAT와 루트 파일 시스템용으로 큰 파티션입니다.

답변1

더 좋은 방법이 있는지 확실하지 않습니다. 이것은 나에게 효과적입니다.

#!/bin/bash

if [ -z "$1" ]; then
    echo "provide the path to buildroot folder as parameter"
    exit 1
fi

echo "Generating SD card image"
cd build/
rm -f sdcard.img
rm -rf boot
rm -rf root
dd if=/dev/zero of=./sdcard.img bs=1M count=250
losetup /dev/loop0 ./sdcard.img
echo -e "o\nn\np\n1\n\n+60M\nn\np\n2\n\n\nt\n1\nb\np\nw" | fdisk /dev/loop0
losetup -o 1048576 /dev/loop1 /dev/loop0
losetup -o 63963136 /dev/loop2 /dev/loop0
mkfs.vfat /dev/loop1
mkfs.ext3 /dev/loop2
mkdir boot
mkdir root
mount /dev/loop1 ./boot
mount /dev/loop2 ./root
cp $1/output/images/*.dtb ./boot
#cp $1/output/images/zImage ./boot
cp $1/output/images/rpi-firmware/* ./boot
tar xf $1/output/images/rootfs.tar -C ./root
$1/output/host/usr/bin/mkknlimg $1/output/images/zImage ./boot/zImage

# copy other staff to root fs

echo "Finishing"
umount ./boot
umount ./root
rm -r boot
rm -r root
losetup -D

관련 정보