minix3 开发环境搭建

准备工作:需要的下载的软件:

  • Vmware workstation 10
  • Minix3镜像(http://www.minix3.org/)
  • Putty
  • WinSCP

 

1.  安装虚拟机:


                   a.首先安装虚拟机软件vmware workstation  10  

                   b.新建一个虚拟机配置,推荐配置 - 内存512M,硬盘4G,NAT的联网方式


2. 安装Minix操作系统:


                   a.下载并解压Minix光盘映像iso文件,用这个文件做为虚拟机的光盘

                   b.  启动虚拟机,按照提示步骤安装Minix操作系统

                            i.输入root登陆系统

                            ii.输入setup开始安装

                            iii.  按照提示一步一步来,安装成功后重启。

一定要把虚拟机的配置,虚拟硬盘放在同一个文件夹下,方便以后我们打包备份


 

3. 设置开发环境:


1) 安装必要的软件


a. Windows 机器上需要安装远程登录软件putty和远程文件复制winscp

b. 启动装有minix的虚拟机,按照如下步骤安装下软件包:


                   · 登录 (默认用户名root,密码为空)

                   · 首先修改root用户的密码,否则远程无法登录,可修改密码为root:


                   · 安装软件包(bash,vim, openssh)


 然后依次输入命令:

pkgin install vim
pkgin install openssh

                   ·  重新启动Minix虚拟机器(重启后会自动配置ssh并启动ssh服务),查看联网虚拟机的ip地址:

 

                   ·  检验windows下putty和winscp应该可以通过该ip地址访问虚拟机:

 

 

          至此,环境搭建完毕。


2) 编译Minix代码

        

          在开始我们的改动之前,我们需要首先在虚拟机里面编译整个系统代码,这样以后我们改动后重新编译,就会进行增量编译,省去多时间。

                   · 进入目录/usr/src, 运行命令make build,需要等待稍长的时间(>1h)完成编译

        

        编译好了没有报错就行啦~这里可以备份一下,以后你要是把内核代码改啊改,改崩溃了可以用这个备份还原。


3) 修改内核代码

       

          我们来最简单的改变系统boot的时候的打印信息。用winCSP把 /usr/src/kernel下的main.c文件下载到主机上,找到以下函数:

static void announce(void)
{
  /* Display the MINIX startup banner. */
  printf("\nMINIX %s.%s. "
#ifdef _VCS_REVISION
	"(" _VCS_REVISION ")\n"
#endif
      "Copyright 2012, Vrije Universiteit, Amsterdam, The Netherlands\n",
      OS_RELEASE, OS_VERSION);
  printf("MINIX is open source software, see http://www.minix3.org\n");
  
  //note from tutu:
  printf("\n\nhello tutu hahaha**9999**\n\n");
}
      在函数最后添加一个打印信息,如上面代码所示。保存,上传到 /usr/src/kernel并覆盖源文件。

      下面重新编译内核源码:(当然你要是时间很多可以像上面那样在/usr/src下make build。)

      
      没有报错,完美。然后我们进入/usr/src/releasetools目录输入命令:make usage看看我们能做什么:

      

      输入make hdboot回车。

      完成之后在 /boot/minix目录下多了一个文件:3.2.1r9(此处忘记截图了)


       然后,再次输入make hdboot回车。(不要问我为什么?老娘也不知道。反正只是make hdboot一次的话改动根本不会生效~)

       完成。

       

       3.2.1r9被删除了! 第二次make hdboot之后,我们看看/boot/minix目录:

        

       很诡异对不对~可是就是这样,第二次的make hdboot生成了r10和r11两个文件。


       这个时候我们输入reboot命令重启:

       

       选2.你会问选7行不行,答案是不行。不要问我为什么,我也不知道!

       系统重启时候你就可以看到你打印的信息了(下图第一行)

       


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章