I’ve decided to brave it and create an install image for Arch Linux to run on am r-pi. And to do it without direct access to the SD card, by creating the filesystems on loopback devices which I will then dd to an image file tht I will copy to the Mac and then burn to the SD card.
No idea if it will work.
http://archlinuxarm.org/platforms/armv6/raspberry-pi describes creating two filesystems, one 100MB formatted as VFAT and a 15.9GB ext4 filesystem.
First things first: create the files to be used as the filesystems. This needs a wee bit of arithmetic to convert 15.9GB to KB.
16GB is 1073741824B and we need to subtract 100M, which can be found with the commands,
$ echo '100 * 1024 * 1024'|bc
echo '17179869184 - 104857600' | bc
$ echo '17075011584 / 1024' | bc
This gives 16674816KB as the 15.9GB disk file. Then we can use the truncate command to create the files for the disk images (whatever happened to the mkfile command).
# truncate -s 100M rpi-arch-root.img
# truncate -s 16674816K rpi-arch-ext4.img
Then we create the loopback devices on which we create actual filesystems,
# losetup -f rpi-arch-root.img
# mkfs.vfat /dev/loop0
# losetup -f rpi-arch-ext4.img
# mkfs.ext4 /dev/loop1
Then back to the Arch instructions
# mkdir root boot
# mount /dev/loop0 boot
# mount /dev/loop1 root
Then grab the Arch image files and unpack them on the filesystems as instructed,
# wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
# bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C root
# mv root/boot/* boot
Then we unmount the filesystems and try to figure a way of getting them on to the SD card with a Mac.
# umount /dev/loop0
# umount /dev/loop1
I suspect some nifty footwork with dd coming up to create a 16GB image file that we copy to the Mac and dd to the SD card. More to follow…
I used https://samindaw.wordpress.com/2012/03/21/mounting-a-file-as-a-file-system-in-linux/ for some advice on the command to use files as loopback devices even though I created the files differently and the actual losetup commands in the article don’t work. I like to mention the pages I found useful in whatever way.