zoukankan      html  css  js  c++  java
  • Linux U盘 启动盘

    /******************************************************************************
     *                          Linux U盘 启动盘
     * 说明:
     *     之前一直有个想法,那就是将x86的系统放在U盘中,像ARM那样做,但一直也不知
     * 道大概要怎么查资料,最近搞redhat,查到了一些相关资料,记录一下。
     *
     *                                         2017-3-6 深圳 南山平山村 曾剑锋
     *****************************************************************************/
    
    一、参考文档:
        1. 制作一个linux的u盘最小系统
            http://zhuyi108.blog.51cto.com/2087327/845246
        2. 制作u盘启动linux系统
            http://www.voidcn.com/blog/mr_zhaojy/article/p-5974248.html
        3. U 盘启动LINUX
            http://blog.csdn.net/clozxy/article/details/5865632
        4. 定制自己的U盘Linux系统
            http://mowblog.com/%E5%AE%9A%E5%88%B6%E8%87%AA%E5%B7%B1%E7%9A%84u%E7%9B%98linux%E7%B3%BB%E7%BB%9F/
        5. CDlinux HOWTOs 文档
            http://cd-linux.sourceforge.net/archive/0.4/howto-cn.html
        6. GRUB (简体中文)
            https://wiki.archlinux.org/index.php/GRUB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
        7. 什么是 initrd.img
            http://blog.csdn.net/chrisniu1984/article/details/3907874
        8. Linux2.6 内核的 Initrd 机制解析
            https://www.ibm.com/developerworks/cn/linux/l-k26initrd/
        9. Linux 初始 RAM 磁盘(initrd)概述
            https://www.ibm.com/developerworks/cn/linux/l-initrd.html
        10. Linux 引导过程内幕
            https://www.ibm.com/developerworks/cn/linux/l-linuxboot/
        11. LINUX下三个内核文件详解(vmlinuz/initrd.img/System.map)
            https://www.path8.net/tn/archives/5304
    
    二、基本操作说明:
        1. U盘(SD卡)分两个区:
            1. /dev/sdb1;
            2. /dev/sdb2;
        2. mount /dev/sdb1 /mnt
        3. grub-install –root-directory=/mnt /dev/sdb
            Installing for i386-pc platform.
            Installation finished. No error reported.
        4. ls /boot/grub/
            fonts gfxblacklist.txt grub.cfg grubenv i386-pc locale unicode.pf2
        5. 编写/boot/grub/grub.cfg文件:
            set default=0
                insmod gzio
                insmod jpeg
                insmod part_msdos
                insmod ext2
                insmod ext3
                insmod ext4
            set timeout=10
            set root='hd0,1'
                # linux (hd0,1)/boot/vmlinuz rw # root=/dev/sdb2 rootfstype=ext3
                linux (hd0,1)/boot/vmlinuz rw root=/dev/sdb2 rootfstype=ext3
                initrd (hd0,1)/boot/initrd.img
                boot
        6. 拷贝对应的系统文件,最终/dev/sdb1分区目录如下:
            .
            └── boot
                ├── grub
                │   ├── fonts
                │   ├── grub.cfg
                │   ├── grubenv
                │   ├── i386-pc
                │   └── locale
                ├── initrd.img
                ├── initrd.img_redhat
                ├── initrd.img_ubuntu
                ├── vmlinuz
                ├── vmlinuz_redhat
                └── vmlinuz_ubuntu
        7. 下载Ubuntu Core,并将其解压到/dev/sdb2分区中,注意将passwd中间中root密码去掉,否则要输入密码。
        8. 如上所示,既有redhat,又有ubuntu的,遇到了redhat内核版本过低,Ubuntu Core版本高过不能挂载文件系统的问题。
    
    三、遇到错误:
        1. 现象:
            ...
            mount: could not find filesystem /dev/root 
            Setting up other filesystems
            Setting up new root fs
            setuproot: moving /dev failed: No such file or directory
            ...
        2. 参考文档:
            1. [SOLVED] Getting existing CentOS5 system to run with a new motherboard
                https://www.centos.org/forums/viewtopic.php?t=24681
            2. Creating a New Initial RAM Disk
                https://wiki.centos.org/TipsAndTricks/CreateNewInitrd
        3. 原因:
            If you have changed a motherboard or moved a disk to a different system it may fail to boot due to the lack of appropriate drivers in the initial RAM disk image (initramfs for CentOS 6, initrd for CentOS 5).
  • 相关阅读:
    [RxSwift]3.3、数据绑定(订阅)
    [RxSwift]3.2、函数式编程 -> 函数响应式编程
    [RxSwift]2、Hello RxSwift!:我的第一个 RxSwift 应用程序
    [RxSwift]1、为什么要使用 RxSwift ?
    [RxSwift]RxSwift: ReactiveX for Swift
    [Swift]UIViewController
    104. 二叉树的最大深度
    103. 二叉树的锯齿形层次遍历
    102. 二叉树的层序遍历
    98. 验证二叉搜索树
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/6511992.html
Copyright © 2011-2022 走看看