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了。
U制作LFS linux的更多相关文章
- LFS(Linux From Scratch)学习
一.简介 LFS──Linux from Scratch,就是一种从网上直接下载源码,从头编译LINUX的安装方式.它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些生东西( ra ...
- LFS Linux From Scratch 笔记(经验非教程)
做了一个自己的DIY Linux系统.从编译每一行代码,建立每一个文件系统结构开始. 创造自己的GNU/Linux系统,不同于任何发行版.按照的教程是来自 linuxfromscratch.org 来 ...
- 制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)
转:http://blog.csdn.net/zyb19831212/article/details/1887930 一.什么是文件系统 (Filesystem): A directory struc ...
- 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...
- bash编程之 ~制作Mini Linux系统~
说明1:在一个Linux宿主机系统上,通过以上步骤,可以制作一个微小的Linux系统(可以放置在U盘中等),然后在其它的主机(虚拟机或者物理机)上运行,以实现最小化定制系统的目的. 说明2:上图中黑色 ...
- 「Linux」制作一个Linux系统
一.前言 Linux操作系统至1991年10月5日诞生以来,就其开源性和自由性得到了很多技术大牛的青睐,每个Linux爱好者都为其贡献了自己的一份力,不管是在Linux内核还是开源软件等方面,都为我们 ...
- LFS Linux From Scratch 笔记2(经验非教程)BLFS
LFS 完了. 其实还没完,还要装一些其他的组件,系统才算是对人类有用的系统. 正好这里有个BLFS Beyound Linux From Scratch 的教程. 其实,按照现有的可运行的LFS系统 ...
- 制作嵌入式linux内核
拿到一个嵌入式linux内核代码,首先make distclean 接下来,如果在x86平台,就直接make menuconfig,如果是在ARM平台,就直接make menuconfig ARCH= ...
- 制作安装Linux操作系统的启动U盘方法其实就这么简单
安装系统前,我们需要制作系统安装启动U盘(或者DVD,但已经很少使用DVD,所以不再介绍),通过启动U盘来帮助我们安装下载好的Linux系统. 接下来我们来介绍在Windows.Linux和MacOS ...
随机推荐
- TextView实现跑马灯效果
网上有很多跑马灯的介绍,有很多跑马灯的代码.或许我的不是最好的,但是应该很容易明白的. 我们先来介绍一个跑马灯的代码 <LinearLayout xmlns:android="http ...
- Vijos P1325桐桐的糖果计划
> P1325桐桐的糖果计划 标签:**图结构 强连通分量** 描述 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致他不得不等到塞的车或人走 ...
- JS的词法作用域
词法作用域定义实现的规则: 1 函数作用域实在定义的时候决定的,而不是在执行时候决定 2 为了实现这种词法作用域,函数内部不仅包含函数代码逻辑,还必须引用当前的作用域链. 3 函数对象可以通过作用域链 ...
- Java 使用反射拷贝对象一般字段值
在<Java解惑>上面看到第八十三例--诵读困难者,要求使用非反射实现单例对象的拷贝.查阅了部分资料,先实现通过反射拷贝对象. 1. 编写需要被拷贝的对象Person package co ...
- 【安装操作系统】VMware 中安装 Redhat 5
引言 已有一台 Windows XP 家用机,安装 Linux 虚拟机,一不小心就会走弯路,因此本文提供一些入门级的经验来帮助你躲开歧途. 欢迎来到 lovickie 的博客 http://www.c ...
- Java官方Demo Mark
Java2D里四个重要的基类:AnimatingSurface: 动画界面基类ControlsSurface: 控制界面基类AnimatingCon ...
- ios中XPath的语法
在XML的读写中,我们知道有Xpath的语法 1.定位节点:(/)代表绝对的路径,代表起始地位置.(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来 2.KissX ...
- socket 基础学习
这个示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息:这里只是一个简单的示例,是一个最基本的socket编程流程,在接下来的文章中,会依次记录套接字的同步 ...
- hdu 1358 period KMP入门
Period 题意:一个长为N (2 <= N <= 1 000 000) 的字符串,问前缀串长度为k(k > 1)是否是一个周期串,即k = A...A;若是则按k从小到大的顺序输 ...
- Mysql zip压缩包安装
解压mysql.zip 配置环境变量(略) 配置my-default.ini 配置文件 安装mysql:mysqld -install 初始化mysql:mysqld --initialize 启动服 ...