mirror of
https://github.com/kevinveenbirkenbach/raspberry-pi-tools.git
synced 2024-11-22 01:51:04 +01:00
Added chroot script for debugging
This commit is contained in:
parent
0b16092ebf
commit
4e259c2865
@ -27,8 +27,8 @@ To pase the configuration to the program use this syntax:
|
||||
#echo "n" # ├── Overwrite device before copying
|
||||
echo "test12345" # | The user password
|
||||
echo "test12345" # | The root password
|
||||
echo "example-host" # | The hostname
|
||||
echo "y" # | Copy wifi configurations to target system
|
||||
echo "example-host" # | The hostname
|
||||
echo "y" # | Setup Wifi on target system
|
||||
)| sudo bash ./sd_setup.sh
|
||||
```
|
||||
|
||||
|
69
chroot-to-pi.sh
Normal file
69
chroot-to-pi.sh
Normal file
@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script allows you to chroot ("work on")
|
||||
# the raspbian sd card as if it's the raspberry pi
|
||||
# on your Ubuntu desktop/laptop
|
||||
# just much faster and more convenient
|
||||
|
||||
# credits: https://gist.github.com/jkullick/9b02c2061fbdf4a6c4e8a78f1312a689
|
||||
|
||||
# make sure you have issued
|
||||
# (sudo) apt install qemu qemu-user-static binfmt-support
|
||||
|
||||
# Write the raspbian image onto the sd card,
|
||||
# boot the pi with the card once
|
||||
# so it expands the fs automatically
|
||||
# then plug back to your laptop/desktop
|
||||
# and chroot to it with this script.
|
||||
|
||||
# Invoke:
|
||||
# (sudo) ./chroot-to-pi.sh /dev/sdb
|
||||
# assuming /dev/sdb is your sd-card
|
||||
# if you don't know, when you plug the card in, type:
|
||||
# dmesg | tail -n30
|
||||
|
||||
|
||||
# Note: If you have an image file instead of the sd card,
|
||||
# you will need to issue
|
||||
# (sudo) apt install kpartx
|
||||
# (sudo) kpartx -v -a 2017-11-29-raspbian-stretch-lite.img
|
||||
# then
|
||||
# (sudo) ./chroot-to-pi.sh /dev/mapper/loop0p
|
||||
# With the vanilla image, you have very little space to work on
|
||||
# I have not figured out a reliable way to resize it
|
||||
# Something like this should work, but it didn't in my experience
|
||||
# https://gist.github.com/htruong/0271d84ae81ee1d301293d126a5ad716
|
||||
# so it's better just to let the pi resize the partitions
|
||||
|
||||
mkdir -p /mnt/raspbian
|
||||
|
||||
# mount partition
|
||||
mount -o rw ${1}2 /mnt/raspbian
|
||||
mount -o rw ${1}1 /mnt/raspbian/boot
|
||||
|
||||
# mount binds
|
||||
mount --bind /dev /mnt/raspbian/dev/
|
||||
mount --bind /sys /mnt/raspbian/sys/
|
||||
mount --bind /proc /mnt/raspbian/proc/
|
||||
mount --bind /dev/pts /mnt/raspbian/dev/pts
|
||||
|
||||
# ld.so.preload fix
|
||||
sed -i 's/^/#CHROOT /g' /mnt/raspbian/etc/ld.so.preload
|
||||
|
||||
# copy qemu binary
|
||||
cp /usr/bin/qemu-arm-static /mnt/raspbian/usr/bin/
|
||||
|
||||
echo "You will be transferred to the bash shell now."
|
||||
echo "Issue 'exit' when you are done."
|
||||
echo "Issue 'su pi' if you need to work as the user pi."
|
||||
|
||||
# chroot to raspbian
|
||||
chroot /mnt/raspbian /bin/bash
|
||||
|
||||
# ----------------------------
|
||||
# Clean up
|
||||
# revert ld.so.preload fix
|
||||
sed -i 's/^#CHROOT //g' /mnt/raspbian/etc/ld.so.preload
|
||||
|
||||
# unmount everything
|
||||
umount /mnt/raspbian/{dev/pts,dev,sys,proc,boot,}
|
Loading…
Reference in New Issue
Block a user