Skip to content

Commit fdd42c2

Browse files
committed
grub pxe boot
1 parent 80c972e commit fdd42c2

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

content/zh-cn/posts/pxe-grub.md

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
+++
2+
title = "网络启动之Grub篇"
3+
description = "使用 Grub 从网络启动系统"
4+
date = 2023-10-10T10:20:00+08:00
5+
author = "武校田"
6+
draft = false
7+
comment = true
8+
toc = false
9+
reward = false
10+
categories = [
11+
""
12+
]
13+
tags = [
14+
"新闻"
15+
]
16+
+++
17+
18+
随着龙架构的 UEFI、内核及Grub的快速完善,在龙架构上启动系统已经完全标准化了,本文简要介绍一下使用 Grub 来进行网络启动的方法。
19+
20+
<!--more-->
21+
22+
## 服务器设置
23+
24+
## 制作引导程序
25+
26+
### 方式一
27+
28+
```
29+
$ grub-mknetdir --net-directory /var/ftpd/
30+
已创建用于 loongarch64-efi 的网络引导目录。请配置您的 DHCP 服务器以指向 /var/ftpd/boot/grub/loongarch64-efi/core.efi
31+
```
32+
33+
### 方式二
34+
35+
```
36+
$ cat /tmp/start.cfg
37+
normal (tftp)/boot/grub/grub.cfg
38+
39+
$ grub-mkimage -O loongarch64-efi -o /var/ftpd/grubnetboot.efi --prefix="(tftp)/boot/grub" -c /tmp/start.cfg -v net tftp efinet http blocklist boot configfile linux reboot normal search cat progress lvm part_gpt part_msdos cpio ext2 fat hfs hfsplus iso9660 ntfs tar udf ufs1 ufs2 xfs zfs loopback newc btrfs help halt font loadenv memdisk msdospart terminal zfs zstd zfsinfo xzio
40+
```
41+
42+
注:
43+
44+
方式一生成的整个目录,如果服务器是非 LoongArch 机器,请将此目录完整复制到服务器的 tftp 根目录中。
45+
46+
方式二生成的是一个独立文件,如果服务器是非 LoongArch 机器,只需要将此文件复制到服务器的 tftp 根目录中。
47+
48+
### DHCP、TFTP 服务
49+
50+
dnsmasq 集成了 DHCP 和 TFTP 功能,配置相对简单,大部分 Linux 发行版都可以直接安装。
51+
52+
dnsmasq 配置参考:
53+
54+
```
55+
$ cat /etc/dnsmasq.conf
56+
server=114.114.114.114
57+
interface=enp2s0
58+
listen-address=::1,127.0.0.1,10.10.10.8
59+
expand-hosts
60+
dhcp-range=set:lan,10.10.10.10,10.10.10.30,12h
61+
enable-tftp
62+
tftp-root=/var/ftpd
63+
#以下2行内容,分别对应方式一和方式二生成的引导程序,请根据制作方式选择其中一种
64+
#dhcp-boot=/var/ftpd/boot/grub/loongarch64-efi/core.efi
65+
#dhcp-boot=/var/ftpd/grubnetboot.efi
66+
cache-size=1000
67+
log-queries
68+
```
69+
70+
sudo systemctl restart dnsmasq
71+
72+
## grub 配置
73+
74+
以 Loong Arch Linux 为例来说明网络启动配置,其它发行版,请参考对应的发行版说明文件。
75+
76+
下载内核及initrd文件
77+
78+
```
79+
# mkdir /var/ftpd/boot/
80+
# wget https://mirrors.wsyu.edu.cn/loongarch/archlinux/iso/latest/arch/boot/loong64/vmlinuz-linux
81+
# wget https://mirrors.wsyu.edu.cn/loongarch/archlinux/iso/latest/arch/boot/loong64/initramfs-linux.img
82+
```
83+
84+
grub.cfg 内容
85+
86+
```
87+
# mkdir -p /var/ftpd/boot/grub
88+
# cat /var/ftpd/boot/grub/grub.cfg
89+
set default=0
90+
set timeout=10
91+
set root=(tftp)
92+
93+
menuentry 'PXE Install Archlinux'{
94+
echo 'Loading Linux kernel...'
95+
linux /boot/vmlinuz-linux archiso_http_srv=http://mirrors.wsyu.edu.cn/loongarch/archlinux/latest/ archisobasedir=arch ip=dhcp net.ifnames=0 loglevel=7
96+
echo 'Loading initrd...'
97+
initrd /boot/initramfs-linux.img
98+
}
99+
```
100+
101+
## 从网络引导系统
102+
103+
龙架构电脑开机,按 `F2` 进入固件设置界面,打开 Http 协议及 PXE 支持,保存并重启。
104+
105+
在 BIOS 的 Logo 显示界面,按 `F12` ,选择从网络启动。

0 commit comments

Comments
 (0)