HOST:宿主机

  Target:目标机

  1.基于HOST制作一个简单的可启动的Linux

    1.给目标磁盘分区

      两个:

        在宿主机上:/dev/sdb1,/dev/sdb2

        /dev/sdb1挂载到 /mnt/boot

        /dev/sdb2挂载到 /mnt/sysroot

    2.安装grub至目标磁盘

      #grub-install --root-directory=/mnt /dev/sdb

    

    3.复制内核和initrd文件

      #cp /boot/vmlinuz-VERSION /mnt/boot/vmlinuz

      #cp /boot/initramfs-VERSION.img /mnt/boot/initramfs-VERSION.img

    4.创建目标主机的根文件系统

      #mkdir -pv /mnt/sysroot{etc/rc.d,usr,var,proc,sys,dev,lib,lib64,bin.sbin,boor,srv,mnt,media,home,root}

         #移植bash等至目标机的根文件系统

    5.为grub提供配置文件

      # /mnt/boot/grub/grub.conf

       default=0

       timeout=5

       title My new tiny Linux

        root(hd0,0)

        kernel /vmlinuz ro root=/dev/sda2 quiet selinux=0 init=/bin/bash

        initrd /initramfs.img

    6.编辑init

      #cd /mnt/sysroot

      #vim sbin/init

          

#!/bin/bash
#
echo -e "\tWelcome to \033[34m My new tiny \033[0m Linux"
mount -n -t proc /proc
mount -n -t sysfs sysfs /sys
insmod /lib/modules/e1000.ko
[ $0 -eq 0 ] && echo -e "Load e1000 moduel succeeded [\033[32m ok \033[0m]"
ifconig lo 127.0.0.1/8
ifconfig eth0 192.168.19.128/16
mount -n -o remount,rw /dev/sda2 /
/bin/bash

      #chmod +x sbin/init

      #vim /mnt/boot/grub/grub.conf

default=0
timeout=5
title My new tiny Linux
root(hd0,0)
kernel /vmlinuz ro root=/dev/sda2 selinux=0 init=/sbin/init
initrd=/initramfs.img

  #sync

  最后,目标机使用新的硬盘启动

基于红帽5裁剪一个简单的Linux的更多相关文章

  1. Linux内核分析-构造一个简单的Linux系统MenuOS

    构造一个简单的Linux系统MenuOS linux内核目录结构 arch目录包括了所有和体系结构相关的核心代码.它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel C ...

  2. Linux内核分析——构造一个简单的Linux系统MenuOS

    马悦+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.Linux内核源代码简 ...

  3. 20135327郭皓--Linux内核分析第三周 构造一个简单的Linux系统MenuOS

    Linux内核分析第三周  构造一个简单的Linux系统MenuOS 前提回顾 1.计算机是如何工作的三个法宝 1.存储程序计算机 2.函数调用堆栈 3.中断 2.操作系统的两把宝剑 中断上下文的切换 ...

  4. Linux内核设计第三周——构造一个简单的Linux系统

    Linux内核设计第三周 ——构造一个简单的Linux系统 一.知识点总结 计算机三个法宝: 存储程序计算机 函数调用堆栈 中断 操作系统两把宝剑: 中断上下文的切换 进程上下文的切换 linux内核 ...

  5. 《Linux内核分析》第三周 构建一个简单的Linux系统MenuOS

    [刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK THREE ...

  6. 第三节 构造一个简单的Linux系统MenuOS——20135203齐岳

    第三节 构造一个简单的Linux系统MenuOS By 20135203齐岳 Linux内核源代码 arch/ 支持不同cpu的源代码 Documentations/ 文档存储 init/ 内核启动相 ...

  7. [转]一个简单的Linux多线程例子 带你洞悉互斥量 信号量 条件变量编程

    一个简单的Linux多线程例子 带你洞悉互斥量 信号量 条件变量编程 希望此文能给初学多线程编程的朋友带来帮助,也希望牛人多多指出错误. 另外感谢以下链接的作者给予,给我的学习带来了很大帮助 http ...

  8. Linux内核分析第三周学习总结:构造一个简单的Linux系统MenuOS

    韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.Linux内 ...

  9. Linux内核分析— —构造一个简单的Linux系统MenuOS(20135213林涵锦)

    Linux内核分析— —构造一个简单的Linux系统MenuOS 实验内容 Linux内核的启动过程,从start_kernel到init进程启动 使用实验楼的虚拟机打开shell cd LinuxK ...

随机推荐

  1. hdu 5685(逆元)

    Problem A Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  2. AC日记——灾后重建 洛谷 P1119

    灾后重建 思路: 看到n<=200,思考弗洛伊德算法: 如何floyed呢? floyed是一种动态规划求最短路的算法: 它通过枚举中间点来更新两点之间最短路: 回到这个题本身: 所有点的重建完 ...

  3. AC日记——[ZJOI2006]物流运输 bzoj 1003

    1003 思路: 最短路+dp: 节点在a-b天里不能使用 那么我们准备每一组a-b求一条最短路,如果没有,则用极大值表示: cost[a,b]记录这个最短路: 然后,开始dp: dp[i]=min( ...

  4. [TJOI2016][HEOI2016]排序

    题目大意: 给定一个$1\sim n(n\leq10^5)$的全排列,有$m(m\leq10^5)$次操作,每次把区间$[l,r]$按照升序或降序排序.最后询问所有操作完成后,位置为$q$的数是多少. ...

  5. 深入理解 JavaScript Function

    1.Function Arguments JavaScript 函数的参数 类型可以是 复杂类型如  Object or Array 和简单类型 String Integer null undefin ...

  6. Mac outlook设置自动回复

    outlook是公司必不可少的软件, 在mac下开发,当然用的是mac版的outlook,今天介绍一下如何设置mac下outlook的自动回复. 有两种方式的帐号,一种是Exchange accoun ...

  7. ios开发 - 获取从http上下载文件的大小

    - (void)connectionNSURLConnection *)connection didReceiveResponseNSURLResponse *)response{ NSHTTPURL ...

  8. 【spring boot】7.静态资源和拦截器处理 以及继承WebMvcConfigurerAdapter类进行更多自定义配置

    开头是鸡蛋,后面全靠编!!! ========================================================  1.默认静态资源映射路径以及优先顺序 Spring B ...

  9. Android自定义控件-Path之贝赛尔曲线和手势轨迹、水波纹效果

    从这篇开始,我将延续androidGraphics系列文章把图片相关的知识给大家讲完,这一篇先稍微进阶一下,给大家把<android Graphics(二):路径及文字>略去的quadTo ...

  10. ImportError: cannot import name patterns

    The use of patterns is deprecated in Django1.10. Therefore do not import 'patterns' and your url pat ...