LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 12846|回复: 25

最简单的制作从USB启动的系统的方法

[复制链接]
发表于 2005-4-6 16:34:41 | 显示全部楼层 |阅读模式
偶以前的方法太复杂了,今天摸索出一个很简单的方法,与大家共享。
1.你必须有一个喜欢的Linux系统,然后插入usb硬盘
2.需要安装两个工具:mkinitrd,rsync。debian用户apt-get install initrd-tools rsync。用其他发行版的自己看着办。
3.fdisk /dev/sda(以下都假设是sda),假设sda1为主分区,sda2为交换分区
4.mkfs.reiserfs /dev/sda1,用你喜欢的文件系统创建分区
5.mkswap /dev/sda2,创建交换分区
6.mount /dev/sda1 /mnt/mp(假设/mnt/mp已经存在),把分区挂上,准备把本机的系统传送过去。
7.rsync -av --exclude "/mnt" --exclude "/proc" / /mnt/mp,开始传送系统,注意要避开/proc和/mnt。当然你用cp -a也可以。
8.mkdir /mnt/mp/proc /mnt/mp/mnt,虽然避开了/mnt和/proc,但是别忘了创建这两个挂载点。
9.把grub/lilo安装到/dev/sda上面。
10.vi /dev/sda1/etc/fstab,按照新的分区情况调整fstab。
11.vi /etc/mkinitrd/modules,加上以下模块:
usbcore
scsi_mod
sd_mod
usb-storage
uhci-hcd
ehci-hcd
usbhid
12.vi /etc/mkinitrd/mkinitrd.conf,把DELAY=0改成DELAY=10(按照实际情况调整,偶觉得一般>3秒就行了)
13.mkinitrd -o lv.img 2.6.10-1-686(这里用当前的版本号)
14.mv lv.img /mnt/mp/boot/initrd.img-2.6.10-1-686-usb
15.vi /mnt/mp/boot/grub/menu.lst,加上一个新的启动选项,其中initrd的那一项用这个新生成的。
16.搞定,重启机器,从usb启动。

原理:整个过程前11步都在讲怎么把当前系统迁移到新的硬盘上面。后面才是制作从USB启动的关键,也就是生成合适的initrd.img。以前偶是自己用debian的kernel-image里面的initrd改的,现在发现原来用mkinitrd也可以产生符合偶需求的映象。
发表于 2005-4-6 16:46:51 | 显示全部楼层
要多大的 U 盘
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-6 16:51:22 | 显示全部楼层
偶这个方法是把当前系统复制下来,自然是你现在的系统有多大就需要多大的移动硬盘了。

如果是安装在u盘上面,那么迁移系统的时候得仔细选择才行。

反正今天偶用hiweed-basesystem在512M的CF卡上搞了一个比较全的260M的系统。
以后偶做的项目里面就用这个取代硬盘了。
回复 支持 反对

使用道具 举报

发表于 2005-4-6 17:14:44 | 显示全部楼层
我想问问mmc卡能分区? 我有一张1G的卡 分个512M出来可以这样子做吗?
还有我的mmc 是在我的手机里面的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-6 17:32:27 | 显示全部楼层
MMC卡是什么东东啊?反正偶没用过。
反正,一切能够最终识别为usb storage的东西都可以用来装Linux。
并且一切支持从usb启动的BIOS都能启动这样的Linux。

如果运气不好,自己的电脑不支持从usb启动,问题也不大。
做一个mini cd,包含linux内核和这个initrd映象,启动的时候把内核参数写成root=/dev/sda1,
就可以从mini cd启动Linux内核,并把usb硬盘挂载成为根分区。

不过偶不喜欢做过裁减的linux。偶喜欢把偶本子上的系统完整的映象到移动硬盘上面。这样做了任何改动,
只需用rsync就能同步回本子,反之亦反。这不仅仅是个备份哦,而是把移动硬盘变成了超轻超薄的笔记本。
回复 支持 反对

使用道具 举报

发表于 2005-4-6 18:18:02 | 显示全部楼层
不错。不错。不过,现在的系统用了一段时间,一般都比较大。  
回复 支持 反对

使用道具 举报

发表于 2005-4-6 20:08:42 | 显示全部楼层
不错.好东西。
回复 支持 反对

使用道具 举报

发表于 2005-4-6 22:54:44 | 显示全部楼层
有机会试试。
回复 支持 反对

使用道具 举报

发表于 2005-4-6 23:08:02 | 显示全部楼层
对亚 我就是一直这么做的 重编内核太麻烦了 mkinitrd是个好咚咚 而且重编内核 等待usb这块也会有点问题(对于某些内核来说)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-6 23:29:42 | 显示全部楼层
Post by blursj
对亚 我就是一直这么做的 重编内核太麻烦了 mkinitrd是个好咚咚 而且重编内核 等待usb这块也会有点问题(对于某些内核来说)


有个解决方法需要给内核打补丁,把mount root fs那一块代码加个一个循环,不停的重试。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表