mini Linux制作过程(25/01)

Posted Hi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mini Linux制作过程(25/01)相关的知识,希望对你有一定的参考价值。

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)的主要内容,如果未能解决你的问题,请参考以下文章

手动制作mini linux详细步骤—之一

Linux 4.10.8 根文件系统制作---环境搭建

Linux之根文件系统的构建20160611

碳纤维粉丝推荐FLINK设计制作MINI COOPER R56碳纤维中控台COVER

还在发愁简历上空空如也?独角兽全栈工程师教你制作Mini Google Map征服面试官!

根据URL参数制作闪亮的应用UI