我正在尝试重写bash脚本以不使用mount命令。我想删除mount命令,这样我就可以使用目前不支持挂载的Windows子系统Linux来运行它。
在将一些C代码编译到名为bootimg的文件中之后调用此脚本。 它需要一个文件mp3.img(原始二进制文件),并以某种方式将新的bootimg文件和filesys_img文件放入其中,生成更新的mp3.img文件。
这是原始代码。
#!/bin/sh
if [ -d /mnt/tmpmp3 ]; then
rmdir /mnt/tmpmp3
fi
if [ -d /tmp/mp3 ]; then
rm -rf /tmp/mp3
fi
mkdir /mnt/tmpmp3
mkdir /tmp/mp3
cp ./bootimg /tmp/mp3/
cp ./filesys_img /tmp/mp3/
cp ./mp3.img /tmp/mp3/
mount -o loop,offset=32256 /tmp/mp3/mp3.img /mnt/tmpmp3
cp -f /tmp/mp3/bootimg /mnt/tmpmp3/
cp -f /tmp/mp3/filesys_img /mnt/tmpmp3/
umount /mnt/tmpmp3
cp -f /tmp/mp3/mp3.img ./
rm -rf /tmp/mp3
rmdir /mnt/tmpmp3
我真的不明白如何将img文件作为环回设备工作。 我一直在尝试用dd替换mount,但还没有成功。
如何更改此scipt以使用dd(或类似的东西)构建更新的mp3.img文件而不是安装它?