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实现日志存储;

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

自定义输出格式

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

时间: 2024-10-14 00:26:02

mini Linux制作过程(25/01)的相关文章

25.1 mini Linux制作

搭建虚拟机环境:  配置服务器:192.168.1.64 一.搭建环境 1.关闭配置服务器,添加一块硬盘,用来存放mini Linux系统(大小建议10G左右,名字为mini.vmdk),启动配置服务器. 2.安装编译环境所需的软件 [[email protected] ~]# yum groupinstall "Development Tools" "Server Platform development" -y 二.配置Mini Linux 1.基本配置 [[e

linux基础之Mini Linux制作

一.编译一个简单的linux步骤如下: # yum groupinstall ""Development Tools" "Server Platform Development" -y //安装开发包组 # tar xf linux-3.10.65.tar.xz //下载内核这里就不介绍了 # cd /usr/src # ln -sv linux-3.10.15 linux # cd linux # make help# make allnoconfig

国内某公有云 linux云主机开机初始化过程分析和他的镜像制作过程

最近学习了国内某公有云的linux云主机启动之后,在镜像内部的初始化过程,分享出来,仅供参看. 一.开机过程 可以看到开机时候按照数字顺序执行了一连串的脚本,其中也提示的该公有云厂商的名字的ucloud,最后一条显示做了清理工作.进系统一看 果然找不到这些脚本了. 二.进单用户模式找出这些脚本 想让开机的时候不让最后一步 999-clwanup.sh执行的办法很多,我采取的的办法是单用户模式,简单上个图,具体方法大家谷歌下. 成功进入单用户模式,并复制他的初始化脚本 三 初始化过程分析 (一)

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

8.2.1.mini linux内核编译 实验目的: 对Linux内核以非模块化手动编译,并借助busybox安装根文件系统,来制作最小化的linux系统.所谓非模块化,就是将各种所需的硬件驱动.支持的文件系统等直接编译进内核,所以initramfs也就不需要了,对于网卡驱动,我们采用模块化编译,当然也可以根据自己网卡型号,直接将驱动编译进内核:最终在我们的mini linux上能通过DHCP自动获取ip并实现基于dropbear的远程终端登录. 实验环境: 操作系统:centos6.8(x86

[转]制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)

自己动手定制winpe+各类dos工具箱U盘启动盘+minilinux 由于一个64M老U盘,没什么用,拿来发挥余热.如果U盘够大,可以使用功能更强大的mini linux和带更多工具的winpe.这次安装了winpe+maxdosv6plux+矮人dos5.3+cdlinux0.4.9+ mclinux2.02+bomberlinux3.7,工具应该算比较多了.思路很多:法1:可以先做成dos启动盘,这样直接加载各类dos工具,然后再用grub4dos加载winpe.法2:可以做成ntload

Linux编译过程与动静态库制作

一.Linux编译过程 预处理->编译->汇编->链接 二.预处理 作用: 宏展开 头文件包含 条件编译 布局控制,如#pragma:添加行号,方便后期问题查错. 编译命令 gcc -E  *.c  -o  *.i 三.编译 作用: 将预处理生成的代码进行词法.语法与语义进行解析,生成汇编代码. 命令: gcc -S *.i -o *.s 四.汇编 作用: 将汇编代码进行处理,转换成计算机能识别指令集,生成目标文件(.o/.obj). 命令: gcc -c *.s -o *o 五.链接

[PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)

前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复杂的都是模块拼接的(如下图右):      工作中原理图和PCB也有专门的工程师来制作,因此我对这一块了解比较少.而最近闲来无事,又因为手头上确实少一个四线二项步进电机驱动模块.起初是在淘宝上找了很久才找到一个适合的,结果实验了一下午还是不行:又考虑自己在万能板上焊接,可是发现该模块外围需要10个左

手把手带你自制Linux系统之二 简易Linux制作

手把手带你自制Linux系统之二 简易Linux制作 本文利用CentOS5.5自带内核制作一个Mini Linux. 打开准备工作中创建的CentOS,为另一个虚拟机MiniLinux添加一个最小Linux所需要的文件. 1. 创建分区 为准备好的磁盘创建两个主分区,大小分别为20M和512M. 使用fdisk命令创建分区详细过程: fdisk /dev/hda 创建第一个20M分区依次输入: n --> p --> 1 --> <Enter> --> +20M 这几

busybox diy mini linux

系统:centos 5.8 64bit 软件版本:busybox-1.21.1.tar.bz2 dropbear-2016.73.tar.bz2 参考:http://os.51cto.com/art/201403/431943.htm 1.编译 busybox-1.21.1.tar.bz2 make menuconfig (Busybox Settings-->Build Options-->Build BusyBox as a static binary (no shared libs) 选