首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为powerpc构建Linux内核并在qemu上引导它?

如何为powerpc构建Linux内核并在qemu上引导它?
EN

Stack Overflow用户
提问于 2017-12-29 10:27:50
回答 2查看 1.8K关注 0票数 1

我编译了一个linux内核,并使用buildroot为64位powerpc生成根文件系统。目标CPU POWER7。

建造者的产出:

rootfs.cpio 2] rootfs.ext2 3] rootfs.tar.gz 4] vmlinux

启动qemu仿真

代码语言:javascript
复制
qemu-system-ppc64 -m 1024 -kernel output/images/vmlinux -initrd output/images/rootfs.cpio -serial stdio

->输出:第一命令输出

代码语言:javascript
复制
qemu-system-ppc64 -M pseries -cpu POWER7 -m 1024 -kernel output/images/vmlinux -append 'console=hvc0 root=/dev/sda' -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio

->输出:第二命令输出

我做错了什么,我能做些什么来弥补它?

EN

回答 2

Stack Overflow用户

发布于 2018-01-15 22:37:52

你等了多久了?我想是有一段时间。在这种情况下,看起来内核在启动早期就在某个地方崩溃了,然后才能检测到控制台。如果你的内存太少,这可能会发生,但是1G应该就足够了。如果您为错误的机器/CPU类型构建内核,但您似乎得到了正确的结果,也可能发生这种情况。

有一些说明,这里,您可以尝试,并已知的工作。

票数 0
EN

Stack Overflow用户

发布于 2018-03-18 14:51:05

Buildroot

https://buildroot.org/

我还没有专门为powerpc测试过它,但我敢打赌,这一切都会像我迄今尝试过的每个拱门(x86、ARM和MIPS)一样,都是开箱即用的。

只需遵循在:如何下载,(重新)编译它,并使用QEMU引导它?中解释的步骤,并用ppc替换arm。

然后,要使用您自己的Linux内核源代码,基本上只需使用LINUX_OVERRIDE_SRCDIR,如在:如何修改用于包开发的Buildroot包的源代码?中解释的那样。

编辑:我知道这只是一种形式,但是在写完这个问题之后,我实际上测试了下面的命令,并且引导就像预期的那样在方框外工作:

代码语言:javascript
复制
unset LD_LIBRARY_PATH
make qemu_ppc64_pseries_defconfig
printf '
BR2_CCACHE=y
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE=n
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
BR2_PACKAGE_HOST_QEMU_VDE2=y
' >>.config
make olddefconfig
time make BR2_JLEVEL="$(nproc)" HOST_QEMU_OPTS='--enable-sdl --with-sdlabi=2.0'
./output/host/usr/bin/qemu-system-ppc64 -M pseries -cpu POWER7 -m 256 -kernel output/images/vmlinux -append 'console=hvc0 root=/dev/sda' -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48021127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档