Skip to content

Commit d78b703

Browse files
committed
Add support for /dev/mmcblkX devices
1 parent 3508b09 commit d78b703

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

write_sd_card.sh

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,23 @@ fi
1313

1414
SD_CARD=$1
1515

16+
# Partition prefix
17+
# Partitions for /dev/sdc are: /dev/sdc1 /dev/sdc2 /dev/sdc3
18+
# Partitions for /dev/mmcblk0 are: /dev/mmcblk0p1 /dev/mmcblk0p2 /dev/mmcblkp0p3
19+
p=""
20+
case ${SD_CARD} in
21+
*mmcblk*)
22+
p="p"
23+
;;
24+
esac
25+
1626
#
1727
# Check that all partitions on SD card are unmounted.
1828
#
1929
if [ -b ${SD_CARD} ]; then
2030
for i in 1 2 3 4 5 6 7 8 9
2131
do
22-
partition=${SD_CARD}${i}
32+
partition=${SD_CARD}${p}${i}
2333
if mount | grep --quiet ${partition} ; then
2434
echo "${partition} is currently mounted."
2535
echo "All parittions of the SD card must be unmounted first."
@@ -44,29 +54,29 @@ sudo parted -s -a optimal -- ${SD_CARD} mkpart primary ext4 100MiB -1GiB
4454
sudo parted -s -a optimal -- ${SD_CARD} mkpart primary linux-swap -1GiB 100%
4555
for i in 0 1 2 3 4 5 6 7 8 9
4656
do
47-
if [ -b ${SD_CARD}1 -a -b ${SD_CARD}2 -a -b ${SD_CARD}3 ]; then
57+
if [ -b ${SD_CARD}${p}1 -a -b ${SD_CARD}${p}2 -a -b ${SD_CARD}${p}3 ]; then
4858
break
4959
fi
5060
sleep 1
5161
done
5262
echo "Create filesystems and swap space"
53-
sudo mkfs.ext2 ${SD_CARD}1
54-
sudo mkfs.ext4 ${SD_CARD}2
55-
sudo mkswap ${SD_CARD}3
63+
sudo mkfs.ext2 ${SD_CARD}${p}1
64+
sudo mkfs.ext4 ${SD_CARD}${p}2
65+
sudo mkswap ${SD_CARD}${p}3
5666
echo "Write SPL"
5767
sudo dd if=sun20i_d1_spl/nboot/boot0_sdcard_sun20iw1p1.bin of=${SD_CARD} bs=8192 seek=16
5868
echo "Write u-boot table of contents"
5969
sudo dd if=u-boot.toc1 of=${SD_CARD} bs=512 seek=32800
6070
sudo mkdir -p /mnt/sdcard_boot
6171
sudo mkdir -p /mnt/sdcard_rootfs
6272
echo "Copy files to /boot partition"
63-
sudo mount ${SD_CARD}1 /mnt/sdcard_boot
73+
sudo mount ${SD_CARD}${p}1 /mnt/sdcard_boot
6474
sudo cp linux-build/arch/riscv/boot/Image.gz /mnt/sdcard_boot
6575
sudo cp boot.scr /mnt/sdcard_boot
6676
sudo sync
6777
sudo umount /mnt/sdcard_boot
6878
echo "Copy files to root filesystem"
69-
sudo mount ${SD_CARD}2 /mnt/sdcard_rootfs
79+
sudo mount ${SD_CARD}${p}2 /mnt/sdcard_rootfs
7080
sudo cp -a rootfs/* /mnt/sdcard_rootfs/
7181
sudo sync
7282
sudo umount /mnt/sdcard_rootfs

0 commit comments

Comments
 (0)