rootfsinstall: new -rpi64 platform for aarch64 raspberry pi support
This commit is contained in:
parent
19e28bd576
commit
1cba9353e4
@ -12,13 +12,14 @@ TARGET_ARCH=arm
|
|||||||
VOLUME_LABEL="openmamba"
|
VOLUME_LABEL="openmamba"
|
||||||
|
|
||||||
function usage() {
|
function usage() {
|
||||||
echo "Usage: $0 device rootfs-archive [-bpi|-cubox|-rpi] [-a archive] [-c command] [-fs fstype] [-k kernel] [-p password] [-y]"
|
echo "Usage: $0 device rootfs-archive [-bpi|-cubox|-rpi|-rpi64] [-a archive] [-c command] [-fs fstype] [-k kernel] [-p password] [-y]"
|
||||||
echo
|
echo
|
||||||
echo "Target platform (optional):"
|
echo "Target platform (optional):"
|
||||||
echo "-baytrail : make a BayTrail image with boot partition"
|
echo "-baytrail : make a BayTrail image with boot partition"
|
||||||
echo "-bpi : make a BananaPi image with boot partition"
|
echo "-bpi : make a BananaPi image with boot partition"
|
||||||
echo "-cubox : make a Cubox image with boot partition"
|
echo "-cubox : make a Cubox image with boot partition"
|
||||||
echo "-rpi : make a RaspberryPi image with boot partition"
|
echo "-rpi : make a RaspberryPi (arm) image with boot partition"
|
||||||
|
echo "-rpi64 : make a RaspberryPi (aarch64) image with boot partition"
|
||||||
echo
|
echo
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo "-a archive : additional archive to unpack in rootfs root (may be specified multiple times)"
|
echo "-a archive : additional archive to unpack in rootfs root (may be specified multiple times)"
|
||||||
@ -56,6 +57,7 @@ while [ "$1" ]; do
|
|||||||
-cubox) TARGETDEVICE=cubox ;;
|
-cubox) TARGETDEVICE=cubox ;;
|
||||||
-bpi) TARGETDEVICE=bpi ;;
|
-bpi) TARGETDEVICE=bpi ;;
|
||||||
-rpi) TARGETDEVICE=rpi ;;
|
-rpi) TARGETDEVICE=rpi ;;
|
||||||
|
-rpi64) TARGETDEVICE=rpi64; TARGET_ARCH=aarch64 ;;
|
||||||
-fs) [ "$2" ] || {
|
-fs) [ "$2" ] || {
|
||||||
echo "Error: -fs option requires an argument; aborting."
|
echo "Error: -fs option requires an argument; aborting."
|
||||||
exit 1
|
exit 1
|
||||||
@ -224,6 +226,17 @@ raspberrypi-utils xf86-video-fbturbo $INSTALLPACKAGES"
|
|||||||
FSTAB_ROOT_DEVICE="/dev/mmcblk0p2"
|
FSTAB_ROOT_DEVICE="/dev/mmcblk0p2"
|
||||||
FSTAB_BOOT_DEVICE="/dev/mmcblk0p1"
|
FSTAB_BOOT_DEVICE="/dev/mmcblk0p1"
|
||||||
;;
|
;;
|
||||||
|
rpi64) ARCH=aarch64
|
||||||
|
BOOTFSTYPE=fat32
|
||||||
|
BOOTFSSIZE=100M
|
||||||
|
BOOTFSSTART=0
|
||||||
|
KERNELDEST="@BOOT@/kernel8.img"
|
||||||
|
INSTALLPACKAGES="\
|
||||||
|
kernel-rpi-v8 raspberrypi-utils xf86-video-fbturbo $INSTALLPACKAGES"
|
||||||
|
REMOVEPACKAGES="kernel-mamba-aarch64"
|
||||||
|
FSTAB_ROOT_DEVICE="/dev/mmcblk0p2"
|
||||||
|
FSTAB_BOOT_DEVICE="/dev/mmcblk0p1"
|
||||||
|
;;
|
||||||
cubox) ARCH=arm
|
cubox) ARCH=arm
|
||||||
BOOTFSTYPE=ext3
|
BOOTFSTYPE=ext3
|
||||||
BOOTFSSIZE=20M
|
BOOTFSSIZE=20M
|
||||||
@ -254,7 +267,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Target SD card : ${DRIVE}"
|
echo "Target SD card : ${DRIVE}"
|
||||||
[ "$TARGETDEVICE" ] && echo "Target platform: $TARGETDEVICE"
|
[ "$TARGETDEVICE" ] && echo "Target platform: $TARGETDEVICE ($TARGET_ARCH)"
|
||||||
if [ ! "${IMAGEMODE}" ]; then
|
if [ ! "${IMAGEMODE}" ]; then
|
||||||
[ "$BOOTFSTYPE" ] && echo "Boot fs : $BOOTFSTYPE($BOOTFSSIZE)"
|
[ "$BOOTFSTYPE" ] && echo "Boot fs : $BOOTFSTYPE($BOOTFSSIZE)"
|
||||||
[ "$BOOTFSTYPE" ] && echo "System fs : $SYSTEMFSTYPE"
|
[ "$BOOTFSTYPE" ] && echo "System fs : $SYSTEMFSTYPE"
|
||||||
@ -381,7 +394,7 @@ trap "[ "$BOOTMP" -a -e $BOOTMP ] && umount $BOOTMP;[ "$ROOTMP" -a -e $ROOTMP ]
|
|||||||
if [ ! "${IMAGEMODE}" ]; then
|
if [ ! "${IMAGEMODE}" ]; then
|
||||||
echo "Uncompressing $ROOTFSARCHIVE..."
|
echo "Uncompressing $ROOTFSARCHIVE..."
|
||||||
echo -n "This can take a while, please wait..."
|
echo -n "This can take a while, please wait..."
|
||||||
tar xf $ROOTFSARCHIVE || {
|
tar xf $ROOTFSARCHIVE --exclude=vexpress-v2m-rs1.dtsi || {
|
||||||
echo
|
echo
|
||||||
echo "ERROR: unable to uncompress rootfs archive; aborting."
|
echo "ERROR: unable to uncompress rootfs archive; aborting."
|
||||||
exit 1
|
exit 1
|
||||||
@ -420,7 +433,7 @@ if [ "${SAVE_ROOT_PARTUUID}" -a "${GROWIMAGE}" ]; then
|
|||||||
NEW_ROOT_PARTUUID=`blkid -s PARTUUID -o value ${PARTITION2}`
|
NEW_ROOT_PARTUUID=`blkid -s PARTUUID -o value ${PARTITION2}`
|
||||||
sed -i "s|PARTUUID=${SAVE_ROOT_PARTUUID}|PARTUUID=${NEW_ROOT_PARTUUID}|" ${ROOTMP}/etc/fstab
|
sed -i "s|PARTUUID=${SAVE_ROOT_PARTUUID}|PARTUUID=${NEW_ROOT_PARTUUID}|" ${ROOTMP}/etc/fstab
|
||||||
sed -i "s|PARTUUID=${SAVE_BOOT_PARTUUID}|PARTUUID=${NEW_BOOT_PARTUUID}|" ${ROOTMP}/etc/fstab
|
sed -i "s|PARTUUID=${SAVE_BOOT_PARTUUID}|PARTUUID=${NEW_BOOT_PARTUUID}|" ${ROOTMP}/etc/fstab
|
||||||
if [ "$TARGETDEVICE" = "rpi" ]; then
|
if [ "$TARGETDEVICE" = "rpi" -o "$TARGETDEVICE" = "rpi64" ]; then
|
||||||
sed -i "s|PARTUUID=${SAVE_ROOT_PARTUUID}|PARTUUID=${NEW_ROOT_PARTUUID}|" ${BOOTMP}/cmdline.txt
|
sed -i "s|PARTUUID=${SAVE_ROOT_PARTUUID}|PARTUUID=${NEW_ROOT_PARTUUID}|" ${BOOTMP}/cmdline.txt
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -549,7 +562,7 @@ uenvcmd=run aload_script aload_kernel
|
|||||||
_EOF
|
_EOF
|
||||||
dd if=$ROOTMP/boot/Bananapi/u-boot-sunxi-with-spl.bin of=${DRIVE} bs=1024 seek=8
|
dd if=$ROOTMP/boot/Bananapi/u-boot-sunxi-with-spl.bin of=${DRIVE} bs=1024 seek=8
|
||||||
:
|
:
|
||||||
elif [ "$TARGETDEVICE" = "rpi" ]; then
|
elif [ "$TARGETDEVICE" = "rpi" -o "$TARGETDEVICE" = "rpi64" ]; then
|
||||||
[ "$USEKERNEL" ] && cp $ROOTMP/boot/$USEKERNEL $KERNELDEST
|
[ "$USEKERNEL" ] && cp $ROOTMP/boot/$USEKERNEL $KERNELDEST
|
||||||
[ "$USEKERNEL2" ] && cp $ROOTMP/boot/$USEKERNEL2 $KERNELDEST2
|
[ "$USEKERNEL2" ] && cp $ROOTMP/boot/$USEKERNEL2 $KERNELDEST2
|
||||||
[ "$USEKERNEL3" ] && cp $ROOTMP/boot/$USEKERNEL3 $KERNELDEST3
|
[ "$USEKERNEL3" ] && cp $ROOTMP/boot/$USEKERNEL3 $KERNELDEST3
|
||||||
@ -557,7 +570,7 @@ elif [ "$TARGETDEVICE" = "rpi" ]; then
|
|||||||
[ -e /usr/libexec/init_resize ] && cp /usr/libexec/init_resize ${ROOTMP}/usr/libexec/
|
[ -e /usr/libexec/init_resize ] && cp /usr/libexec/init_resize ${ROOTMP}/usr/libexec/
|
||||||
[ -e ${ROOTMP}/usr/libexec/init_resize ] && CMDLINE_ADD=" init=/usr/libexec/init_resize"
|
[ -e ${ROOTMP}/usr/libexec/init_resize ] && CMDLINE_ADD=" init=/usr/libexec/init_resize"
|
||||||
|
|
||||||
chroot $ROOTMP depmod -ae
|
#chroot $ROOTMP depmod -ae
|
||||||
|
|
||||||
# cmdline.txt : parameters passed to the kernel on boot
|
# cmdline.txt : parameters passed to the kernel on boot
|
||||||
echo "\
|
echo "\
|
||||||
@ -583,9 +596,11 @@ gpu_mem=128
|
|||||||
start_x=1
|
start_x=1
|
||||||
framebuffer_depth=32
|
framebuffer_depth=32
|
||||||
framebuffer_ignore_alpha=1
|
framebuffer_ignore_alpha=1
|
||||||
dtparam=audio=on
|
dtparam=audio=on" > $BOOTMP/config.txt
|
||||||
" > $BOOTMP/config.txt
|
|
||||||
|
|
||||||
|
if [ "$TARGETDEVICE" = "rpi64" ]; then
|
||||||
|
echo "arm_64bit=1" >> $BOOTMP/config.txt
|
||||||
|
fi
|
||||||
## Enable HDMI mode rather than DVI, if required
|
## Enable HDMI mode rather than DVI, if required
|
||||||
#echo "\
|
#echo "\
|
||||||
#hdmi_drive=2" >> $BOOTMP/config.txt
|
#hdmi_drive=2" >> $BOOTMP/config.txt
|
||||||
|
Loading…
Reference in New Issue
Block a user