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

    make module_install

    make install


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

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

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


下面开始diy mini linux

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

    过程略


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

    wKiom1dxMsKQv3x9AAM2cKGlAKE685.png-wh_50

    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文件目录)

     wKioL1dxNSuRo7X1AABRZUEhOBI391.png-wh_50



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修改以下几项:

    wKioL1dxOIPSgwyMAACgDp58hu8770.png-wh_50

    (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等命令)

wKiom1dxOwPDOpkwAAFqXhRfUcA262.png-wh_50

wKioL1dxO3qTb9ucAADfp885NzE914.png-wh_50

测试是否可以chroot

wKiom1dxO-2xDoHGAAA7UN6TE8M371.png-wh_50


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

    wKioL1dxP3mi8mk1AAAZ6xpp_A8964.png-wh_50

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


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

wKiom1dxQC7SB0x4AAASKrBaPtQ348.png-wh_50

wKioL1dxQC7gtg_lAAAa5bVyfDU811.png-wh_50
















本文转自biao007h51CTO博客,原文链接: http://blog.51cto.com/linzb/1793462,如需转载请自行联系原作者



相关文章
|
1月前
|
安全 Linux 网络安全
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
87 0
|
6天前
|
Linux 网络安全
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
14 1
|
7月前
|
Linux 网络安全 Windows
linux/redhat系-006基础命令,包管理,
全程以企业正式的服务器为标准使用
66 0
|
架构师 中间件 Linux
Red Hat Enterprise Linux 8/7/6/5/4 合集下载地址
Red Hat Enterprise Linux 8/7/6/5/4 合集下载地址
|
6月前
|
网络协议 关系型数据库 MySQL
Red Hat enterprise linux 5 -mysql安装步骤
Red Hat enterprise linux 5 -mysql安装步骤
|
7月前
|
编解码 Java Linux
linux【redhat&ubuntu】下ffmpeg-3.1安装编译及视频转码
这篇是几年前整理的老文章了,当时在调研流视频推送及播放相关技术,并在项目中应用,使用到ffmpeg,所以整理了这篇文章,但并未发布。最近又有相关的技术需求,所以整理出来,作为一个新的开始。
173 0
|
8月前
|
关系型数据库 Linux 数据库
百度搜索:蓝易云【Redhat Linux9上安装DB2【详解】】
注意事项: - 安装过程中需要注意所选的软件包版本和系统依赖。 - 在创建 DB2 用户和组时,可以使用自己的用户名和组名,但需要与后续操作一致。 - 在配置环境变量时,需要注意所填写的路径是否正确,否则会导致启动 DB2 失败。 - 在启动 DB2 时,需要以 DB2 用户身份进行操作,否则会提示权限不足。
73 0
|
Linux
Why does my Red Hat Enterprise Linux (RHEL) system swap despite of having free RAM?
Why does my Red Hat Enterprise Linux (RHEL) system swap despite of having free RAM? Swapping in a linux system happens under two conditions. 1) Anonymous mapped memory. 2) Oversized workload abusing memory overcommit. In our problem, only point 1 is valid. So, we will discuss that here.
68 0
|
监控 算法 安全
Red Hat Enterprise Linux (RHEL) 9 更新了哪些新特性?
Red Hat Enterprise Linux (RHEL) 9 更新了哪些新特性?
|
存储 缓存 Linux
【Linux】【RedHat】下载 安装 注册
【Linux】【RedHat】下载 安装 注册
523 0