From 66aa00d3e051956b634ea157c71782add41d7ed1 Mon Sep 17 00:00:00 2001 From: Lorenzo Miori Date: Tue, 23 Jul 2013 16:24:19 +0200 Subject: [PATCH] Samsung YP-R0/YP-R1 Safe Mode improvement This is an improvement for the special mode present in the samsung ypr0 target. Apart adding new useful functionalities, it fixes a random disconnection bug, solved by debouncing and fully support to YP-R1 target. This opens also the possibility to interface this operating mode to rockbox USB functionality. Change-Id: Id70541541fcfaa1234328485fab0696a3bd491c9 --- utils/ypr0tools/Makefile | 47 +++- utils/ypr0tools/cable_detect.c | 63 +++++ .../files/{ => common}/.rockbox/README | 0 .../files/{ => common}/Playlists/README | 0 .../ypr0tools/files/{ => common}/etc/profile | 22 +- .../ypr0tools/files/common/etc/safemode/smode | 250 ++++++++++++++++++ utils/ypr0tools/files/etc/mods/safe_mode.sh | 111 -------- .../ypr0tools/files/images/r0/post_smode.bmp | Bin 0 -> 230456 bytes utils/ypr0tools/files/images/r0/pre_smode.bmp | Bin 0 -> 230456 bytes .../safe_mode.raw => images/r0/safemode.bmp} | Bin 230400 -> 230456 bytes .../ypr0tools/files/images/r1/post_smode.bmp | Bin 0 -> 288056 bytes utils/ypr0tools/files/images/r1/pre_smode.bmp | Bin 0 -> 288056 bytes utils/ypr0tools/files/images/r1/safemode.bmp | Bin 0 -> 288056 bytes .../files/{ => r0}/lib/modules/si4709.ko | Bin utils/ypr0tools/patch-firmware.sh | 65 ++++- 15 files changed, 412 insertions(+), 146 deletions(-) create mode 100644 utils/ypr0tools/cable_detect.c rename utils/ypr0tools/files/{ => common}/.rockbox/README (100%) rename utils/ypr0tools/files/{ => common}/Playlists/README (100%) rename utils/ypr0tools/files/{ => common}/etc/profile (72%) create mode 100755 utils/ypr0tools/files/common/etc/safemode/smode delete mode 100755 utils/ypr0tools/files/etc/mods/safe_mode.sh create mode 100644 utils/ypr0tools/files/images/r0/post_smode.bmp create mode 100644 utils/ypr0tools/files/images/r0/pre_smode.bmp rename utils/ypr0tools/files/{etc/mods/safe_mode.raw => images/r0/safemode.bmp} (72%) create mode 100644 utils/ypr0tools/files/images/r1/post_smode.bmp create mode 100644 utils/ypr0tools/files/images/r1/pre_smode.bmp create mode 100644 utils/ypr0tools/files/images/r1/safemode.bmp rename utils/ypr0tools/files/{ => r0}/lib/modules/si4709.ko (100%) diff --git a/utils/ypr0tools/Makefile b/utils/ypr0tools/Makefile index 3efdc61443..d4715bdca8 100644 --- a/utils/ypr0tools/Makefile +++ b/utils/ypr0tools/Makefile @@ -1,20 +1,41 @@ -DEFINES= -CC=gcc -LD=gcc -CFLAGS=-g -std=c99 -W -Wall $(DEFINES) -LDFLAGS= -BINS=fwcrypt fwdecrypt +.PHONY: all clean dirs bmp2rb +CFLAGS += -O1 -g -std=c99 -W -Wall $(DEFINES) +PROGS = bmp2rb fwcrypt fwdecrypt +CROSS_COMPILE = arm-ypr0-linux-gnueabi- +R1_SAFEMODE_DIR = files/r1/etc/safemode +R0_SAFEMODE_DIR = files/r0/etc/safemode +DIRS = $(R1_SAFEMODE_DIR) $(R0_SAFEMODE_DIR) +R1_IMAGES = $(subst .bmp,.raw,$(addprefix $(R1_SAFEMODE_DIR)/,$(notdir $(wildcard files/images/r1/*.bmp)))) +R0_IMAGES = $(subst .bmp,.raw,$(addprefix $(R0_SAFEMODE_DIR)/,$(notdir $(wildcard files/images/r0/*.bmp)))) +BMP2RB = ../../tools/bmp2rb -all: $(BINS) - -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< +all: $(R1_SAFEMODE_DIR)/cable_detect $(PROGS) $(R1_IMAGES) $(R0_IMAGES) + $(MAKE) -C cramfs-1.1 fwdecrypt: fwdecrypt.o common.o ../../tools/fwpatcher/md5.o - $(LD) -o $@ $^ $(LDFLAGS) fwcrypt: fwcrypt.o common.o ../../tools/fwpatcher/md5.o - $(LD) -o $@ $^ $(LDFLAGS) + +$(BMP2RB): + $(MAKE) -C ../../tools/ bmp2rb + +$(R1_SAFEMODE_DIR)/cable_detect: cable_detect.c $(R1_SAFEMODE_DIR) + $(CROSS_COMPILE)$(CC) $(CFLAGS) $< -o $@ + +$(R1_SAFEMODE_DIR)/%.raw: files/images/r1/%.bmp $(BMP2RB) $(R1_SAFEMODE_DIR) + $(BMP2RB) -r -f 9 $< > $@ + +$(R0_SAFEMODE_DIR)/%.raw: files/images/r0/%.bmp $(BMP2RB) $(R0_SAFEMODE_DIR) + $(BMP2RB) -r -f 9 $< > $@ + +$(DIRS): + $(SILENT)mkdir -p $@ + +dirs: $(DIRS) + +bmp2rb: $(BMP2RB) clean: - rm -fr *.o $(BINS) + $(MAKE) -C cramfs-1.1 clean + rm -f *.o fwdecrypt fwcrypt + rm -rf $(R1_SAFEMODE_DIR)/../../etc $(R0_SAFEMODE_DIR)/../../etc diff --git a/utils/ypr0tools/cable_detect.c b/utils/ypr0tools/cable_detect.c new file mode 100644 index 0000000000..57679d4b79 --- /dev/null +++ b/utils/ypr0tools/cable_detect.c @@ -0,0 +1,63 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Samsung YP-R1 runtime USB cable detection + * + * Copyright (C) 2013 Lorenzo Miori + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +#include +#include + +#define IOCTL_PMU_MAGIC 'A' + +#define E_IOCTL_PMU_GET_BATT_LVL 0 +#define E_IOCTL_PMU_GET_CHG_STATUS 1 +#define E_IOCTL_PMU_IS_EXT_PWR 2 +#define E_IOCTL_PMU_STOP_CHG 3 +#define E_IOCTL_PMU_START_CHG 4 +#define E_IOCTL_PMU_IS_EXT_PWR_OVP 5 +#define E_IOCTL_PMU_LCD_DIM_CTRL 6 +#define E_IOCTL_PMU_CORE_CTL_HIGH 7 +#define E_IOCTL_PMU_CORE_CTL_LOW 8 +#define E_IOCTL_PMU_TSP_USB_PWR_OFF 9 + +#define IOCTL_PMU_GET_BATT_LVL _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_GET_BATT_LVL) +#define IOCTL_PMU_GET_CHG_STATUS _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_GET_CHG_STATUS) +#define IOCTL_PMU_IS_EXT_PWR _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_IS_EXT_PWR) +#define IOCTL_PMU_STOP_CHG _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_STOP_CHG) +#define IOCTL_PMU_START_CHG _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_START_CHG) +#define IOCTL_PMU_IS_EXT_PWR_OVP _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_IS_EXT_PWR_OVP) +#define IOCTL_PMU_LCD_DIM_CTRL _IOW(IOCTL_PMU_MAGIC, E_IOCTL_PMU_LCD_DIM_CTRL, int) +#define IOCTL_PMU_CORE_CTL_HIGH _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_CORE_CTL_HIGH) +#define IOCTL_PMU_CORE_CTL_LOW _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_CORE_CTL_LOW) +#define IOCTL_PMU_TSP_USB_PWR_OFF _IO(IOCTL_PMU_MAGIC, E_IOCTL_PMU_TSP_USB_PWR_OFF) + +/* + * This is a very simple program that runs on device. + * It returns error code either 0 when (power/usb) cable + * is not connected or >= 1 if connected. + */ +int main(void) +{ + int state = -1; + int dev = open("/dev/r1Pmu", O_RDONLY); + state = ioctl(dev, IOCTL_PMU_IS_EXT_PWR); + close(dev); + return state; +} diff --git a/utils/ypr0tools/files/.rockbox/README b/utils/ypr0tools/files/common/.rockbox/README similarity index 100% rename from utils/ypr0tools/files/.rockbox/README rename to utils/ypr0tools/files/common/.rockbox/README diff --git a/utils/ypr0tools/files/Playlists/README b/utils/ypr0tools/files/common/Playlists/README similarity index 100% rename from utils/ypr0tools/files/Playlists/README rename to utils/ypr0tools/files/common/Playlists/README diff --git a/utils/ypr0tools/files/etc/profile b/utils/ypr0tools/files/common/etc/profile similarity index 72% rename from utils/ypr0tools/files/etc/profile rename to utils/ypr0tools/files/common/etc/profile index 9fa1505544..5a51167ac1 100755 --- a/utils/ypr0tools/files/etc/profile +++ b/utils/ypr0tools/files/common/etc/profile @@ -15,8 +15,8 @@ hwclock -s alias ls='ls --color=auto' alias ll='ls -l --color=auto' -# Start with lorenzo92's safe mode -SCRIPT="/etc/mods/safe_mode.sh" +# Start with safe mode +SCRIPT="/etc/safemode/smode" if [ -f $SCRIPT ] then /bin/sh $SCRIPT @@ -29,24 +29,16 @@ then fi fi -if [ -e "/mnt/media1/r0" ] +# Ironically, r1's ROM contains a lot of r0's executables, including the main one. +# So we need to check against r1 before! +if [ -e "/usr/local/bin/r1" ] then - MAINFILE="/mnt/media1/r0" -elif [ -f "/mnt/media0/r0" ] -then - # copy to media1 since USB wouldn't work - cp /mnt/media0/r0 /mnt/media1/r0_media0 - if [ "$?" = "0" ] - then # perhaps cp failed due to insufficient storage or so - MAINFILE="/mnt/media1/r0_media0" - else - MAINFILE="/usr/local/bin/r0" - fi + MAINFILE="/usr/local/bin/r1" else MAINFILE="/usr/local/bin/r0" fi -# Parameters for r0 +# Parameters for the application MAINFILE_ARGV="Application AppMain" # source the rockbox loader script diff --git a/utils/ypr0tools/files/common/etc/safemode/smode b/utils/ypr0tools/files/common/etc/safemode/smode new file mode 100755 index 0000000000..f94d09a26d --- /dev/null +++ b/utils/ypr0tools/files/common/etc/safemode/smode @@ -0,0 +1,250 @@ +#!/bin/sh + +###################################################################### +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# +# * Safe Mode for Samsung YP-R0 / YP-R1 * +# * Copyright (C) 2013 Lorenzo Miori and VanniX +###################################################################### + +# 0 = R0 ; 1 = R1 +PLATFORM=0 +BUTTON_DEVICE="/dev/r0Btn" +PMK=$(echo -e -n "\x01") # same for both devices +STORAGES="/dev/stl3,/dev/stl2,/dev/mmcblk0" + +MODE="normal" + +if [ $# -eq 1 ] +then + MODE=$1 +fi + +# rather simple but effective check +# different key codes to trigger safe mode +if [ -e "/usr/local/bin/r1" ] +then + # running on YP-R1 model + BACK=$(echo -e -n "\x02") + PLATFORM=1 + BUTTON_DEVICE="/dev/r1Button" + STORAGES="/dev/stl3,/dev/stl2" +else + BACK=$(echo -e -n "\x08") + PLATFORM=0 + BUTTON_DEVICE="/dev/r0Btn" + STORAGES="/dev/stl3,/dev/stl2,/dev/mmcblk0" +fi + +power_pressed() +{ + VAR=$(dd if=$BUTTON_DEVICE bs=4 count=1) + [[ "$VAR" = "$PMK" ]] + return $? +} + +cable_disconnected() +{ + if [ $PLATFORM -eq 0 ] + then + /usr/local/bin/minird 0x0a | grep -q 0x00 + return $? + else + /etc/safemode/cable_detect + return $? + fi +} + +enable_display() +{ + echo -n "0" > /sys/devices/platform/afe.0/bli + echo -n "1" > /sys/class/graphics/fb0/blank + echo -n "0" >> /sys/class/graphics/fb0/blank + echo -n "1" > /sys/devices/platform/afe.0/bli +} + +display_image() +{ + cat $1 > "/dev/fb0" +} + +if [ $MODE != "forced" ] +then + KEY=$(dd if=$BUTTON_DEVICE bs=4 count=1) + if [[ "$KEY" != "$BACK" ]]; then + # do not enter safe mode and continue normal boot + exit 0 + fi +fi + +# Here we entered safe mode, so first clean the display +# and turn on backlight at minimum level +enable_display + +# there are different ROMs around... +if [ -e "/etc/safemode/safemode.raw" ] +then + DefIMG="/etc/safemode/safemode.raw" +else + DefIMG="/etc/mods/safe_mode.raw" +fi +RbtIMG="/etc/safemode/post_smode.raw" +PreIMG="/etc/safemode/pre_smode.raw" + +NOUSB=true + +if cable_disconnected +then + + display_image $PreIMG + + while $NOUSB + do + + # User aborts safe mode before mounting anything, just exit + # and continue normal boot + if power_pressed + then + sleep 1 + if power_pressed + then + exit 1 + fi + fi + + if cable_disconnected + then + echo "USB not connected - Waiting" + else + sleep 1 + if cable_disconnected + then + echo "USB first check OK - Waiting" + else + sleep 1 + if cable_disconnected + then + echo "USB second check OK - Waiting" + else + NOUSB=false + USB=true + fi + fi + fi + done +else + while $NOUSB + do + if cable_disconnected + then + echo "USB not connected - Waiting" + else + sleep 1 + if cable_disconnected + then + echo "USB first check OK - Waiting" + else + NOUSB=false + USB=true + fi + fi + done +fi + +display_image $DefIMG + +echo "Enabling usb storage..." +lsmod | grep g_file_storage +if [ $? == 0 ] +then + umount /mnt/media1/dev/gadget +fi + +umount /mnt/media1 +umount /mnt/media0 + +lsmod | grep rfs +if [ $? == 0 ] +then + rmmod rfs +fi + +lsmod | grep g_file_storage +if [ $? == 0 ] +then + rmmod gadgetfs + rmmod g_file_storage + rmmod arcotg_udc +fi + +lsmod | grep g_serial +if [ $? == 0 ] +then + rmmod g_serial +fi + +lsmod | grep g_file_storage +if [ $? != 0 ] +then + modprobe g-file-storage file=$STORAGES removable=1 +fi + +SAFE=true +while $SAFE +do + if power_pressed + then + sleep 1 + if power_pressed + then + SAFE=false + fi + fi +done + +echo "Removing loaded modules..." +rmmod g_file_storage +rmmod arcotg_udc + +display_image $RbtIMG + +USB=true + +while $USB +do + if cable_disconnected + then + sleep 1 + if cable_disconnected + then + if cable_disconnected + then + sleep 1 + if cable_disconnected + then + USB=false + else + echo "USB connected - Waiting" + USB=true + fi + else + echo "USB connected - Waiting" + USB=true + fi + else + echo "USB connected - Waiting" + USB=true + fi + else + echo "USB connected - Waiting" + USB=true + fi +done + +#power key pressed for almost 2 sec and cable disconnected. Power off! +exit 1 diff --git a/utils/ypr0tools/files/etc/mods/safe_mode.sh b/utils/ypr0tools/files/etc/mods/safe_mode.sh deleted file mode 100755 index 122b2eabfe..0000000000 --- a/utils/ypr0tools/files/etc/mods/safe_mode.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/sh - -# YP-R0 Safe Mode!! -# - Part of the "Device Rescue Kit", modded ROM v2.20 and onwards -# Version: v0.3 -# v0.2 - initial version -# v0.3 - USB cable check implemented -# by lorenzo92 aka Memory -# memoryS60@gmail.com - -CustomIMG="/mnt/media1/safe_mode.raw" -DefIMG="/etc/mods/safe_mode.raw" - -timer=0 -# Seconds before turning the device OFF -timeout=2 - -shutdown () { - sync - reboot -} - -cableDaemon () { - cd /usr/local/bin - while [ 1 ] - do - if [ $timer -gt $timeout ] - then - shutdown - fi - - if ./minird 0x0a | grep -q 0x00 - then - timer=$(($timer+1)) - else - timer=0 - fi - sleep 1 - done -} - -# Back button is a \x08\x00\x00\x00 string... -# ...since bash removes null bytes for us, we must only care the single byte -var=$(dd if=/dev/r0Btn bs=4 count=1) -# Here a workaround to detect \x08 byte :S -var2=$(echo -e -n "\x08") -if [[ "$var" = "$var2" ]] -then - echo "Safe mode (USB) activated..." - # Put the backlight at the minimum level: no energy waste, please ;) - # Using low level interface - - cd /usr/local/bin - ./afewr 0x1b 0x3 0x8 - - # Long press reset time 5 secs - [ -e /etc/mods/reset_time_mod.sh ] && /bin/sh /etc/mods/reset_time_mod.sh - - # Clear the screen and show a nice picture :D - - echo -n "1" > /sys/class/graphics/fb0/blank - echo -n "0" >> /sys/class/graphics/fb0/blank -# echo -n "1" > /sys/class/graphics/fb2/blank -# echo -n "0" >> /sys/class/graphics/fb2/blank - if [ -e $CustomIMG ] - then - cat $CustomIMG > "/dev/fb0" - else - cat $DefIMG > "/dev/fb0" - fi - - # Here the real USB connection stuff - # This is slightly modified by me; it was contained in the cramfs shipped with - # YP-R0 opensource package... - - lsmod | grep g_file_storage - if [ $? == 0 ] - then - umount /mnt/media1/dev/gadget - fi - #if [ -d /mnt/media0 ] - #then - umount /mnt/media1 - umount /mnt/media0 - #umount /mnt/mmc - #fi - lsmod | grep rfs - if [ $? == 0 ] - then - rmmod rfs - fi - lsmod | grep g_file_storage - if [ $? == 0 ] - then - rmmod gadgetfs - rmmod g_file_storage - rmmod arcotg_udc - fi - lsmod | grep g_file_storage - if [ $? != 0 ] - then - modprobe g-file-storage file=/dev/stl3,/dev/stl2,/dev/mmcblk0 removable=1 - fi - - # Let's implement the check if usb cable is still inserted or not... - cableDaemon - - return 1 -else - return 0 -fi diff --git a/utils/ypr0tools/files/images/r0/post_smode.bmp b/utils/ypr0tools/files/images/r0/post_smode.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5f09fcd54c875a81a51a85c72fdc86b4ba53fde1 GIT binary patch literal 230456 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 NJ@-$0ilCOK{x7i={$l_D delta 18132 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 R1OkCTAP@)y0)r8O{|9TBS?T}) literal 0 HcmV?d00001 diff --git a/utils/ypr0tools/files/lib/modules/si4709.ko b/utils/ypr0tools/files/r0/lib/modules/si4709.ko similarity index 100% rename from utils/ypr0tools/files/lib/modules/si4709.ko rename to utils/ypr0tools/files/r0/lib/modules/si4709.ko diff --git a/utils/ypr0tools/patch-firmware.sh b/utils/ypr0tools/patch-firmware.sh index 879b3f879d..acc1b48631 100755 --- a/utils/ypr0tools/patch-firmware.sh +++ b/utils/ypr0tools/patch-firmware.sh @@ -11,19 +11,21 @@ # # * Script to patch an unpacked Samsung YP-R0 firmware file */ # Copyright (C) 2011 Thomas Martitz +# Copyright (C) 2013 Lorenzo Miori ###################################################################### # bail out early set -e if [ $# -lt 1 ] || [ $# -gt 2 ]; then echo "Usage: $0 [path to unpacked rom]" - echo "\t is expected to have a rootfs layout and to contain" - echo "\tonly the files to overwrite (plain cp -r is used)" + echo "\t is expected to have a special resources and rootfs layout" exit 1 fi +MODEL="unknown" FILES=${1%/} FILES=${FILES:-"/"} +COMMON_FILES="$FILES/common" DIR=${2:-"."} DIR=${DIR%/} ROOTFS=$DIR/rootfs @@ -31,6 +33,35 @@ CRAMFS=$DIR/cramfs-fsl.rom # sanity checks +for subdir in common r0 r1 +do + if [ ! -d "$FILES/$subdir" ] + then + echo "Missing $FILES/$subdir. Invalid $FILES layout." + exit 1 + fi +done + +if [ ! -e "$FILES/r1/etc/safemode/cable_detect" ] +then + echo "Couldn't find cable_detect binary (try 'make' or select a valid layout directory)" + exit 1 +fi + +for image in pre_smode.raw post_smode.raw safemode.raw +do + if [ ! -e "$FILES/r1/etc/safemode/$image" ] + then + echo "Missing r1 .raw image file (try 'make'): $image" + exit 1 + fi + if [ ! -e "$FILES/r0/etc/safemode/$image" ] + then + echo "Missing r0 .raw image file (try 'make'): $image" + exit 1 + fi +done + # this needs to be run as root! if [ $(whoami) != "root" ] then @@ -55,13 +86,33 @@ fi echo "Extracting cramfs image" -[ ! -e $ROOTFS ] || rmdir -p $ROOTFS +[ ! -e $ROOTFS ] || rm -R $ROOTFS cramfs-1.1/cramfsck -x $ROOTFS $CRAMFS -echo "Patching rootfs" -echo "cp -r $FILES/* $ROOTFS/" -cp -r $FILES/.rockbox $ROOTFS/ -cp -r $FILES/* $ROOTFS/ +# now we can detect player version +# NOTE: order is important here, since ironically +# r1's ROM contains also r0's executables +if [ -e "$ROOTFS/usr/local/bin/r1" ] +then + MODEL="r1" +else + if [ -e "$ROOTFS/usr/local/bin/r0" ] + then + MODEL="r0" + fi +fi + +echo "$MODEL ROM found." + +echo "Patching rootfs (common files)" +echo "cp -r $COMMON_FILES/* $ROOTFS/" +cp -r $COMMON_FILES/.rockbox $ROOTFS/ +cp -r $COMMON_FILES/* $ROOTFS/ + +echo "Patching rootfs ($MODEL files)" +MODEL_FILES="$FILES/$MODEL" +echo "cp -r $MODEL_FILES/* $ROOTFS/" +cp -r $MODEL_FILES/* $ROOTFS/ echo "Packing new cramfs image" cramfs-1.1/mkcramfs $ROOTFS $CRAMFS