xref: /OK3568_Linux_fs/device/rockchip/common/scripts/mk-ramdisk.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/bash -e
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRAMDISK_IMG="$1"
4*4882a593SmuzhiyunTARGET_IMG="$2"
5*4882a593SmuzhiyunITS="$3"
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunif [ ! -f "$RAMDISK_IMG" ]; then
8*4882a593Smuzhiyun	echo "$RAMDISK_IMG doesn't exist"
9*4882a593Smuzhiyun	exit 0
10*4882a593Smuzhiyunfi
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunKERNEL_IMG="$RK_KERNEL_IMG"
13*4882a593Smuzhiyun
14*4882a593Smuzhiyunif [ ! -f "$KERNEL_IMG" ]; then
15*4882a593Smuzhiyun	echo "Build kernel for initrd"
16*4882a593Smuzhiyun	"$SCRIPTS_DIR/mk-kernel.sh"
17*4882a593Smuzhiyunfi
18*4882a593Smuzhiyun
19*4882a593Smuzhiyunif echo $RAMDISK_IMG | grep -q ".romfs$"; then
20*4882a593Smuzhiyun	cat "$RAMDISK_IMG" | gzip -n -f -9 > "$RAMDISK_IMG.gz"
21*4882a593Smuzhiyun	cat "$KERNEL_IMG" | gzip -n -f -9 > "$KERNEL_IMG.gz"
22*4882a593Smuzhiyun	RAMDISK_IMG="$RAMDISK_IMG.gz"
23*4882a593Smuzhiyun	KERNEL_IMG="$KERNEL_IMG.gz"
24*4882a593Smuzhiyunfi
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunecho "Packing $RAMDISK_IMG to $TARGET_IMG"
27*4882a593Smuzhiyunif [ -n "$ITS" ]; then
28*4882a593Smuzhiyun	"$SCRIPTS_DIR/mk-fitimage.sh" "$TARGET_IMG" "$ITS" \
29*4882a593Smuzhiyun		"$KERNEL_IMG" "$RAMDISK_IMG"
30*4882a593Smuzhiyunelse
31*4882a593Smuzhiyun	kernel/scripts/mkbootimg --kernel "$KERNEL_IMG" \
32*4882a593Smuzhiyun		--ramdisk "$RAMDISK_IMG" --second "kernel/resource.img" \
33*4882a593Smuzhiyun		-o "$TARGET_IMG"
34*4882a593Smuzhiyunfi
35