pmaports/device/testing/linux-samsung-kiran/init
Shinjo Park 1a57242213
samsung-kiran: new device (Samsung Z1) (MR 3234)
The kernel is based on Samsung's downstream kernel for the device. Some
configuration changes are required to make the kernel to work:
* Tizen kernel uses SLP USB gadget, changed to Android USB gadget.
* sprdfb patches and modification on the devicetree files are required
  to use the framebuffer.
* Other required pmOS kernel settings were enabled.
* Tizen does not use initramfs, use RAMDISK partition to store initramfs
  of pmOS (like heimdall-isorec configuration). As far as I know, no
  alternative OS exists for this device so this is the very first usage.
* Flash the root file system to USER, as ROOTFS is < 1 GB in size and
  USER is about 2.7 GB.

samsung-kiran: Update device and firmware packages

* Changed kernel configuration for firmware path to follow postmarketOS.
* Post install script to mount CSA partition

CSA partition [1] contains non-volatile data for Tizen devices. As
Samsung Z1 uses this partition to store Wi-Fi and Bluetooth information,
mount this partition to use within postmarketOS.

[1] https://docs.tizen.org/platform/porting/kernel/

linux-samsung-kiran: Use lzop to decompress initramfs

This synchronizes behavior with other heimdall-isorec devices.

[ci:skip-build] Already built successfuly on CI in MR
2022-06-30 12:11:59 -04:00

29 lines
850 B
Text

#!/stage1/busybox sh
# Z1's Samsung kernel does not have initramfs, and directly boots to the system
# root partition. Recovery and charger mode is differentiated by bootloader
# arguments depending on the pressed key. Because cmdline should be handled by
# init procedure, we always boot to the initramfs from the ramdisk partition.
_PATH="$PATH"
export PATH=/stage1
busybox cd /
busybox date >>boot.txt
exec >>boot.txt 2>&1
busybox rm init
busybox mount -t proc proc /proc
busybox mount -t sysfs sysfs /sys
# always use the "isorec"-style lzop compressed initramfs
# from the ramdisk partition
load_image=/stage1/isorec.cpio
busybox lzop -dc /dev/block/mmcblk0p17 > ${load_image}
busybox cpio -i < ${load_image}
busybox umount /sys
busybox umount /proc
busybox date >>boot.txt
busybox rm -fr /stage1 /dev/*
export PATH="${_PATH}"
exec /init