Add script for enabling flash-manager for ramdisk-recovery image 79/188079/3
authorDongwoo Lee <dwoo08.lee@samsung.com>
Mon, 16 Apr 2018 02:24:01 +0000 (11:24 +0900)
committerDongwoo Lee <dwoo08.lee@samsung.com>
Wed, 12 Sep 2018 02:06:12 +0000 (11:06 +0900)
This patch adds scripts for creating ramdisk partition image. The
script will be executed while MIC builds ramdisk image as copying
list of required files for building ramdisk-recovery image.

Change-Id: I63ac7dcde55df26217de46f9bfab63dd1faebb7f
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
packaging/initrd-flash.spec
scripts/41-flash.list [new file with mode: 0755]
scripts/flash-init.sh [new file with mode: 0755]

index 7e90fe3..8d2a24b 100644 (file)
@@ -29,6 +29,14 @@ make %{?jobs:-j%jobs}
 
 %make_install
 
+%define init_script_dir %{_libdir}/initrd-recovery/flash
+
+mkdir -p %{buildroot}%{init_script_dir}
+cp ./scripts/flash-init.sh %{buildroot}%{init_script_dir}/flash-init.sh
+
+mkdir -p %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d
+cp ./scripts/41-flash.list %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d
+
 %post
 
 %postun
@@ -37,3 +45,5 @@ make %{?jobs:-j%jobs}
 %manifest initrd-flash.manifest
 %license LICENSE
 %attr(700,root,root) %{_bindir}/flash-manager
+%attr(700,root,root) %{init_script_dir}/*.sh
+%attr(700,root,root) %{_datadir}/initrd-recovery/initrd.list.d/*.list
diff --git a/scripts/41-flash.list b/scripts/41-flash.list
new file mode 100755 (executable)
index 0000000..4f91ada
--- /dev/null
@@ -0,0 +1,27 @@
+# ---- Target contents ----------------------------------------------------- #
+MVWITHLIBS="
+/usr/lib/initrd-recovery/flash/flash-init.sh
+"
+
+WITHLIBS="
+/bin/bash
+/bin/echo
+/bin/mkdir
+/bin/mount
+/bin/sync
+/bin/umount
+/bin/flash-manager
+/usr/sbin/ifconfig
+/usr/sbin/route
+/usb/sbin/blkid
+"
+
+# LinkFileName:Target
+SYMLINKS="
+/bin/sh:bash
+/sbin/flash-init:/usr/lib/initrd-recovery/flash/flash-init.sh
+"
+
+VERBATIMS="
+/usr/share/partition.info
+"
diff --git a/scripts/flash-init.sh b/scripts/flash-init.sh
new file mode 100755 (executable)
index 0000000..1b9a241
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+INFORM_FILE=reboot-param.bin
+INFORM_MOUNT_PATH=/mnt/inform
+
+BLKID="/usr/sbin/blkid"
+FLASH_MANAGER="/usr/bin/flash-manager"
+MOUNT="/usr/bin/mount"
+UMOUNT="/usr/bin/umount"
+IFCONFIG="/usr/sbin/ifconfig"
+REBOOT="/usr/sbin/reboot"
+
+#------------------------------------------------
+#      clear_bootmode
+#------------------------------------------------
+clear_bootmode() {
+       echo "" > ${INFORM_MOUNT_PATH}/${INFORM_FILE}
+}
+
+#------------------------------------------------
+#      setup_network
+#------------------------------------------------
+setup_network() {
+       "$IFCONFIG" eth0 192.168.0.1 up
+       echo "IP address is set to 192.168.0.1"
+}
+
+#------------------------------------------------
+#      do_flash
+#------------------------------------------------
+do_flash() {
+       "$FLASH_MANAGER"
+
+       #Control-flow will never reach here, because fm only terminates by rebooting
+
+       echo "flash-manager is terminated by critical reason."
+       echo "Rebooting..."
+       "$REBOOT"
+}
+
+#------------------------------------------------
+#      Main Routine Start
+#------------------------------------------------
+clear_bootmode
+setup_network
+do_flash