原创文章,转载请注明出处
https://qiedd.com/
参考教程
已构建的镜像
2021.12.7
默认密码:qiedd.com
简介
有时候我们的服务器没有VNC,如果直接使用 grub-imagebot 来起动 ISO ,会导致无法连接
因此我们需要自定义 ArchISO 镜像来给它设置密码
这里我们介绍两种方法,分别是 Cloud-init 和 直接设置密码
Cloud-init 需要特定环境下才支持,如PVE中的虚拟机,物理机不支持
注意腾讯云不支持 Cloud-init!
安装依赖
Archiso 附带2个预定义配置(profiles): releng 和baseline。
releng用于创建正式的每月安装ISO。它可以作为创建自定义ISO映像的起点。
baseline是一种最低限度的配置,它只包括从介质启动实时环境所需的最低限度的软件包。
# 安装依赖 sudo pacman -S archiso cloud-init # 将需要构建的东西拷过来 cp -r /usr/share/archiso/configs/releng archiso
添加用户密码
# 进入目录 cd archiso/airootfs/etc # 生成密码 openssl passwd -6 *** 示例 *** Password: Verifying - Password: $6$uCDWmOc/ZnBsik4c$kQPPr1uB2ggdrkXRJhtampE5TwRy3nL5ym/l1lBKeuw3Y3n3kc/ZxjBq.RVgZRqybxQPspTIn81WIVfQpDbP40 # 设置密码,把生成的hash添加到第一和第二个冒号的中间 vim shadow *** 示例 *** root:$6$uCDWmOc/ZnBsik4c$kQPPr1uB2ggdrkXRJhtampE5TwRy3nL5ym/l1lBKeuw3Y3n3kc/ZxjBq.RVgZRqybxQPspTIn81WIVfQpDbP40:14871:::::: # 回到构建根目录 cd ~/archiso # 构建镜像需要sudo权限 sudo mkarchiso -v -w /tmp/archiso .
Cloud-init
# 进入构建目录 cd archiso # 创建Cloud-init所需的环境 mkdir -p airootfs/var/lib/cloud/seed/nocloud/ # 进入目录 cd airootfs/var/lib/cloud/seed/nocloud/ # 创建meta-data,此项可以为空 printf "" > meta-data # 创建user-data,默认密码为qiedd.com ## 这里的“#cloud-config”不是注释,必须加上 vim user-data *** 示例 *** #cloud-config users: - name: root plain_text_passwd: 'qiedd.com' lock_passwd: false # 回到archiso目录中 cd ~/archiso # 构建镜像需要sudo权限 sudo mkarchiso -v -w /tmp/archiso .
上传 ./out 中的iso
使用 Grub-imageboot 启动镜像
请注意替换下方的链接
如果是其他服务商的机子,请去而内存是否足够,经测试 1G 内存是不够的,最低可能需要 1.2 G
请注意,使用 Grub 启动镜像会将其在内存中加载,请确认内存是否足够容纳下 ArchISO,并有足够空间启动内核!!
# 安装grub-imageboot apt install grub-imageboot # 创建一个目录用于存放镜像 mkdir /boot/images # 进入目录 cd /boot/images # 下载Archiso wget https://dl.qiedd.com/Linux/custom/user/archlinux-2021.12.07-x86_64.iso # 更新grub update-grub2 *** 示例 *** root@VM-20-12-debian:~# update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.19.0-11-amd64 Found initrd image: /boot/initrd.img-4.19.0-11-amd64 Found memdisk: /boot/memdisk Found iso image: /boot/images/archlinux-2021.12.07-x86_64.iso done # 这里我们的iso在第三项,因此需要调整下grub的默认启动项 # 0是第一项 vim /etc/default/grub *** 示例 *** GRUB_DEFAULT=2 # 更新grub update-grub2 # 重启 reboot
1 条评论
yep · 2023年7月5日 下午6:07
博主你好,请问一下要怎么构建自己的ArchLinux-iso镜像文件呢?