Mini linux

mini linux

  • 启动流程:

POST自检—>BootSequence(BIOS)-->BootLoader-->Kernel(ramdisk)-->rootfs根文件系统—>/sbin/init(centos7变成systemd)

bootloader:lilo;grub legacy;grub2(stage1:mbr;stage1_5:filesystem driver;state2)

编写服务脚本 upstart配置文件(centos7变成systemd unit文件)

centos6

/etc/init/*.conf

/etc/inittab

默认运行级别;运行系统初始化脚本:/etc/rc.d/rc.sysinit;/etc/rc.d/rc $runlevel;启动终端,并运行login;启动图形终端

  • 内核编译:

make menuconfig --> .config

make [-j #]

make modules_install

make install

  • mini linux步骤:

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

kernel+busybox:

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

# cd /usr/src/linux

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

# make M=path/to/somedir/

时间: 2024-10-06 19:52:41

Mini linux的相关文章

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

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

redhat 5 系列 diy mini linux 之一

用户空间访问.监控内核的方式: /proc,/sys 伪文件系统: /proc/sys:此目录中的文件很多事可读写的 /sys/:某些文件可写 设定内核参数值得方法: echo VALUE>/proc/sys/TO/SOMEFILE sysctl -w kernel.hostname=HOSTNAME     这里的写法相当于 echo HOSTNAME > /proc/sys/kernel/hostname 永久有效:/etc/sysctl.conf 修改完立即生效: sysctl -p s

从无到有构建一个Mini Linux(7)

31.编译安装dropbear 32.创建远程登录时,用到的目录 33.为目标系统生成密钥文件 34.设置安全的shells 35.开启网络服务转换功能 36.复制相应的库文件,路径要对应,没有则创建之 37.测试 31.编译安装dropbear Dropbear是一个相对较小的SSH服务器和客户端 [[email protected] ~]# tar xf dropbear-2016.73.tar.bz2 [[email protected] ~]# cd dropbear-2016.73 [

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

redhat 5 系列 diy mini linux 之二

本文接上篇,假设mini linux挂载在宿主机的/mnt/boot和/mnt/sysroot下,本文的一些脚本都是简化的,只求达到我们的目的,linux的工作流程比想象中复杂的多 现在我们有一个可用的mini linux,让我们对它进行一些扩展 重新挂载根文件系统为读写 首先给minlinux提供个fstab配置文件,内容如下: 在rc.sysinit里面添加mount -o remount,rw / 如果此时mini linux 的etc目录下没有mstab文件,则使用 mount -o -

[转]制作一个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

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) 选

构建一个mini linux系统

mini linux: 启动流程: centos6:post>bootsequence(bios)>BootLoader(mbr)>kernel(如无法直接识别硬盘驱动,需借助ramdisk)>rootfs>/sbin/init centos7:post>bootsequence(bios)>BootLoader(mbr)>kernel(如无法直接识别硬盘驱动,需借助ramfs)>rootfs>/sbin/systemd bootloader:l

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 $r