linux内核启动盘,经典技巧:制作Linux操作系统闪存启动盘

本文介绍如何在U盘上利用Linux编译轻量级内核,支持USB启动,配置initrd.img以优化启动速度,以及如何测试和诊断网络问题。涉及步骤包括编译内核、创建initrd文件、优化initrd大小及测试内核启动流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:sixth

在U盘上建立Linux启动盘,对于系统维护人员具有更加实用的意义,你可以使用Linux建立小巧的内核,建立网络环境,快速地判断和排除网络故障与传送文件。

下载相关软件:e3,bvi,Liuux内核。

一、编译内核

首先计算机的主板必须要支持USB硬盘的启动方式,并且所使用的优盘是启动型优盘。

以Linux-2.4.20为例说明。编译时一定要注意不要编译不必要的模块,如声卡驱动等驱动模块,使编译的内核尽可能小一些。由于要支持优盘启动,必须将SCSI设备、usbcore、usb-storage、Loopback device support、RAM disk support和initrd等编译到内核中。

许多人会问,usb-storage模块已经包括在内核了为什么还要建立initrd.img文件?这是由于优盘的初始化过程比执行/sbin/init慢,导致内核已经启动完成了,优盘还没有完成初始化工作,因此根文件系统没有加载,这时执行/sbin/init命令肯定不成功。通过建立initrd.img文件,在启动内核时加载initrd.img文件到内存中,等待3秒使优盘完成初始化工作,再执行/sbin/init指令。具体操作步骤如下。

1.建立initrd.img文件

# mkdir -p /mnt/initrd

# cd /tmp

# mkinitrd /tmp/initrd.gz 2.4.20-usb

2.解压initrd.img文件,修改启动脚本linuxrc

# gunzip initrd.gz

# mount -o loop /tmp/initrd /mnt/initrd

# cp /sbin/busybox /mnt/initrd/bin

# cd /mnt/initrd/bin

# ln -s busybox sleep

# vi /mnt/initrd/linuxrc

加入如下内容:

echo 'wait 3 seconds.....'

/bin/sleep 3

3.重新生成initrd.img文件

由于缺省建立的initrd文件比较大(为4MB),为了加快优盘的启动,必须减小它。具体操作如下:

# mkdir -p /mnt/initrdusb

# cd /tmp

# dd if =/dev/zero of= /tmp/initrdusb bs=1M count=1

# mke2fs -m 0 initrdusb

# mount -o loop /tmp/initrdusb /mnt/initrdusb

# cp -a /mnt/initrd/* /mnt/initrdusb

# umount /mnt/initrd

# umount /mnt/initrdusb

# cd /tmp

# gzip -9 initrdusb

# cp initrdusb.gz /boot/initrd-2.4.20-usb.img

4.测试编译的内核是否正常启动

测试编译的内核是否正常启动,以及在启动过程中是否可看见优盘的相关信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值