码迷,mamicode.com
首页 > 系统相关 > 详细

mini Linux制作过程(25/01)

时间:2018-07-08 22:05:38      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:ram   ramdisk   config   mbr   emd   rc.d   another   系统初始化脚本   bios   

Mini Linux:

 

启动流程:

CentOS 6:

POST --> BootSequence(BIOS) --> BootLoader --> Kernel (ramdisk) --> rootfs --> /sbin/init

编写服务脚本

upstart配置文件

 

/etc/init/*.conf(centos6)   /etc/inittab(centos5)

默认运行级别

运行系统初始化脚本:/etc/rc.d/rc.sysinit

/etc/rc.d/rc $runlevel

启动终端,并运行login

启动图形终端

 

bootloader分类

lilo

grub legacy

grub2

stage1: mbr

stage1_5: filesystem driver

state2:

 

CentOS 7:

POST --> BootSequence(BIOS) --> BootLoader --> Kernel (ramdisk) --> rootfs --> /sbin/systemd

 

编写服务脚本

systemd unit文件

 

 

 

内核编译:

make menuconfig --> .config

make [-j #]

make modules_install

make install

 

编译步骤:

bootloader: grub

内核:kernel (非模块方式)

根文件系统:busybox

 

 

复制程序及其依赖的库文件脚本示例:

#!/bin/bash

#

target=/mnt/sysroot

[ -d $target ] || mkdir /mnt/sysroot

 

read -p "A command: " command

 

libcp() {

for lib in $(ldd $1 |  grep -o "[^[:space:]]*/lib[^[:space:]]*"); do

libdir=$(dirname $lib)

[ -d $target$libdir ] || mkdir -p $target$libdir

[ -f $target$lib ] || cp $lib $target$lib

done

}

 

while [ "$command" != ‘quit‘ ]; do

if ! which $command &> /dev/null; then

read -p "No such command, enter again: " command

continue

fi

command=$(which --skip-alias $command)

cmnddir=$(dirname $command)

 

[ -d $target$cmnddir ] || mkdir -p $target$cmnddir

[ -f $target$command ] || cp $command $target$command

libcp $command

read -p "Another command(quit): " command

done

 

 

Mini Linux: kernel+busybox

 

busybox:

 

静态方式编译,依赖于glibc-static;

 

编译单个内核模块:

# cd /usr/src/linux

# make M=drivers/net/ethernet/intel/e1000/

 

# make M=path/to/somedir/

 

 

rsyslog:

 

日志:历史日志

历史事件:

时间,事件

日志级别:事件的关键性程度,Loglevel

 

系统日志服务:

syslog:

syslogd: system

klogd: kernel

 

rsyslog:

syslogd

klogd

 

rsyslog:

多线程;

UDP, TCP, SSL, TLS, RELP;

MySQL, PGSQL, Oralce实现日志存储;

强大的过滤器,可实现过滤日志信息中任何部分;

自定义输出格式

 

mini Linux制作过程(25/01)

标签:ram   ramdisk   config   mbr   emd   rc.d   another   系统初始化脚本   bios   

原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/9281268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!