lable理解
类似编程语言中的goto,跳转到指定的地方执行
用法
: LABLE 定义一个lable; 例如 :a 定义了1个a标签
b LABLE 无条件跳转到指定LABEL,如果LABEL省略的话则进入下一行处理
t LABLE 只有s///
执行成功才会跳转到LABEL定义的地方,如果LABLE省略则(除匹配到行外)执行最后一条命令
启动镜像
可以在Gentoo官网下载Minimal Installation CD
https://www.gentoo.org/downloads/
虚拟磁盘
1 | mkdir -p /home/kvm/dev |
用下载的LiveCD启动虚拟机
1 | virt-install |
VNC连接
1 | 配置IP, 可连接公网 |
硬盘分区、格式化、挂载
1 | fdisk |
DNS配置
1 | echo "nameserver 114.114.114.114" >> /etc/resolv.conf |
stage3
官网下载https://www.gentoo.org/downloads/或把预下载好的scp到/mnt/gentoo目录
不要太旧
, 否则后面portage更新后, 会被折磨死
1 | cd /mnt/gentoo |
建议portage
更新源换为163或阿里
1 | mkdir /mnt/gentoo/etc/portage/repos.conf |
/mnt/gentoo/etc/portage/repos.conf
1 | [DEFAULT] |
建议下载源
换为163或阿里
1 | mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf |
chroot
1 | cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf |
更新portage
1 | emerge-webrsync |
按需选择profile
1 | (chroot) livecd ~ # eselect profile list |
更新系统
1 | emerge --ask --verbose --update --deep --newuse @world |
先安装vim, 方便编辑(非必须)
1 | emerge -av vim |
设置时区(非必须)
1 | echo "Asia/Shanghai" > /etc/timezone |
配置内核
下载内核
1 | emerge --ask sys-kernel/gentoo-sources |
安装pciutils(非必须)
1 | emerge --ask sys-apps/pciutils |
按需配置、编译、安装
参考 https://wiki.gentoo.org/wiki/QEMU/Linux_guest
1 | cd /usr/src/linux |
/etc/fstab配置
1 | LABEL=/ / ext4 noatime 0 1 |
网络配置
1 | emerge -av net-misc/netifrc |
/etc/conf.d/net
1 | config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" |
eth0 开机启动
1 | ln -s /etc/init.d/net.lo /etc/init.d/net.eth0 |
配置root密码
1 | passwd |
sshd开机启动
1 | rc-update add sshd default |
一些工具安装
1 | emerge -av sys-process/cronie |
Grub2(bootloader)安装
1 | emerge -av sys-boot/grub:2 |
测试
退出chroot, 重启测试
1 | virsh destroy|start dev2 |
挂载Live CD启动
/etc/libvirt/qemu/dev2.xml
cdrom 指定iso
1 | <disk type='file' device='cdrom'> |
优先cdrom 启动
1 | <os> |
网卡命名不是eth0
1 | ln -s /dev/null 80-net-name-slot.rules |