Я следую этому руководству, используя hifive unleashed board: 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 $?
Но когда я перезагружаюсь, файл исчезает, и он фактически не запускается.
Что я делаю не так?