From a76c033a7f5ffd5a94c315010bf28de4e839e2a2 Mon Sep 17 00:00:00 2001 From: Lucas Ramage Date: Thu, 4 Oct 2018 01:43:12 +0000 Subject: [PATCH] gpd_xds: new port --- devices/gpd_xds/Makefile | 10 ++++++++++ devices/gpd_xds/bootimg.cfg | 9 +++++++++ devices/gpd_xds/initramfs/init | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 devices/gpd_xds/Makefile create mode 100644 devices/gpd_xds/bootimg.cfg create mode 100644 devices/gpd_xds/initramfs/init diff --git a/devices/gpd_xds/Makefile b/devices/gpd_xds/Makefile new file mode 100644 index 0000000..77e9468 --- /dev/null +++ b/devices/gpd_xds/Makefile @@ -0,0 +1,10 @@ +all: + mkdir -p initramfs/{,s}bin + cp -L /bin/busybox initramfs/sbin/ + for a in $$(initramfs/sbin/busybox --list-full); do \ + ln -sf /sbin/busybox initramfs/$$a; \ + done + chmod 755 initramfs/init + +clean: + rm -rf initramfs/{,s}bin diff --git a/devices/gpd_xds/bootimg.cfg b/devices/gpd_xds/bootimg.cfg new file mode 100644 index 0000000..7517aca --- /dev/null +++ b/devices/gpd_xds/bootimg.cfg @@ -0,0 +1,9 @@ +bootsize = 0x1000000 +pagesize = 0x800 +kerneladdr = 0x40080000 +ramdiskaddr = 0x44000000 +secondaddr = 0x40f00000 +tagsaddr = 0x4e000000 +name = +cmdline = bootopt=64S3,32N2,64N2 +id = 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000 diff --git a/devices/gpd_xds/initramfs/init b/devices/gpd_xds/initramfs/init new file mode 100644 index 0000000..5d544c3 --- /dev/null +++ b/devices/gpd_xds/initramfs/init @@ -0,0 +1,34 @@ +#!/bin/sh + +export PATH=/bin + +USERDATA=/dev/block/mmcblk0p24 +FSROOT=/mnt/userdata +NEWROOT=$FSROOT/gnu +NEWINIT=/sbin/init + +# write log to kmsg +log() { + echo new_era: $@ > /dev/kmsg +} + +die() { + log FATAL: $@ + exit 1 +} + +# set up psuedo-filesystems +mount -t devtmpfs none /dev + +log Preinit started! +log Trying to mount $USERDATA on $FSROOT... +mkdir -p $FSROOT +mount -t ext4 $USERDATA $FSROOT || die Failed to mount $USERDATA + +log Setting up $NEWROOT as mountpoint... +mount -o bind,ro $NEWROOT $NEWROOT || die Failed to setup $NEWROOT as mountpoint + +log Cleaning up mounts, switching root to $NEWROOT, and launching $NEWINIT... +mount --move /dev $NEWROOT/dev +exec switch_root $NEWROOT $NEWINIT +