Thanks to visit codestin.com
Credit goes to github.com

Skip to content

参考《Linux内核完全剖析》linux0.12源码及实验环境

License

Notifications You must be signed in to change notification settings

sunhuacx/linux-0.12

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linux-0.12 源码学习

参考《Linux内核完全剖析 --基于0.12内核》

  1. linux-0.12目录为修改过的源代码,其中加入了中文注释,修改部分代码使其能在现在的环境下编译,并且支持GDB调试

  2. oslab为实验目录,切到oslab目录下,运行该目录下的run.sh脚本即可运行linux0.12操作系统。

实验截图

一、环境搭建

1.1 方式一

可以选择已创建好的docker镜像作为实验环境(人生苦短,我用容器)。

  1. 首先从docker hub中拉取镜像(或者根据Dockerfile自行构建镜像);

    docker pull ultraji/ubuntu-xfce-novnc:os_learn 
  2. 运行容器,linux用户可以通过挂载将本地项目目录挂载到容器中,windows或mac用户可以在容器内重新git clone一份;

    docker run -t -i -p 6080:6080 -v ${本地项目路径}:${容器内项目路径} ultraji/ubuntu-xfce-novnc:os_learn
  3. 默认不启动VNC服务,运行/home/ubuntu目录下vnc_startup.sh脚本启动VNC服务,就可以通过浏览器输入http://localhost:6080/vnc.html访问容器内的桌面系统了。

    • vnc登陆密码: 123456
    • 默认用户: ubuntu
    • 用户密码: 123456

1.2 方式二

ubuntu(64bit,>=14.04) 的用户也可以使用src/code目录下的一键环境搭建脚本setup.sh

二、如何使用

该项目的oslab为实验目录,切到oslab目录下,运行该目录下的run.sh脚本即可运行linux0.12操作系统。

  • -m  编译生成新的Image镜像
  • -g  运行bochs模拟器,与gdb联调

About

参考《Linux内核完全剖析》linux0.12源码及实验环境

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 83.2%
  • Assembly 11.3%
  • Makefile 4.5%
  • Other 1.0%