Skip to content

Latest commit

 

History

History
94 lines (86 loc) · 2.69 KB

README_zh-CN.md

File metadata and controls

94 lines (86 loc) · 2.69 KB

目录

平台

你应该能在以下平台成功编译Pencil-Kernel:

  • Windows 7 或更高版本

依赖

要编译Pencil-Kernel,你需要:

要运行Pencil-Kernel,你需要:

编译

  1. 获取源代码,放在类似C:\pencil-kernel\的目录中. 并创建esp文件夹以获取编译结果.
  2. 进入esp目录,创建EFI\Boot\Kernel文件夹.
cd .\esp
mkdir EFI
mkdir Kernel
cd .\EFI
mkdir Boot
  1. 编译build\kallsyms.cpp,按编译应用程序的方式编译即可.
  2. 打开 pencil-kernel\build\config.txt 并配置以下内容:
  • DISK:上文创建的esp目录.
  • PHYSICAL_DISK: 用于安装Pencil-Kernel的物理磁盘(可选).

示例:

DISK = C:\pencil-kernel\esp
PHYSICAL_DISK = E:\
  • Mingw_CC: Mingw GCC 的路径.
  • CC: x86_64-elf-tools GCC 的路径.
  • LD: x86_64-elf-tools 连接器的路径.
  • GDB: gdb 调试器(可选).
  • NM
  • OBJCOPY
  • OBJDUMP
  • RM:(可选).
  • KALLSYMS: 步骤3中编译的kallsyms路径.
  • QEMU:qemu模拟器
  • UEFI_BIOS:Ovmf文件

示例:

LD        = x86_64-elf-tools/x86_64-elf/bin/ld.exe
GDB       = MinGW64/bin/gdb.exe
NM        = x86_64-elf-tools/x86_64-elf/bin/nm.exe
OBJCOPY   = x86_64-elf-tools/x86_64-elf/bin/objcopy.exe
OBJDUMP   = x86_64-elf-tools/x86_64-elf/bin/objdump.exe
RM        = rm.exe
KALLSYMS = build/kallsyms.exe
QEMU      = qemu/qemu-system-x86_64.exe
UEFI_BIOS = vm/ovmf.bin
  1. 进入pencil-kernel\build\目录并执行make bootoadermake kernel.

示例:

cd C:\pencil-kernel\build
make bootloader
make kernel

如果一切顺利,你可以在esp文件夹中找到编译结果.

安装

  1. 进入esp\Kernel目录
  2. 创建resource文件夹.
  3. 将点阵字体文件(可选)和truetype(.ttf)格式的字体文件放在resource目录中.修改src\bootloader\boot.h,然后进入pencil-kernel\build\目录并执行make bootoader重新编译bootloader
struct Files Files[] =
{
    {L"Kernel\\kernel.sys",0x100000,AllocateAddress,0x80000001},
    // 改为点阵字体文件路径
    {L"Kernel\\typeface.sys",0x600000,AllocateAddress,0x80000002},
    // 改为truetype字体路径
    {L"Kernel\\resource\\typeface.ttf",0x800000,AllocateAddress,0x80000003}
};
  1. esp复制到用于安装Pencil-Kernel的磁盘中.

在qemu中运行

  1. 按照安装过程的1-3步执行
  2. 进入pencil-kernel\build\目录并执行make run.