]> Zhao Yanbai Git Server - kernel.git/commitdiff
fix mkiso
authoracevest <zhaoyanbai@126.com>
Mon, 15 May 2023 11:25:31 +0000 (19:25 +0800)
committeracevest <zhaoyanbai@126.com>
Mon, 15 May 2023 11:25:31 +0000 (19:25 +0800)
gdbscript
qemu.sh
scripts/grub.cfg
scripts/init.sh
scripts/iso
scripts/mkiso.sh

index 24efe1e4216a5b27bb6669049adcb8e625859070..e4101cd7b8bd96b110e760e79331436ee16ab367 100644 (file)
--- a/gdbscript
+++ b/gdbscript
@@ -1 +1,2 @@
 target remote localhost:1234
+file KERNEL.BIN
diff --git a/qemu.sh b/qemu.sh
index d67e1b101a61c4010cceeb311c1980c194ecb0e6..84f8d024727d31a1439cbef1c6041e86eec9692f 100755 (executable)
--- a/qemu.sh
+++ b/qemu.sh
@@ -1,9 +1,22 @@
-qemu-system-i386 -s -S -drive file=HD.IMG,format=raw,index=0,media=disk -drive file=kernel.iso,index=1,media=cdrom &
+qemu-system-i386 \
+    -boot d \
+    -drive file=HD.IMG,format=raw,index=0,media=disk \
+    -drive file=kernel.iso,index=1,media=cdrom \
+    -s -S \
+    &
+
+#qemu-system-x86_64 -boot d -s -S -drive file=HD.IMG,format=raw,index=0,media=disk -drive file=kernel.iso,index=1,media=cdrom &
+#
+
 pid=$!
 echo "pid is ${pid}"
 
 i386-elf-gdb -x gdbscript; kill -9 $pid
 
+echo "kill pid ${pid}"
+
+#x86_64-elf-gdb -x gdbscript; kill -9 $pid
+
 
 # qemu-system-i386 -drive file=HD.IMG,format=raw,index=0,media=disk -cdrom kernel.iso
 
index 55df1a4654b5438e756b0fb999363ead066196f0..6febc86d03381342852ef6b860d607711f91cf54 100644 (file)
@@ -1,7 +1,7 @@
 set default="0"
 
 set timeout=1
-menuentry 'Kernel' --class os {
+menuentry 'Kernel.ISO' --class os {
     #insmod ext2
     set root='(hd0,1)'
     multiboot2 /boot/Kernel root=hda0 delay=2
index d44e3bd9e80838dc65b2ad9ebe8304969ec24c87..e15671b8fdee7cb5e127d9efbfb170b5fd7a2dd0 100755 (executable)
@@ -18,8 +18,8 @@ echo "(hd0) ${lodev}" > ${TMP}/device.map
 sleep 1
 
 # 创建主分区并设置为活动分区
-parted ${lodev} mklabel msdos
-parted ${lodev} mkpart primary ext2 200k 100% -a minimal
+parted -s ${lodev} mklabel msdos
+parted -s ${lodev} mkpart primary ext2 200k 100% -a minimal
 parted ${lodev} set 1 boot on
 sleep 1
 
index 9d3aae38b653fbf7ab42bd2e1b04dd9b8acadfd2..877a42010fb0260335f5a94c365cbf44a8538125 100644 (file)
@@ -1,3 +1,17 @@
 dnf install grub2
+dnf install grub2-tools-extra
 dnf install xorriso
 grub2-mkrescue -o grub.iso iso
+
+
+# mkefs
+dnf install e2fsprogs
+dnf install parted
+
+dnf install gcc-x86_64-linux-gnu
+
+# 如果在docker的linux中提示losetup: cannot find an unused loop device
+# 则需要用docker run --privileged来启动
+#
+# 如果是在M1的Mac上要使用x86 linux的docker镜像
+# 则应该使用docker pull --platform=linux/amd64
index 539078924ee24b3cdf16a0ad3d8e370f2f821a70..8fc2b98506f9f9e6d01239a2c389a61693a2368e 100755 (executable)
@@ -1,5 +1,7 @@
 # 在父目录运行
+# 这个代码必需要在x86的linux机器上运行
+# 因为如果在其它机器上运行,其grub就不是x86版本
 mkdir -p /tmp/iso/boot/grub/
-cp iso.grub.cfg /tmp/iso/boot/grub/
+cp scripts/iso.grub.cfg /tmp/iso/boot/grub/grub.cfg
 cp KERNEL.BIN /tmp/iso/boot/Kernel
-grub2-mkrescue -o kernel.iso /tmp/iso
+grub2-mkrescue -o kernel.iso /tmp/iso/