Skip to content

Commit

Permalink
proofread and update linux/setup_linux-host_qemu-vm_arm-kernel.md
Browse files Browse the repository at this point in the history
  • Loading branch information
QGrain committed Aug 13, 2024
1 parent a8c9931 commit d7670e7
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions sources/syzkaller/linux/setup_linux-host_qemu-vm_arm-kernel.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
---
status: translated
status: proofread
title: "Setup: Debian host, QEMU vm, arm kernel"
author: Syzkaller Community
collector: jxlpzqc
collected_date: 20240314
translator: apowerfulmei
translated_date: 20240317
proofreader: QGrain
proofread_date: 20240814
link: https://github.com/google/syzkaller/blob/master/docs/linux/setup_linux-host_qemu-vm_arm-kernel.md
---

# 设置: Debian主机,QEMU虚拟机,arm内核

# GCC

获取最新的 `arm-linux-gnueabihf-gcc`工具。最新的Debian发行版中提供的版本为 7.2.0 ,这对于本文的工作来说已经足够。你也可以点击[这里](https://www.linaro.org/downloads)来下载Linaro编译器。
获取最新的 `arm-linux-gnueabihf-gcc` 工具。最新的 Debian 发行版中提供的版本为 7.2.0,这对于本文的工作来说已经足够。你也可以点击[这里](https://www.linaro.org/downloads)来下载Linaro编译器。

# 内核

以下指导内容已在 `v4.16.1` 上进行测试。请首先检查补丁["arm: port KCOV to arm"](https://groups.google.com/d/msg/syzkaller/zLThPHplyIc/9ncfpRvVCAAJ)是否已经应用或回溯过随后使用如下命令创建内核配置:
以下指令已在 `v4.16.1` 上进行测试。请首先检查补丁["arm: port KCOV to arm"](https://groups.google.com/d/msg/syzkaller/zLThPHplyIc/9ncfpRvVCAAJ)是否已经应用或回溯过随后使用如下命令创建内核配置:

```shell
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- vexpress_defconfig
```

将顶部的如下配置进行激活
接着优先启用以下配置

```
CONFIG_KCOV=y
Expand All @@ -37,17 +39,17 @@ CONFIG_PID_NS=y
CONFIG_NET_NS=y
```

也可以查看一般的内核配置[建议](/docs/linux/kernel_configs.md)
也可以查看一些通用的内核配置[建议](/docs/linux/kernel_configs.md)

随后用以下命令构建内核
随后使用以下命令构建内核

```
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
```

# 映像

我们可以使用 buildroot 来创建磁盘映像。你可以点击[此处](https://buildroot.uclibc.org/download.html)来获取buildroot。以下指导已在 buildroot `c665c7c9cd6646b135cdd9aa7036809f7771ab80` 上进行测试。首先运行:
我们使用 buildroot 来创建磁盘映像。你可以点击[此处](https://buildroot.uclibc.org/download.html)来获取 buildroot。以下指令已在 buildroot `c665c7c9cd6646b135cdd9aa7036809f7771ab80` 上进行测试。首先运行:

```
make qemu_arm_vexpress_defconfig
Expand All @@ -66,7 +68,7 @@ make menuconfig
exact size - 1g
```

将如下选项取消
取消选择如下选项

```
Kernel
Expand Down Expand Up @@ -99,23 +101,23 @@ PermitEmptyPasswords yes
qemu-system-arm -m 512 -smp 2 -net nic -net user,host=10.0.2.10,hostfwd=tcp::10022-:22 -display none -serial stdio -machine vexpress-a15 -dtb /linux/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dtb -sd /buildroot/output/images/rootfs.ext2 -snapshot -kernel /linux/arch/arm/boot/zImage -append "earlyprintk=serial console=ttyAMA0 root=/dev/mmcblk0"
```

此时内核开始启动。等待登录提示信息,随后在另一个控制台中运行:
上述命令将会启动内核。等待登录提示信息,随后在另一个控制台中运行:

```
ssh -p 10022 root@localhost
```

ssh命令应该能够运行成功
ssh 命令应该能够成功登录

# syzkaller

按照[这里](/docs/linux/setup.md#go-and-syzkaller)描述的步骤构建syzkaller,将目标架构设置为 `arm`
按照[这里](/docs/linux/setup.md#go-and-syzkaller)描述的步骤构建 syzkaller,将目标架构设置为 `arm`

```
make TARGETOS=linux TARGETARCH=arm
```

可以按照如下内容创建管理器配置文件 `arm.cfg`(根据需要更改路径):
按照如下示例创建管理器配置文件 `arm.cfg`(根据需要更改路径):

```
{
Expand Down

0 comments on commit d7670e7

Please sign in to comment.