04 May 2017
目的:通过pxe引导进入coreos,然后在coreos执行安装脚本将系统安装到硬盘
思路:
参考资料
# nginx目录结构
.
├── 1353.7.0
│ ├── coreos_production_image.bin.bz2
│ └── coreos_production_image.bin.bz2.sig
└── cloud-configs
├── 08:00:27:56:a4:22.yml
├── default.yml
└── install.sh
1353.7.0是coreos的系统版本号
08:00:27:56:a4:22.yml是目标机器网卡mac地址增加上yml后缀名
08:00:27:56:a4:22.yml文件内容
#cloud-config # include one or more SSH public keys ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv7O ...
公钥内容省略部分,实际情况应该很长
install.sh的内容
#!/bin/sh image_url=http://192.168.33.50 mac_addr=`ifconfig | grep -A2 'broadcast' | grep -o '..:..:..:..:..:..'` wget ${image_url}/cloud-configs/${mac_addr}.yml sudo coreos-install -d /dev/sda -V 1353.7.0 -c ${mac_addr}.yml -b ${image_url} sudo reboot
/var/lib/tftpboot/pxelinux.cfg/default内容
default coreos prompt 1 timeout 15 display boot.msg label coreos menu default kernel coreos_production_pxe.vmlinuz initrd coreos_production_pxe_image.cpio.gz append cloud-config-url=http://192.168.33.50/cloud-configs/install.sh
仅需要在配置好pxe和准备好nginx中的文件后,重启目标机器,机器会从pxe启动,然后执行安装脚本,安装完成后会自动重启(记得配置硬盘第一启动项,网络启动第二启动项)