设为首页 加入收藏

TOP

制作自己的Linux OS
2014-11-23 22:28:29 来源: 作者: 【 】 浏览:10
Tags:制作 自己 Linux

花了几天时间做了个可以光盘启动的Linux系统,大小5.15M,功能包括Linux大多数基本命令


一.系统介绍:


文件系统用的是ram,速度很快,采用isoLinux光盘启动,可以方便升级kernel和更改root fs(增减Linux命令),实际上这个东西还可以做的更小,考虑到是iso所以不是很在乎空间,如果是嵌入式系统,可以考虑把root fs采用gzip -9压缩存贮.我测试了完全可以在1.44M以内解决问题.


制作方法:


二.知识背景


1.Linux启动


首先,主板的BIOS会读取硬盘的主引导记录(MBR),MBR中存放的是一段很小的程序,他的功能是从硬盘读取操作系统核心文件并运行,因为这个小程序太小了,因此通常这个小程序不具备直接引导系统内核的能力,他先去引导另一个稍微大一点的小程序,再由这个大一点的小程序去引导系统内核(ps:这个稍微大一点的程序,就是我们平常熟知的lilo和grub,但是本系统采用的isoLinux+mkisofs). Linux系统内核被引导程序装入内核并运行后,Linux内核会检测系统中的各种硬件.并做好各种硬件的初始化工作,使他们在系统正式运行后能正常工作.之后内核做的最后一个工作是运行 /sbin下的init程序,init是英文单词initialization(初始化)的简称,init程序的工作是读取/etc/inittab文件中描述的指令,对系统的各种软硬件环境做最初化设定.最后运行getty等待用户输入用户名登录系统.所有的工作就这么简单,虽然Linux启动的时候有很多内容,看上去十分高深,但是都不过是对这个过程的扩充.明白了这个道理,你可以写一些脚本程序让他在系统启动的特定时间运行完成任务.事实上系统内核并不关心/sbin下的init是不是真的init,只要是放在/sbin下名叫init的可执行程序他都可以执行,在本系统中,我直接让系统进入/bin/bash,绕开了系统login登陆验证.


2.一个操作系的构成


引导程序+内核+文件系统(ps:不知道这样说确切不,但我是这么认为的)


3.内核编译


http://ourbbs.8800.org/linux/Linux%20Forum/linux/0399307373822/forum_topic


其实我们这里没有这么复杂,只需要简单的几步就ok了


下载内核源代码,解压到/usr/src/下面,作一个连接(ps:没搞懂为什么,manual上这么说的)


cd /usr/src


ln -s Linux-*-* Linux *表示你下载的内核版本号


cd Linux


make mrproper


make menuconfig


make dep


meke clean


make bzImage


好了,我没有加入对modules的支持,生成的bzImage文件在usr/src/Linux/arch/i386/


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux操作系统下给Windows发送Pop.. 下一篇研究Linux内核的目的及态度

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: