%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
%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
--- /dev/null
+# ---- 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
+"
--- /dev/null
+#!/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