定制linux版本,定制属于自己的Linux操作系统

本文详述如何裁剪现有Linux系统,创建一个仅包含基本网络功能的小型Linux发行版。通过新建硬盘分区,安装grub,配置内核和initrd文件,移植bash命令和必要的库,装载网络模块,最终实现一个轻量级的网络功能Linux系统。
摘要由CSDN通过智能技术生成

本文主要通过裁剪现有Linux系统,打造一个属于自己的Linux小系统,让其能够装载网卡驱动,并配置IP地址,实现网络功能。

自制Linux系统

步骤概述:

1、新建一个硬盘

2、在该新硬盘上新建两个分区,一个当boot分区,一个当/分区

3、格式化并且挂载两个分区

4、安装grub至目标磁盘

5、为grub提供配置文件

6、复制内核文件和initrd文件

7、创建目标主机根文件系统

8、移植bash命令和其库文件到根文件系统

9、装载模块,实现网络功能

10、启动测试

特别提醒

如果在vmvare上做此实验,在新建虚拟机创建新磁盘的时候,一定要选“Store virtual disk as a single file”,否则,也会出现内核恐慌kennel panic。

6b73f3b5749054a692e776ef1aceaedf.png

步骤演示详解过程:

1、新建一个硬盘

2、在该新硬盘上新建两个分区,一个当boot分区,一个当/分区

首先,我们要在目标磁盘上分两个区,并进行格式化。第一个分区100M,用来装引导程序;第二个分区19G,用来装根文件系统。然后再进行挂载操作,将/dev/sdb1挂载到/mnt/boot下,将/dev/sdb2挂载到/mnt/root下。

sdb                  8:16  0    20G  0 disk

├─sdb1                8:17  0 109.8M  0 part

└─sdb2                8:18  0  19.9G  0 part

[root@localhost ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xdd8058c2

Device Boot      Start        End      Blocks  Id  System

/dev/sdb1              1          14      112423+  83  Linux

/dev/sdb2              15        2610    20852370  83  Linux

3、格式化并且挂载两个分区

注意,其中boot分区的挂载目录一定是boot名字的目录

[root@localhost ~]# mkfs.ext4 /dev/sdb1

[root@localhost ~]# mkfs.ext4 /dev/sdb2

[root@localhost ~]# mkdir -p /mnt/{root,boot}

[root@localhost ~]# ll /mnt/

total 8

drwxr-xr-x 2 root root 4096 Jul 25 08:52 boot

drwxr-xr-x 2 root root 4096 Jul 25 08:52 root

[root

I. 简介 1. 简介 如何构建一个 LFS 系统? 与上一版本有何不同? 更新日志 资源 帮助 II. 构建前的准备工作 2. 准备一个新分区 简介 创建一个新分区 在新分区上创建文件系统 挂载新分区 3. 软件包和补丁 简介 全部软件包 需要的补丁 4. 最后的准备工作 关于环境变量 $LFS 创建 $LFS/tools 目录 添加 LFS 用户 设置工作环境 关于 SBU 关于软件包测试套件 5. 构建临时编译环境 简介 工具链技术说明 Binutils-2.16.1 - 第一遍 GCC-4.0.3 - 第一遍 Linux-Libc-Headers-2.6.12.0 Glibc-2.3.6 调整工具链 Tcl-8.4.13 Expect-5.43.0 DejaGNU-1.4.4 GCC-4.0.3 - 第二遍 Binutils-2.16.1 - 第二遍 Ncurses-5.5 Bash-3.1 Bzip2-1.0.3 Coreutils-5.96 Diffutils-2.8.1 Findutils-4.2.27 Gawk-3.1.5 Gettext-0.14.5 Grep-2.5.1a Gzip-1.3.5 M4-1.4.4 Make-3.80 Patch-2.5.4 Perl-5.8.8 Sed-4.1.5 Tar-1.15.1 Texinfo-4.8 Util-linux-2.12r 清理系统 改变所有者 III. 构建 LFS 系统 第六章 安装系统基础软件 简介 挂载虚拟内核文件系统 包管理 进入 Chroot 环境 创建系统目录结构 创建必需的文件与符号连接 Linux-Libc-Headers-2.6.12.0 Man-pages-2.34 Glibc-2.3.6 再次调整工具链 Binutils-2.16.1 GCC-4.0.3 Berkeley DB-4.4.20 Coreutils-5.96 Iana-Etc-2.10 M4-1.4.4 Bison-2.2 Ncurses-5.5 Procps-3.2.6 Sed-4.1.5 Libtool-1.5.22 Perl-5.8.8 Readline-5.1 Zlib-1.2.3 Autoconf-2.59 Automake-1.9.6 Bash-3.1 Bzip2-1.0.3 Diffutils-2.8.1 E2fsprogs-1.39 File-4.17 Findutils-4.2.27 Flex-2.5.33 GRUB-0.97 Gawk-3.1.5 Gettext-0.14.5 Grep-2.5.1a Groff-1.18.1.1 Gzip-1.3.5 Inetutils-1.4.2 IPRoute2-2.6.16-060323 Kbd-1.12 Less-394 Make-3.80 Man-DB-2.4.3 Mktemp-1.5 Module-Init-Tools-3.2.2 Patch-2.5.4 Psmisc-22.2 Shadow-4.0.15 Sysklogd-1.4.1 Sysvinit-2.86 Tar-1.15.1 Texinfo-4.8 Udev-096 Util-linux-2.12r Vim-7.0 关于调试符号 再次清理系统 最终的清理 7. 配置系统启动脚本 简介 LFS-Bootscripts-6.2 启动脚本是如何工作的? LFS 系统的设备和模块处理 配置 setclock 脚本 配置 Linux 控制台 配置 sysklogd 脚本 创建 /etc/inputrc 文件 Bash Shell 启动文件 配置 localnet 脚本 定制 /etc/hosts 文件 为设备创建惯用符号连接 配置网络脚本 8. 使 LFS 系统能够启动 简介 创建 /etc/fstab 文件 Linux-2.6.16.27 使 LFS 系统能够启动 9. 结束 结束 看看你是第几个? 重启系统 现在做什么?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值