|
虚拟机快速安装LFS6.7
本篇文章介绍一种快速安装LFS6.7到虚拟机的方法。
大体的思路是,将物理机安装好的LFS6.7所有的文件压缩到一个iso文件中,通过lfs-livecd引导虚拟机,在虚拟机中为LFS准备硬盘空间,将iso文件解压到根目录,修改/etc/fstab文件使满足虚拟机的要求,配置Grub引导虚拟机。我这里有文章需要的那两个iso文件,需要的过来拷贝一下,如果有哪位有比较空的ftp服务器,可以上传一下就更好了!
一、下载必要的软件包。
lsf-livecd是一个可启动的lfs的宿主,里面满足编译lfs的所有要求,最新版本只有6.3,不过对于我们编译6.7是一点问题都没有。可从官方网站上下载一个:
http://www.linuxfromscratch.org/livecd/download.html
ftp://anduin.linuxfromscratch.or ... 6.3-r2160-nosrc.iso
安装一个虚拟机软件,我用的是VisualBox,当然kvm,或者xen,或者VMware都可以,我就拿visualbox举例说明。
http://www.virtualbox.org/wiki/Downloads
下载一个适合你的版本。
二、压缩物理机上的LFS根。并制成iso文件。
在ubunt中,先打开一个终端,取得root权限
sudo su
加载分区,并进入lfs分区
mkdir /mnt/lfs
mount -t ext3 /dev/sda5 /mnt/lfs
cd /mnt/lfs
将lfs分区中的所有文件压缩成lfs6.7.tar.bz2,注意带参数“p”是保留原有文件属性的,这条一定要加上。
tar -cjpvf lfs6.7.tar.bz2 .
将文件制作成iso镜像文件给,虚拟机使用。
mkisofs -o lfs6.7.iso lfs6.7.tar.bz2
三、安装到虚拟机。
在虚拟机中添加2个虚拟光驱,一个是livecd***.iso,一个是lfs6.7.iso
从光驱启动后,mount lfs6.7.iso
添加一个虚拟网卡,选择“Birdged Adapter”网络链接方式,
记下MAC地址:迁移的时候需要修改这个地址。
查看dev里面的光驱设备:
ls /dev/cdrom*
加载光驱:
mkdir /mnt/cd1
mkdir /mnt/cd2
mount /dev/cdrom /mnt/cd1
mount /dev/cdrom1 /mnt/cd2
由于加载顺序是随机的,所以有可能cdrom 是放的lfs,也可能相反。假设就是/mnt/cd1
先查看分区:
fdisk -l
一般会是/dev/hda,如果你在虚拟机的硬盘上设了sata硬盘就是/dev/sda,
fdisk /dev/hda
m
p
n
p
1
......
记住需要用t将交换分区改成"82"。
w:保存。
格式化分区
mke2fs -t ext3 /dev/hda1
mkswap /dev/had2
接下来mount 分区
mount -t ext4 /dev/hda1 /mnt/lfs
copy文件
cp /mnt/cd1/* /mnt/lfs
cd /mnt/lfs
ls
修改文件可写属性。因为,如果只是可读的话一解压,所有文件都是可读的了。
cd /mtn/lfs
chmod +w lfs6.7.tar.bz2
解压缩文件:
tar -xjf lfs6.7.tar.bz2
编辑/etc/fstab文件
vi /etc/fstab
/dev/hda1 / ext3 defaults 1 1
/dev/hda2 swap swap pri=1 0 0
编译/etc/udev/rules.d/70-persistent-net.rules
修改ATTR{address}="**:**:**:**:**:**:**",到虚拟机的MAC地址。
安装Grub到mbr
看看,grub设别的设备号
grub-mkdevicemap --device-map=device.map
cat device.map
可能会是
(hd0) /dev/hda
删除device.map
rm device.map
将启动信息写到mbr并在boot目录下安装相应的文件最后一个参数是设备号,就是device.map中的那个。
grub-install --grub-setup=/bin/true /dev/hda
配置grub.cfg文件
grub-mkconfig -o /boot/grub/grub.cfg
四、最后的配置
再最后检查一下/etc/fstab文件。
重新启动,选择硬盘启动,如果一切顺利的话:root,密码:chillxy
五、结束
重新编译一下内核,加载网卡驱动。
make menuconfig
找到对应的网卡驱动
make modules编译一下模组
make modules_install
ok了。 |
|