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. IPC最快的方式----共享内存(shared memory)

    在linux进程间通信的方式中,共享内存是一种最快的IPC方式.因此,共享内存用于实现进程间大量的数据传输,共享内存的话,会在内存中单独开辟一段内存空间,这段内存空间有自己特有的数据结构,包括访问权限 ...

  2. Codeforces Gym100735 G.LCS Revised (KTU Programming Camp (Day 1) Lithuania, Birˇstonas, August 19, 2015)

    G.LCS Revised   The longest common subsequence is a well known DP problem: given two strings A and B ...

  3. Codeforces Gym101473 E.Dangerous Dive (2013-2014 ACM-ICPC Brazil Subregional Programming Contest)

    代码: 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmat ...

  4. Write a function that generates one of 3 numbers according to given probabilities

    You are given a function rand(a, b) which generates equiprobable random numbers between [a, b] inclu ...

  5. OnChencedChang

    (一) 1,布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...

  6. 执行 innerHTML 里的 <script>

    原文:执行 innerHTML 里的 <script> 背景 有时候我们会有把一整段 HTML 动态塞进页面的需求,例如渲染了一个模板,从服务器端获取了一段广告代码等.一般情况下我们使用 ...

  7. andriod GridLayout

    来自:http://blog.csdn.net/jianghuiquan/article/details/8299973 GridLayout网格布局 android4.0以上版本出现的GridLay ...

  8. Scut游戏服务器引擎6.5.8.6发布

    1.增加从Redis中加载数据到Cache可设置筛选条件2.修改在Web项目中的不能支持自定协议问题3.修改Share类型的Model在Redis中为空时会尝试从DB中加载数据4.修改Model命名空 ...

  9. Python中xml、字典、json、类四种数据的转换

    最近学python,觉得python很强很大很强大,写一个学习随笔,当作留念注:xml.字典.json.类四种数据的转换,从左到右依次转换,即xml要转换为类时,先将xml转换为字典,再将字典转换为j ...

  10. Ajax方式实现注册验证代码

    经常用到的经典Ajax代码,记录备用: function CreateAjax() { var XMLHttp; try { XMLHttp = new ActiveXObject("Mic ...