这章节比较鸡肋,和Magenta关系不大,但涉及到传给Magenta参数的方式,为了完整性,就简单的写些吧。
Magenta的code下载、配置、编译等等就不说了,就从其从Qemu中运行开始说起。如下是Qemu启动Magenta的命令:
qemu-system-x86_64 -m 2048 -serialstdio -vga std -net none -smp 4 -machine q35
-kernel /home/kevin/workshop/room/source/fuchsia/magenta/build-magenta-pc-x86-64/magenta.bin
-enable-kvm -cpu host,migratable=no
-initrd/home/kevin/workshop/room/source/fuchsia/magenta/build-magenta-pc-x86-64/bootdata.bin
-append
'TERM=xterm-256color
kernel.entropy=88bfa2b8b8e13a693bfb61d005be65ae62943defa58af31bb11d0e9c9b59ef71'
Kernel.halt_on_panic=true
由此可见:
1/ 我所测试的Magenta是基于X86-64架构;
2/ machine类型是q35,会依此参数使用pc-q35;
3/ Magenta的kernel bin文件是magenta.bin;
4/ initrd是bootdata.bin;
5/ cmdline包括"-append"所带的3个参数行;
Qemu loader
typedef struct {
bootdata_t hdr_file;
bootdata_t hdr_kernel;
bootdata_kernel_tdata_kernel;
}magenta_kernel_t