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

sysctl -a:显示所有内核参数以及值

内核模块管理:

lsmod:查看

modprobe MOD_NAME 装载某模块

modprobe -r MOD_NAME 卸载某模块

modinfo:查看模块的具体信息

insmod /PATH/TO/MODULE_FILE    装载模块

rmmod    MOD_NAME

depmod    /PATH/TP/MODILES_DIR

内核的编译:

编译的3种选择:

1.不使用此功能

2.编译成内核模块

3.编译进内核

如何手动编译内核:

make gconfig:Gnome桌面使用,需安装图形开发库工具

make kconfig:KDE桌面使用

make menuconfig:文件界面

(默认我们选择完后,会在编译内核的目录下生成.config文件,不想一个一个选的话也可以拷贝/boot/config-`uname -r` 文件到当前,并更名为.config,然后再选择修改)

make

make module_install

make install

二次编译时清理,清理前,有需要的话记得备份.config

make clean      删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译

make mrproper   删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件
make distclean  mrproper删除的文件, 加上编辑备份文件和一些补丁文件。

下面开始diy mini linux

  1. 給虚拟机挂载新的硬盘

    过程略

  2. 给新硬盘分区、格式化、并挂载

    mke2fs -j /dev/sdb1

    mke2fs -j /dev/sdb2

    mkdir /mnt/{boot,sysroot} -p

    mount /dev/sdb1  /mnt/boot

    mount /dev/sdb2  /mnt/sysroot

  3. 安装boot分区并提供grub.conf文件

    grub-install  --root-directory=/mnt/ /dev/sdb

    (这里的目录指定的是新硬盘boot目录所在的父目录,完成后会在boot里面生成grub文件目录)

4.复制内核和initrd文件到/boot下

cp /boot/vmlinuz-`uname -r`  /mnt/boot/vmlinuz

(initrd文件不能直接用,需要修改几个地方,因此我们先解压到某个目录)

mkdir /mnt/init

cd /mnt/init

zcat  /boot/initrd-`uname -r`.img |cpio -id

vi /mnt/init/init修改以下几项:

(lvm我们暂时不需要用到,所以先注销掉,mkrootdev里面的设备要注意一点,我们当前系统上已有sda,所以识别新硬盘为sdb,但是新硬盘单独用的时候会被识别为sda,而根文件系统所在分区为第2个分区,所以这里要替换成/dev/sda2)

find . |cpio -H NEWC --quiet -o|gzip -9 >/mnt/boot/initrd.img

5.创建根文件系统,并拷贝程序:

mkdir bin sbin boot etc/{rc.d,init.d} usr/{local,bin,sbin,lib} lib lib64 proc sys dev tmp home -p

(为了节约时间,写了个脚本,直接拷贝 bash 、init、ls等命令)

测试是否可以chroot

6.提供配置文件inittab,和rc.sysinit

vi  /mnt/sysroot/etc/inittab添加如下两行即可:

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

vi  /mnt/sysroot/etc/rc.d/rc.sysinit

chmod +x /mnt/sysroot/etc/rc.d/rc.sysinit

7.至此,一个不怎么完善的mini linux 已经可以启动了,下一篇再谈谈怎么执行运行级别人物和挂载根分区为读写,让系统可以开关机等,现在先测试,应该可以启动了的。

时间: 2024-08-02 06:57:49

redhat 5 系列 diy mini linux 之一的相关文章

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 -

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详细步骤—之一

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

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文

从无到有构建一个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 [

不想作死系列--win7远程linux桌面之vncserver

1.在linux服务器上安装vncserver yum install vncserver 或者下载相应linux版本的tigervnc-serverrpm rpm -ivh tigervnc-server-***** 2.配置vncserver 启动配置vncserver桌面2 ,这里输入匹配密码就好 vncserver :2 修改/etc/sysconfigue/vncserver 在末尾    VNCSERVERS="2:root"     VNCSERVERARGS[3]=&q

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

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

构建一个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