• U制作LFS linux


    我希望自己的LFS运行在U盘上,远期目标是要制作一个基于LFS的编程练习U盘,方便自己的编程练习。今天算是工作的第一步,先把LFS做到U盘上。

    把Linux做到U盘上通常的做法是采用两步启动法:先生成initrd文件,系统启动的时候是先在内存中启动一个小型系统,再把控制权交给U盘上的根系统。我不喜欢这种做法----虽然这种做法的好处很多----而且我觉得制作initrd文件、编译busybox等比较麻烦。我希望自己U盘上的LFS能够一步启动,这就需要打个补丁。今天试了一下,成功,记录于下,供大家参考,也为自己以后查看方便。

    1 我是在Sarge下制作LFS6.1.1成功。

    2 在Sarge主系统打开一个终端,下载下面这个针对USB启动Linux的、内核为2.6版本的补丁:
    http://dedasys.com/freesoftware/patc...v_wakeup.patch
    并把这个补丁复制到LFS下的sources目录之中。

    3 在Sarge系统下再打开一个终端,chroot进入自己的LFS。

    4 在LFS下解压kernel2.6.11.12的源码,进入linux-2.6.11.12的源码目录当中先打补丁:
    #cd sources
    #tar jxvf linux-2.6.11.12.tar.bz2
    #cd linux-2.6.11.12
    #patch –Np1 –i ../blkdev_wakeup.patch

    5 然后就是常规的内核编译了。注意选上那些SCSI的东西。但是我没有选择支持模块,我好象不需要。比如说网卡吧,我能用到的电脑都是8139,我就把它直接编译进内核了。
    #make mrproper
    #make menuconfig
    #make 

    6 把我的128M的U盘分区:
    #fdisk /dev/sda
    我把前面100M作为根目录,后面20几M作为交换分区,注意/dev/sda1设置为可启动的。

    7 格式化U盘:
    #mke2fs /dev/sda1
    #mkswap /dev/sda2

    8 拷贝grub文件(无论是Sarge主系统还是LFS系统的都可以)
    # mount /dev/sda1 /theDirYouLike (后者是指你挂载U盘第一个分区的目录)
    #cp –R /boot /theDirYouLike
    然后把里面原先的内核删除

    9 启动grub以使U盘能由grub引导:
    # grub
    grub> root(hd1,0)
    grub> setup (hd1) (注意以上都是hd1代表U盘)
    grub> quit

    10 拷贝内核到U盘:
    #cp $LFS/sources/linux-2.6.11.12/arch/i386/boot/bzImage /theDirYouLike/vmlinuz

    11 编辑你的U盘上的grub配置文件:
    #nano /theDirYouLike/boot/grub/menu.lst
    文件内容为:
    default 0
    timeout 10
    title LFS on USB
    kernel=(hd0,0)/vmlinuz
    root=/dev/sda1

    12 复制LFS的除boot proc sys外的其他目录和文件文件----当然,我已经把自己的LFS删减到100M以下:
    #cp –R {etc,var,usr ……} /theDirYouLike

    记得退出前要 
    # umount /theDirYouLike

    好了,现在你可以启动U盘上面的LFS了。

  • 相关阅读:
    lambda表达式
    You can't specify target table 't_mail_marketing' for update in FROM clause
    从对象list中获取对象属性list
    枚举缓存
    Solr语法
    通过Telnet查询注册服务
    日志查询
    Maven 屏蔽静态文件
    抽奖
    随机码生成方法
  • 原文地址:https://www.cnblogs.com/liangxiaofeng/p/5109833.html
Copyright © 2020-2023  润新知