Ubuntu 22.04下将OS开发配套BAT转为Shell脚本的报错解决求助
Ubuntu 22.04下将OS开发配套BAT转为Shell脚本的报错解决求助
昨天我买了一本关于OS开发的书,结果发现书里的配套脚本是针对Windows系统的.bat文件,这一点在商品描述里完全没提到。我现在需要把这个.bat文件转换成Ubuntu 22.04能用的Shell脚本,但转换后遇到了几个错误,实在不知道怎么解决,想请教下大家。
先给大家看下我的目录结构:
OsDev --src/ ----Boot.asm ----Kernel_Entry.asm ----main.c --bin/
书里的对应章节源码我已经获取到了,我把原.bat文件重写成了下面的.sh脚本:
#!/bin/sh nasm src/Boot.asm -f bin -o bin\bootsect.bin nasm src/Kernel_Entry.asm -f elf -o bin\Entry.bin gcc -m32 -ffreestanding -c src/main.c -o bin\kernel.o ld -T NUL -o bin\Kernel.img -Ttext 0x1000 bin\Entry.bin bin\kernel.o objcopy -O binary -j .text bin\kernel.img bin\kernel.bin copy /b /Y bin\bootsect.bin+bin\kernel.bin bin\os-image qemu-system-i386 -drive format=raw,file=bin\os-image
但运行这个脚本时,我得到了以下错误:
ld: cannot open linker script file NUL: No such file or directory objcopy: 'binkernel.img': No such file ./make.sh: 11: copy: not found
有没有人能告诉我这个脚本需要怎么修改才能在Ubuntu 22.04上正常运行呢?非常感谢!
备注:内容来源于stack exchange,提问作者user1775440
相关产品推荐
相关产品推荐

