标签归档:kernel

操作系统内核,暂时我只研究过Linux的

在RouterOS的KVM中安装Linux

最近耍了一个RouterOS的x86版,自带kvm虚拟机,看起来碉堡了,但是使用了之后只能吐槽说各种bug,就连官方的建立img都会报个“failed to copy files to image(s)”,结果我还是用ultraiso建立了一个空的img文件才能用。openwrt的镜像倒是方便,把kernel也放出来了,启动参数也提供了,在routerOS中一填就OK,没什么大问题。至于安装其他的linux。。。。目前我只成功安装了CentOS7。

在目前的RouterOS版本(6.36.2)中,kvm虚拟机的vnc是用不了的,这让我安装windows的企图破灭了,没GUI玩个蛋蛋。剩下一种可行的链接方式就只有console,这让安装linux变得可能。

但是下载下来的iso镜像不能直接使用,因为很多发行版发布的镜像的grub是默认没有console输出的,这让我们需要重新打包iso镜像。

首先,找到grub的配置文件,视情况而定,有可能是grub.cfg、grub.conf、isolinux.cfg几种,ubuntu的配置文件更加复杂,详细去官方的wiki慢慢研究。

在grub的配置文件中全局的位置(大概是在那一堆label前)插入一句

serial 0 115200

就能够让grub输出到console,至于这时候有没有视频输出,我没试过。这时候routerOS就可以用过console看到grub的输出了。

然后就是kernel的参数,这让kernel启动之后输出到console,这段写在kernel的后面,像这样。

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz console=ttyS0,115200
  append initrd=initrd.img

之后就像正常安装linux一样安装就行了,不过只能够用文本的安装向导,详细查询各大发行版。

尝试了编译Linux内核

Linux真是个好东西啊~核心功能什么的都可以随便自己弄……

稍微记录一下经过吧

 

参考:

  1. http://blog.csdn.net/youyoufengxinzi/article/details/1516263

 

首先,下载Linux的内核,大概70~100MB,内核的话自己去

ftp://ftp.kernel.org/pub/linux/kernel/

里面找,选择的话当然是要选最新的啦~

找到之后,用wget下载下来,然后解压(tar -vxf),然后切换到解压出来的文件夹里面,例:

wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.1.6.tar.bz2
tar -xvflinux-3.1.6.tar.bz2

cd linux-3.1.6

然后

make mrproper

make menuconfig

话说这个menuconfig真是个好东西啊~操作起来很舒适

之后就是根据自己的需要修改内核的功能, “Y”代表将该功能编译进内核,“N”代表不将该功能编译进内核
,“M”代表将该功能编译成可以在需要时动态插入到内核中的模块。

将与核心其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响。许多功能都可以这样处理,例如网卡的支持、对FAT等文件系统的支持。

 

…………………………最后还是没用上……