openEuler 2403 LTS
情况:互联网隔离,通过移动硬盘,把源的 OS,everything, EPOL 下x86_64 都下载下来了,没有下载 ISO 文件。
方法: OS/$arch/EFI/BOOT/grub.cfg
给出了引导方法,略作修改:
search --no-floppy --set=root -l 'openEuler-24.03-LTS-x86_64'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install openEuler 24.03-LTS' --class openEuler --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=openEuler-24.03-LTS-x86_64 fpi_to_tail=off
initrdefi /images/pxeboot/initrd.img
}
修改其中两行:
search --set=root -l data1
linuxefi ... ... inst.stage2=hd:LABEL=data1:/euler-repo/OS/x86_64/ ...
注意,data1
是的文件系统的卷名,我其实在此文件的根下创建了 images, EFI 等两个目录的符号链接。所以,引导过程没有问题。Linux内核加载进来后,这个root参数就不起作用了,inst.stage2=...
如果没有写完整的目录名称,启动不到GUI界面。
使用本地磁盘,写法 inst.stage2=hd:<uuid,label,...>[:/path-to-dir]
是从 redhat 网站上查来的,有一段没有看懂,这个参数是用于找 ISO文件,还是找解压后的一般文件,与之类似的还有一个参数叫 inst.repo
,我也没有完全搞懂这两个参数的本质差异。
然后,进入下面的这个界面。
默认停留在“自动检测到的安装介质”选项上,但其实不能用!进入字符终端,ctl-alt-F2,可以发现 LABEL=data1
分区已经被挂载了,好像在 /run/.../
下,然后,我直接在此目录下创建若干个符号链接,如 Packages, RPM-GPG, isolinux, repodata
,然后,发现还是*不能用*!没有找到原因,没有提示消息。
再变通的办法,自己建立一个http服务了,可以了。
感觉没有道理啊。为什么本地的没有不用?或者说,本地是在找ISO文件吗?