# install dependecies
apt-get install qemu qemu-user-static binfmt-support
# download raspbian image
wget https://downloads.raspberrypi.org/raspbian_latest
# extract raspbian image
unzip raspbian_latest
# extend raspbian image by 1gb
dd if=/dev/zero bs=1M count=1024 >> 2016-05-27-raspbian-jessie.img
# set up image as loop device
losetup /dev/loop0 2016-05-27-raspbian-jessie.img
# check file system
e2fsck -f /dev/loop0p2
#expand partition
resize2fs /dev/loop0p2
# mount partition
mount -o rw /dev/loop0p2 /mnt
mount -o rw /dev/loop0p1 /mnt/boot
# mount binds
mount --bind /dev /mnt/dev/
mount --bind /sys /mnt/sys/
mount --bind /proc /mnt/proc/
mount --bind /dev/pts /mnt/dev/pts
# ld.so.preload fix
sed -i 's/^/#/g' /mnt/etc/ld.so.preload
# copy qemu binary
cp /usr/bin/qemu-arm-static /mnt/usr/bin/
# chroot to raspbian
chroot /mnt /bin/bash
# do stuff...
exit
# revert ld.so.preload fix
sed -i 's/^#//g' /mnt/etc/ld.so.preload
# unmount everything
umount /mnt/{dev/pts,dev,sys,proc,boot,}
# unmount loop device
losetup -d /dev/loop0
Last active
March 24, 2024 14:36
-
-
Save jkullick/9b02c2061fbdf4a6c4e8a78f1312a689 to your computer and use it in GitHub Desktop.
Chroot into Raspberry Pi ARMv7 Image with Qemu
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
parted
was just the hint I needed. For anyone that wants to resize their image properly, this is how I did it:First, list the partitions:
Use this to determine the partition number you want, and the "end" of the partition. I wanted partition 2, as that's the home partition that needs to grow.
Then grow the partition like so:
In the above example, I changed the "end" of the ext4 partition to 4700MB, roughly increasing it by 1GB.