当前位置:  技术问答>linux和unix

安装linux到闪盘

    来源: 互联网  发布时间:2015-07-24

    本文导语:  我想安装一个linux到我的95M的Flash硬盘上。谢谢! | 首先计算机的主板必须要支持USB硬盘的启动方式,并且所使用的优盘是启动型优盘。    我以Linux-2.4.20为例说明。编译时一定要注意不要...

我想安装一个linux到我的95M的Flash硬盘上。谢谢!

|
首先计算机的主板必须要支持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.测试编译的内核是否正常启动 


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


建立优盘启动盘


  1.将优盘分成两个分区 


  留给Linux分区容量大小完全取决于安装哪些系统维护工具,结果如下: 


  # modprobe usb-storage
  # fdisk  -l /dev/sda
  Disk /dev/sda: 16 heads, 63 sectors, 126 cylinders
  Units = cylinders of 1008 * 512 bytes
  Device Boot    Start     End    Blocks   Id  System
  /dev/sda1      1         102    51376+   6   FAT16
  /dev/sda2      103       126    12096    83  Linux



  注意:如果需要使用优盘引导Windows 98,扇区大小必须设置为63个扇区,可以通过fdisk的x命令扩展修改heads、sectors和cylinders参数。 


  2.建立与生成ext2分区 


  # mke2fs -m 0 /dev/sda2
  # mkdir -p /mnt/sda2
  # mount  /dev/sda2 /mnt/sda2
  # cd /mnt/sda2



  3.建立boot目录 


  将编译好的内核与initrd-2.4.20-usb.img文件拷贝到boot目录、编译好的模块拷贝到lib/modules目录,以及将/boot/grub的文件拷贝到boot目录,编辑boot/grub/menu.lst文件,内容如下: 


  timeout 10
  color 0x17 0x70
  default 0
  title Windows 98 
  rootnoverify (hd0,0)
  makeactive
  chainloader  +1
  title GNU/Linux Redhat 8.0 (2.4.20-usb) 
root (hd0,1)
  kernel /boot/vmlinuz-2.4.20-usb ro root=/dev/sda2 
  initrd /boot/initrd-2.4.20-usb.img



  安装grub,具体操作如下: 


  grub> root (hd1,1)
  grub> setup (hd1)



  4.建立bin目录 


  根据自工作的需要拷贝系统维护工具,如insmod、fsck和mkdosfs等实用程序。一定要注意使用ldd命令检查那些共享库文件,这些文件需要按照原来的路径拷贝到lib目录。 由于受到磁盘空间的限制,使用busybox命令代替一些常见的Linux命令,主要原因就是busybox 文件非常小,并且是静态链接的,包括许多常见的Linux命令(如cat、init、ifconig、route)用ln -s busybox建立这些文件的符号联接。可以根据个人需要重新编译busybox,包括vi等命令,也可以使用小巧的e3代替vi。 


  另外,如果使用bash,还必须编辑与裁减/etc/termcap及如下文件: 


  /bin/bash
  /etc/termcap
  /usr/share/terminfo/l/linux
  /usr/share/terminfo/k/klone+acs
  /usr/share/terminfo/k/klone+color
  /usr/share/terminfo/k/klone+sgr
 


  5.建立dev目录 


  使用cp -a命令拷贝常用的设备文件,包括console、tty1、tty2、tty3sda、sda1、sda2、hda、hdb和hda1等设备文件。 


  6.编辑etc/init.d/rcS 


  内容如下: 


  #!/bin/sh
  PATH=/sbin:/bin
  export PATH 
  mount -n -t proc none /proc
  umount /initrd
  mount -n -o remount,rw /
  mount -n -o remount,rw -t proc none /proc
  ifconfig lo 127.0.0.1



  7.编辑etc/fstab文件 


  内容如下: 


  /dev/sda2  / ext2  defaults 1 1
  none  /proc  proc defaults  0 0



应用举例


  举一个传送文件的例子。在一台正常工作的Linux机器A(IP=192.168.100.5)上执行: 


  $ tar cf - win98 |  nc -l -p 5555



  注意:可以在机器B上使用优盘启动机器,telnet登陆到机器A上执行以上命令。 


  在机器B上使用优盘启动执行: 


  # mount -t vfat -o codepage=938,iocharset=cp936 /dev/hda5 /mnt/2dos
  # cd /mnt/2dos
  # modprobe eepro00
  # ifconfig eth0 192.168.1.10
  # route add default gw 192.168.1.1
  # ping 192.168.10.5
  # nc 192.168.10.5 5555 | tar xf -



  如果这时使用format /s命令无法建立优盘Windows 98启动盘,可以采用变通的方式,具体操作如下: 


  # mkdosfs -F 16 /dev/sda1
  # xxd -c 16 /dev/sda1 | less



  这时记录下Boot Record的32~35字节内容(本例为60 91 01 00,这4个字节记录了FAT分区总的扇区数量),再使用朗科随盘提供的制作引导盘的工具制作Windows 98启动盘,然后使用Linux下bvi或者能够编辑二进制文件的工具修改Boot Record的32~35字节为原来的内容。这样,就能够实现名副其实的三启动方式(Windows双启动+Linux启动)。

|
去www.linuxeden.com ,那里高手更多。

|
90多兆足够了,X也能放下。
从前有一个Peanut Linux,70多兆还有KDE呢。
去Distrowatch.com上边搜索吧,小Linux有一大堆呢。

    
 
 

您可能感兴趣的文章:

  • Linux下curl的下载,安装以及curl命令的详细参数,用法介绍
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux/centos下安装nginx(rpm安装和源码安装)详细步骤
  • 在windowsxp安装完vm后,想安装linux(作为guest os),是不是需要linux安装盘?
  • linux/centos安装nginx常见错误及解决办法
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 先安装了redhat linux ,后来安装了windows,如何恢复redhat linux ?
  • Linux下通过rpm安装软件详细介绍以及如何将软件安装到指定目录
  • 我C盘安装win2k,在E盘安装linux。安装后,如何进入linux系统?
  • Linux下c/c++ boost安装及并发编程库mpi介绍
  • 我没有linux安装光盘!可不可以通过网络在我的电脑上安装一个linux操作系统!
  • 在linux下面怎么安程序啊?我刚裝了一个 linux,下了一个迅雷安装程序,可是不知道怎么安装啊?真心请教。
  • 我安装linux时 为什么直接按Enter后就 linux text 安装?
  • 听说安装linux要很小的空间,我在网上看到,安装linux要3张光盘啊!
  • 请问在vmstation下怎么安装linux??但不想从头安装linux,不知在windows下怎么办?
  • 在linux下面怎么安程序啊?我刚裝了一个 linux,下了一个迅雷安装程序,可是不知道怎么安装啊?真心请教。 iis7站长之家
  • linux安装nagios,安装nrpe时候,先安装了openssl再从安装nrpe出错。
  • 在已经安装了windows2000server的机器上安装红旗linux时,如何配置引导记录安装位置?急
  • Red Hat linux如何 安装,当我要划分区来安装的时候,提示我说要划和""linux根区,才可以继续安装.请问如何处理?
  • 请问如何安装一个LINUX内核到我的电脑上,成为一个系统比如安装linux-2.2.16-高分
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Docker支持的安装方式
  • 我已经用源代码方式安装了apache,如何让它支持php和mysql(php没有安装,mysql安装的是rpm包),要不要重新安装apache?如何删除已有的ap
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 请教IBM服务器安装AIX的安装资料(教程或者资料,最好有安装步骤)
  • CentOS下PHP安装完成后继续安装GD扩展库
  • 为什么安装redhat 7.1的时候没有让我配置lilo的安装而是系统默认的给我安装了--那位哥们安装过redhat7.1还望赐教
  • win7, win8安装docker需要了解的概念
  • 关于X库安装问题:我怎么查看我已经安装了哪些X库,并且哪些知道安装的版本号?
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • android自动安装apk代码实例(不使用apk安装器安装)
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • ubuntu 安装失败后,xp也无法进入;连xp安装盘也无法安装
  • win7,win8安装Docker具体过程
  • ubuntu10.04下安装openvz,openvz下安装ubuntu10.04,然后安装ipvsadm问题
  • php安装完成后如何添加mysql扩展
  • 求救!在linux上安装bind9.3.0,安装完后,相应目录底下没有应该被安装的文件
  • 红帽RHEL下安装docker依赖性检查
  • ubuntu 12.04 LTS 主机安装(安装后又出现个安装RELEASE)
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • 在vmware中安装fc5,提示找不到硬件,无法界面安装,只能文本安装,但是却安装不下去。
  • MemCached介绍及最新稳定版memcached-1.4.20.tar.gz下载和安装
  • Ubuntu下无法解压eclipse安装包,eclipse安装包在Redhat下完美安装


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3