diff options
| author | Jeremy Kerr <jk@ozlabs.org> | 2015-10-22 13:47:30 +0800 |
|---|---|---|
| committer | Jeremy Kerr <jk@ozlabs.org> | 2015-10-22 13:47:30 +0800 |
| commit | 0eacaee780491f77cf3cc3fb1c973f3b156e9b62 (patch) | |
| tree | b2eb4de1174d9ccf08ad911f0dd2bc5ac70a1b30 | |
| parent | 35abff5ffbcab355a296b550931ed0b6aed205f0 (diff) | |
| download | openbmc-docs-0eacaee780491f77cf3cc3fb1c973f3b156e9b62.tar.gz openbmc-docs-0eacaee780491f77cf3cc3fb1c973f3b156e9b62.zip | |
Add initial kernel-development doc
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
| -rw-r--r-- | kernel-development.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/kernel-development.md b/kernel-development.md new file mode 100644 index 0000000..b05e512 --- /dev/null +++ b/kernel-development.md @@ -0,0 +1,47 @@ +# OpenBMC kernel development + +Some general hints for kernel development + +## Out-of-tree builds + +You can build a kernel out of the yocto environment, by using the initramfs +(from a pre-existing yocto build) directly: + +``` +make ARCH=arm \ + O=obj \ + CROSS_COMPILE=arm-linux-gnueabihf- \ + CONFIG_INITRAMFS_SOURCE=/path/tp/obmc-phosphor-image-palmetto.cpio.gz +``` + +(adjust `O` and `CROSS_COMPILE` parameters as appropriate). + +You'll need to use `aspeed_defconfig` as your base kernel configuration. + +The cpio can be found in the following yocto output directory: + +``` + build/tmp/deploy/images/palmetto/ +``` + +# Building a uImage + +To build a uImage (for example, to netboot): + +``` +# build a zImage using the obmc rootfs +make ARCH=arm \ + O=obj \ + CROSS_COMPILE=arm-linux-gnueabihf- \ + CONFIG_INITRAMFS_SOURCE=/path/tp/obmc-phosphor-image-palmetto.cpio.gz + +# create a combined zImage + DTB image +cat obj/arch/arm/boot/zImage \ + obj/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dtb \ + > obj/aspeed-zimage + +# create a uImage +./scripts/mkuboot.sh -A arm -O linux -C none -T kernel \ + -a 0x40008000 -e 0x40008000 -n $USER-`date +%Y%m%d%H%M` \ + -d obj/aspeed-zimage obj/uImage +``` |

