#!/bin/sh -e

PREREQS=""

prereqs() { echo "$PREREQS"; }

case "$1" in
    prereqs)
    prereqs
    exit 0
    ;;
esac

# 上面的内容和initramfs脚本很像，可以不管。
# hook脚本的功能是将一些文件放到initramfs文件里去。
# 把该脚本放到 /usr/share/initramfs-tools/hooks/ 目录下，权限为 0755
# 在更新initramfs时会自动执行该脚本，安装文件。

# 下面这一行是加载hook-functions里的一些功能，用到这个脚本来。
# 这一行必须有
# /usr/share/initramfs-tools/hook-functions定义了copy_exec
. /usr/share/initramfs-tools/hook-functions

ExistCopyExec()
{
  if [ -f $1 ]; then
     copy_exec $1 $2
  fi
}

ExistCp()
{
  if [ -f $1 ]; then
     cp $1 $2
  fi
}

mkdir -p $DESTDIR/usr/bin
mkdir -p $DESTDIR/bin
mkdir -p $DESTDIR/etc

# 备份分区信息与 fstab（还原/备份判断用）
ExistCopyExec /etc/.bootinfo /etc
ExistCopyExec /etc/fstab /etc/fstab-backup

# 备份/还原脚本与依赖
ExistCopyExec /usr/bin/backup-auto-factory /usr/bin
ExistCopyExec /usr/bin/backup-auto-efi /usr/bin
ExistCopyExec /usr/bin/backup-auto /usr/bin
ExistCopyExec /usr/bin/mount_fstab_efi /usr/bin
ExistCopyExec /usr/bin/rsync /usr/bin
ExistCopyExec /usr/bin/bc /usr/bin
ExistCopyExec /usr/bin/mksquashfs /usr/bin
ExistCopyExec /usr/bin/unsquashfs /usr/bin

# 基础命令（脚本依赖）
ExistCopyExec /bin/bash /bin
ExistCopyExec /bin/mkdir /bin
ExistCopyExec /bin/ls /bin
ExistCopyExec /bin/mount /bin
ExistCopyExec /bin/sync /bin
ExistCopyExec /sbin/reboot /bin

# squashfs 模块（压缩/解压镜像用）
manual_add_modules squashfs
