可以在启动时自动挂载rootfs和chroot吗?

时间:2019-03-02 11:08:00

标签: debian mount riscv chroot

我正在使用hifive释放板来遵循本指南: https://wiki.debian.org/InstallingDebianOn/SiFive/HiFiveUnleashed 我已经成功启动并运行了所有程序,但是为了使用debian,我必须执行以下操作:

mount /dev/mmcblk0p2 /mnt
chroot /mnt /bin/bash -l
mount -t sysfs sysfs /sys/
mount -t proc proc /proc
mount -t devtmpfs udev /dev/
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mount -t tmpfs tmpfs /run
mkdir -p /run/lock

我想要一种自动执行此操作的方法,但是riscv linux(来自https://github.com/sifive/freedom-u-sdk.git)仅与busybox一起提供,因此我不能将其放在rc.local中。

我将此脚本(称为“ S90autoroot”)放入/etc/init.d /

#!/bin/bash
#
# Change to debian rootfs

case "$1" in
  start)
    echo "Mounting rootfs..."
    mount /dev/mmcblk0p2 /mnt
    chroot /mnt
    mount -t sysfs sysfs /sys/
    mount -t proc proc /proc
    mount -t devtmpfs udev /dev/
    mkdir -p /dev/pts
    mount -t devpts devpts /dev/pts
    mount -t tmpfs tmpfs /run
    mkdir -p /run/lock
    ;;
  stop)
    printf "Unmounting rootfs..."
    umount /mnt
  restart|reload)
    "$0" stop
    "$0" start
    ;;
  *)
    echo "Usage: $0 (start|stop|restart)"
    exit 1
esac

exit $?

但是当我重新启动时,文件消失了,并且实际上并没有运行。

我在做什么错了?

0 个答案:

没有答案