linux 系统 U盘制作.docx
- 文档编号:25234259
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:15
- 大小:6.07MB
linux 系统 U盘制作.docx
《linux 系统 U盘制作.docx》由会员分享,可在线阅读,更多相关《linux 系统 U盘制作.docx(15页珍藏版)》请在冰豆网上搜索。
linux系统U盘制作
1、前期准备
1.1Ubuntu系统安装
我是在虚拟机的环境下进行的U盘的构建
虚拟机版本:
VMware-workstation-full-11.1.0.58002.1428919414
Ubuntu系统版本:
ubuntu-14.04.2-desktop-amd64.iso
1.2 U盘
买一个U盘作为实验材料
1.3源码准备
Busybox源码:
busybox-1.21.0.tar.bz2
Linux内核源码:
nux-4.0.4.tar.xz
2、准备busybox工具
2.1解压busybox-1.21.0.tar.bz2
tar –xvf busybox-1.21.0.tar.bz2
生成busybox-1.21.0目录
2.2进入busybox-1.21.0目录修改init中的init.c
cd busybox-1.21.0
gedit init/init.c 使用gedit修改编辑init.c找到init.c中#define INIT_SRCIPT “/etc/init.d/rc.S”将其修改为‚
#define INIT_SRCIPT “/etc/rc.d/rc.sysinit”
把系统执行的第一个程序改为/etc/rc.d/rc.sysinit
2.3配置busybox
make menuconfig 进入人工配制菜单修改以下配臵:
1)Busybox Settings --->Build Options
[*]Build BusyBox as a static binary(no shared libs)
2)Shells--->Choose your default shell (ash)
[*]ash []hush []msh
2.4编译和安装BusyBox
1)make 编译
2)make install 安装
安装完busybox后,进入busybox-1.21.0目录,可以看到已经生成了_install目录,里面有bin目录和sbin目录,里面包含了Busybox可执行文件和所有Busybox支持命令对其的链接
3、编译Linux内核
3.1解压源码包
由于我的源码包是.xz格式文件,所以先用命令“xz–d linux-4.0.4.tar.xz”生成.tar格式文件linux-4.0.4.tar之后,解压“tar –xvf linux-4.0.4.tar”。
生成文件夹linux-4.0.4。
3.2内核配置
进入linux-4.0.4目录下,使用命令“makemenuconfig”进入配置界面。
具体配置如下:
1)选择Device Drivers --->Block devices下的 Loopback device support 、RAMblock device support等支持
2)选择Device Drivers ---> SCSI support下SCSI device support、SCSI disk support等支持
3)选择Device Drivers ---> USB Support下的Support for Host-side USB,USB mass storage support和所有含有‚HCD‛等支持
选择完后选择exit最后提示是否保存,选yes
3.3使用‘make dep‘命令寻找依存关系,由系统决定需要编译哪些内容
3.4使用‘make clean‘命令清楚以前编译内核时留下的中间文件
3.5使用‘make bzImage‘命令生成压缩的Linux内核文件,并以bzImage命名。
bzImage位于/xxx/linux-4.0.4/arch/x86/boot/路径下
4、在U盘上建立根文件系统
4.1在U盘上建立Linux分区和ext2文件格式
因为普通U盘是Windows系统下的文件系统,所以必须对U盘进行格式化和分区
1)插上U盘
2)输入‘fdisk –l’查看U盘的设备文件,可以看到我的U盘是/dev/sdb1
3)建立Linux分区并激活,具体操作如下:
fdisk /dev/sdb1 出现以下提示:
Command(m for help):
输入d删除原来的分区,原来有几个分区就输入几次d。
Command(m for help):
输入n建立新的分区,出现:
p primary partition(1-4)输入p,选择建立主分区。
partition number(1-4):
输入1,建立一个分区。
First cylinder(x-y,default x):
回车默认
Last cylinder(x-y,default y):
输入+512M,在U盘上建立一个512M大小的分区。
Command(m for help):
输入p查看是否分区成功。
Command(m for help):
输入w保存并退出fdisk。
4.2在U盘上建立ext2文件系统,
输入:
mkfs.ext2 /dev/sdb1
4.3建立必需的目录和设备节点文件
由于新格式化的U盘什么都没有,需要在里面建立一些必需的目录和设备节点文件。
4.3.1建立必需目录
mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb 将U盘挂载到/mnt/usb目录下
cd /mnt/usb
mkdir boot etc etc/rc.d proc tmp var dev mnt lib initrd
chmod 755 boot etc etc/rc.d proc tmp var dev mnt lib initrd 将所创建目录属性改为可读写
4.3.2建立必需设备节点文件
cd /mnt/usb/dev
mknod tty c 5 0
mknod console c 5 1
chmod 666 tty console
mknod tty0 c 4 0
chmod 666 tty0
mknod ram0 b 1 0
chmod 600 ram0
mknod null c 1 3
chmod 666 null
5、生成常见的命令和工具
文件系统中要包含一些常见的命令和工具,而Busybox工具不仅命令丰富而且占用空间小,所以,可以使用前面编译好的Busybox工具。
把/xxx/busybox-1.21.0/_install/目录下的bin目录和sbin目录复制到U盘的根目录下。
cp –a–R-f /xxx/busybox-1.21.0/_install/* /mnt/usb/
但在BusyBox工具中缺少sh命令,可以把Linux操作系统的sh命令复制过来
6、建立必需的配置文件
Linux系统在启动过程中需要一些配臵文件,得自己建立并编辑。
以下是建立/etc/rc.d/inittab、/etc/rc.d/rc.sysinit和/etc/fstab的步骤和具体内容:
6.1建立/mnt/usb/etc/rc.d/inittab配置文件
gedit /mnt/usb/etc/rc.d/inittab
在gedit编辑器中输入以下inittab的内容:
:
:
sysinit/etc/rc.d/rc.sysinit
:
:
askfirst/bin/sh
6.2建立/mnt/usb/etc/rc.d/rc.sysinit配置文件
gedit/mnt/usb/etc/rc.d/rc.sysinit
在gedit编辑器中输入以下rc.sysinit的内容:
$!
/bin/sh
mount-a
6.3建立/mnt/usb/etc/fstab配置文件
gedit/mnt/usb/etc/fstab
在gedit编辑器中输入以下fstab的内容:
proc /proc proc defaults 0 0
6.4修改inittab,rc.sysinit,fstab权限
chmod 644 /mnt/usb/etc/rc.d/inittab
chmod 755 /mnt/usb/etc/rc.d/rc.sysinit
chmod 644 /mnt/usb/etc/fstab
7、复制内核
8、安装grub到U盘
8.1安装到U盘
在root权限下输入
grub-install --root-directory=/mnt/usb /dev/sdb
8.2复制必需的脚本文件00_header、 05_debian_theme 、10_linux到U盘
cp /etc/grub.d/00_header /mnt/usb/etc/grub.d/00_header
cp /etc/grub.d/05_debian_theme /mnt/usb/etc/grub.d/05_debian_theme
cp /etc/grub.d/10_linux /mnt/usb/etc/grub.d/10_linux
8.3编辑menu.lst(由于下载的grub是较低的版本)
gedit/mnt/usb/boot/grub/.menu.lst
在gedit编辑器里边增加以下内容:
default=0
timeout=10
titlelyt
root(hd1,0)
kernel/boot/bzImageroroot=/dev/sda1rwrootdelay=10
8.4使用‘grub’命令将grub引导程序安装在U盘上。
具体命令如下:
$grub
grub>root(hd1,0)
grub>setup(hd1)
grub>quit
8.5卸载U盘。
命令如下:
$umount/mnt/usb
至此,一个可以在u盘上独立于运行的linux操作系统就完成了。
把u盘插到电脑上,并将电脑的启动方式设置为从U盘启动,就可以测试所制作的U盘linux系统了。
测试结果:
9、总结:
在这次制作U盘之前,我从来没有想过自己可以制作U盘系统,在过程中虽然有些波折,那是在所难免的,在经过反复地操作与查资料之后,终于得到了解决。
在这过程中,学到了很多东西,锻炼了自己的动手能力与搜索能力。
对以后的无论是学习还是工作是有很大的帮助的!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 系统 U盘制作 制作