安装liveCD lfslivecd-x86-6.3-r2160.iso 到虚拟机中
转载请注明。谢谢! 这篇文章的主要步骤是:> 进入liveCD> 格式化分区(hda1, hda5, hda6), 最后系统装在hda1上> 把liveCD上的文件系统拷贝到分区 /dev/hda1上> 安装grub 和 内核> 重新启动> 进入一些设置> 添加2个快捷脚本补充:网上还有另外一篇文章,也是把liveCD安装到虚拟机中。不同的是,他是通过liveCD
转载请注明。谢谢!
这篇文章的主要步骤是:
> 进入liveCD
> 格式化分区(hda1, hda5, hda6), 最后系统装在hda1上
> 把liveCD上的文件系统拷贝到分区 /dev/hda1上
> 安装grub 和 内核
> 重新启动
> 进入一些设置
> 添加2个快捷脚本
补充:
网上还有另外一篇文章,也是把liveCD安装到虚拟机中。
不同的是,他是通过liveCD,制作一个自己的ISO文件,然后再通过此ISO文件安装到虚拟机中。
参考:http://www.linuxsir.org/bbs/thread342660.html
1.环境
虚拟机:vmware-6.5
liveCD: lfslivecd-x86-6.3-r2160.iso
2.安装虚拟机,从liveCD启动
> Virtual Machine
> Custom
> New-Workstation
> Guest operating system里选择Linux,在Version里选择Other Linux 2.6.x kernel
> Network connection里选择Use network address translation(NAT)
> SCSI Adpters选择默认的LSI Logic
> 选择Create a new virtual disk
> Virtual Disk Type,这里我选择了IDE,作者选的是SCSI
> 硬盘大小,我选 10G
> 完成向导后在虚拟机的界面里选择Edit virtual machine settings,将CD-ROM改为Use ISO image
> Start this virtual machine开是虚拟机
> 时区我选择Asia/Shanghai, 选择本地语言为Chinese (Simplified, UTF-8)
> 其它的都按默认选择了。
3.putty连接,方便复制、粘贴
配置网络
# net-setup 选择eth0, DHCP方式
启动sshd服务
# /etc/rc.d/init.d/sshd restart
查看IP
# ifconfig
设置秘密, 以便从远程登陆
# passwd
从宿主机上启动putty, 连接。
4.使用 cfdisk 分出3个分区:hda1, hda5, hda6
hda1: 安装 liveCD
hda5: 后面自己联系LFS使用
hda6: swap分区
mke2fs /dev/hda1
mke2fs /dev/hda5
mkswap /dev/hda6
5.创建目录,挂载
mkdir /mnt/{lfs,livecd}
mount /dev/hda1 /mnt/lfs
mount /dev/mapper/lfs-cd /mnt/livecd
将/mnt/livecd 下的除/tmp ,/proc ,/boot 之外的所有文件复制到/mnt/lfs
用mkdir手动在/mnt/lfs 下建立tmp ,proc ,boot,并修改 tmp 的权限: chmod a+w tmp
6.编译内核
删除原内核,解压内核到其/usr/src目录下:
rm -rf /mnt/lfs/usr/src/*
tar -xvf lfs-sources/linux-2.6.22.5.tar.bz2 // 内核版本我的是2.6.22.5
mv linux-2.6.22.5 /mnt/lfs/usr/src/
cd /mnt/lfs/usr/src/linux-2.6.22.5
配置内核
make menuconfig(基于X11的图形内核配置工具)
原作者的建议:
注意,在Vmware下以下选项必须选上,否则编译要出问题:
Device Drivers --->SCSI device support ---><*> SCSI disk support
Device Drivers --->SCSI device support --->SCSI low-level drivers ---> <*> BusLogic SCSI support
Device Drivers ---> Fusion MPT device support ---><*> Fusion MPT (base + ScsiHost) drivers 和 <*> Fusion MPT misc device (ioctl) driver(这个不确定)
Device Drivers ---> USB support ---><*> USB Mass Storage support
Device Drivers ---> Networking support --->Ethernet (10 or 100Mbit) ---> <*> AMD PCnet32 PCI support
最好把ext3文件系统支持也编译进内核,ext2的选项也需要
<*> Ext3 journalling file system support
<*>Ext3 extended attributes
<*>Ext3 POSIX Access Control Lists
<*>Ext3 Security Labels
<*>JBB (ext3) debugging support
编译、安装
make
make modules_install
7.安装grub 和 内核
mkdir /mnt/lfs/boot
cd /mnt/lfs/boot
cp /mnt/lfs/usr/src/linux-2.6.16.38/arch/i386/boot/bzImage .
mkdir grub
cp /mnt/lfs/usr/lib/grub/i386-pc/stage{1,2} grub
grub
在grub 控制台输入
root (hd0,0)
setup (hd0)
将grub安装到MBR上,这里因为写成setup(hd0,0),启动后进不了grub菜单,郁闷了N久
vi grub/menu.lst
写人以下内容
title LFS
root (hd0,0)
kernel /boot/bzImage root=/dev/sda1 rw
理解:在这里,应该重启,即从 hda1 加载系统了。
因为步骤8,9中修改的是/etc/目录的配置文件,如果不重启,改动的就是liveCD里的文件。
8. 打扫一下系统
vi /etc/inittab
注释掉 sd:06:once:/usr/bin/shutdown-helper
将
1:2345:respawn:/bin/openvt -f -c 3 -e -w -- /usr/bin/livecd-login
2:2345:respawn:/bin/openvt -f -c 3 -e -w -- /usr/bin/livecd-login
3:2345:respawn:/bin/openvt -f -c 3 -e -w -- /usr/bin/livecd-login
4:2345:respawn:/bin/openvt -f -c 4 -e -w -- /usr/bin/livecd-login
5:2345:respawn:/bin/openvt -f -c 5 -e -w -- /usr/bin/livecd-login
6:2345:respawn:/bin/openvt -f -c 6 -e -w -- /usr/bin/livecd-login
修改为:
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
删除启动时的时区和语言设置脚本
rm /etc/rc.d/rcsysinit.d/{S59clkconf,S69langconf}
在/etc/rc.d/init.d/下添加两个脚本如下:
(1)halt
#!/bin/sh
#####################################
# Begin $rc_base/init.d/halt
#
#####################################
. /etc/sysconfig/rc
. ${rc_functions}
case "${1}" in
stop)
halt -d -f -i -p
;;
*)
echo "Usage: {stop}"
exit 1
;;
esac
# End $rc_base/init.d/halt
(2)reboot
#!/bin/sh
###########################################
# Begin $rc_base/init.d/reboot
#
###########################################
. /etc/sysconfig/rc
. ${rc_functions}
case "${1}" in
stop)
boot_mesg "Restarting system..."
reboot -d -f -i
;;
*)
echo "Usage: ${0} {stop}"
exit 1
;;
esac
# End $rc_base/init.d/reboot
然后修改这两个脚本的权限为754
chmod 0754 /etc/rc.d/init.d/{halt,reboot}
为0 级别建立关机
cd /etc/rc.d/rc0.d
ln -sv ../init.d/halt S99halt
为6 级别建立重启
cd /etc/rc.d/rc6.d
ln -sv ../init.d/reboot S99reboot
9.passwd root
10. 如果需要使用sshd远程登陆,还需要从新设置网络等。
可以写成脚本,放在 root 家目录中,每次执行一下即可。
cat > ~/start_sshd.sh << "EOF"
输入如下内容:
#!/bin/sh
# program: select network and start sshd service
# history: 20110815 initial
# select etho and dhcp
net-setup
echo
echo ">> start sshd service..."
/etc/rc.d/init.d/sshd restart
echo
echo ">> Now, you can login by ssh tools, such as putty"
echo ">> Good Luck ^-^"
echo
EOF
改变模式
chmod a+x start_sshd.sh
每次进入后直接执行脚本即可,其实也就2句话哦。
更多推荐
所有评论(0)