想要执行的命令(或 update_image.bash 文件):
#!/bin/bash
sudo losetup -f /dev/loop0 floppy.img
sudo mount -t /dev/loop0 /mnt
sudo cp -T src/kernel /mnt/kernel
sudo umount /dev/loop0
sudo losetup -d /dev/loop0
错误信息:
mount: /mnt: can't find in /etc/fstab.
umount: /dev/loop0: not mounted.
实际上,我正在尝试构建一个小型操作系统。抱歉,如果我听起来很菜鸟。我是操作系统开发的初学者,对Linux环回设备了解不多。
额外信息:
manish@godsmack:~/workspace/OS$ ls -l *
-rw-r--r-- 1 manish manish 247 Aug 21 2007 bochsrc.txt
-rw-r--r-- 1 manish manish 1474560 Aug 21 2007 floppy.img
-rwxr-xr-x 1 manish manish 194 Dec 28 23:34 run_bochs.sh
-rwxr-xr-x 1 manish manish 169 Jan 1 17:57 update_image.sh
docs:
total 0
src:
total 60
-rw-r--r-- 1 manish manish 800 Jan 1 14:48 boot.o
-rw-r--r-- 1 manish manish 2058 Dec 28 23:48 boot.s
-rw-rw-r-- 1 manish manish 1278 Dec 29 15:48 common.c
-rw-rw-r-- 1 manish manish 553 Dec 29 15:49 common.h
-rwxr-xr-x 1 manish manish 13600 Jan 1 14:48 kernel
-rw-r--r-- 1 manish manish 602 Dec 28 23:33 link.ld
-rw-r--r-- 1 manish manish 397 Dec 29 22:08 main.c
-rw-r--r-- 1 manish manish 1188 Jan 1 14:48 main.o
-rw-r--r-- 1 manish manish 288 Dec 29 22:06 Makefile
-rw-rw-r-- 1 manish manish 4113 Dec 29 15:50 monitor.c
-rw-rw-r-- 1 manish manish 409 Dec 29 15:50 monitor.h
答案1
看起来/dev/loop0
是不可写的。之前步骤中的一些事情。
答案2
问题-t
在于sudo mount -t /dev/loop0 /mnt
- 您使用了-t
但没有为其指定文件系统,因此现在mount
认为/dev/loop0
是类型并尝试查找/mnt
in 的行,/etc/fstab
因为它不知道应该安装到哪个设备/mnt
。
将行更改为sudo mount -t <type> /dev/loop0 /mnt
(例如替换<type>
为)或(没有选项将检测类型)。ext4
sudo mount /dev/loop0 /mnt
-t
mount