構建MenuOS系統
1.將指定文件拷貝到本地:
git clone https://github.com/mengning/linuxnet.git
此過程可能需要輸入github賬號和密碼。

2.進入目錄linuxnet,使用make命令編譯根文件系統:
cd linuxnet
make rootfs
3.在Makefile文件中有一條指令用於開啟menu系統(不需要自己輸入):
qmenu -kernel ../../linux-3.18.6/arch/x86/bzImage -initrd ../rootfs.img

測試QEMU
1.在QEMU中完成TCP客戶端和服務器發送和接收hello/hi以驗證MenuOS正常工作:
MenuOS>> replyhi
# Please input hello...
MenuOS>> hello

- 結果顯示TCP客戶端和服務器正常工作,打印出了預期的信息
2.修改Makefile內容,rootfs標簽下啟動QEMU的命令尾部添加-s

3.重新make rootfs,啟動QEMU

4.啟動調試,連接到server
gdb
(gdb) file ../../linux-3.18.6/vmlinux
(gdb) target remote:1234 # 連接到gdbserver

5.設置斷點,驗證gdb對start_kernel和sys_socketcall這兩個內核函數的跟蹤是否可行
(gdb) break start_kernel
(gdb) break sys_socketcall

- 結果顯示gdb可以追蹤到
start_kernel函數,斷點在init/mian.c的501行;也可以追蹤到sys_socketcall函數,斷點在net/socket.c文件的2492行
