From 605c37cb989a95c02633fcb93efb45102781b4bb Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Wed, 15 Sep 2021 09:12:36 +0930 Subject: bitbake: Use IPK packaging for rootfs assembly bitbake offers a choice of DEB, RPM or IPK packaging. To a degree the choice is functionally arbitrary for image generation but control over the package format becomes important if we want to: 1. Include runtime package management functionality in the firmware image 2. Mess about with the packages on the build system With respect to 1 the IPK format and opkg (an ipk package manager) are designed for embedded systems[1] - by contrast to RPMs have heavier dependencies and a greater impact on the size and complexity of the firmware image. Regarding 2, the embedded nature and the need for opkg to work without much fuss leads to a lower configuration barrier by comparison to RPMs. With ipk it becomes possible to reuse the packages built during image preparation for core analysis without needing to generate an SDK: ``` $ export LD_LIBRARY_PATH=./tmp/work/x86_64-linux/opkg-native/*/recipe-sysroot-native/usr/lib $ MY_DEBUG_ROOT=tmp/rootfs-debug $ ./tmp/sysroots-components/x86_64/opkg-native/usr/bin/opkg \ -f ./tmp/work/p10bmc-openbmc-linux-gnueabi/obmc-phosphor-image/*/opkg.conf \ -o $MY_DEBUG_ROOT \ update $ fakeroot ./tmp/sysroots-components/x86_64/opkg-native/usr/bin/opkg \ -f ./tmp/work/p10bmc-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/opkg.conf \ -o $MY_DEBUG_ROOT \ install dbus-sensors dbus-sensors-dbg $ gdb-multiarch (gdb) set solib-absolute-prefix .../tmp/rootfs-debug (gdb) add-auto-load-safe-path .../tmp/rootfs-debug (gdb) file tmp/rootfs-debug/usr/bin/nvmesensor (gdb) core-file obmcdump_17_9597/core.nvmesensor.0.aae91b519d0e4e0e8bbe746e3f6cd25f.2779.9594000000 Core was generated by `/usr/bin/nvmesensor'. Program terminated with signal SIGABRT, Aborted. pthread_kill.c:45 45 pthread_kill.c: No such file or directory. (gdb) bt pthread_kill.c:45 ../sysdeps/posix/raise.c:26 /home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6 /home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6 /home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6 /home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6 "xyz.openbmc_project.NVMeSensor", this=0x488f04) at /usr/include/sdbusplus/bus.hpp:234 ../../../../../../workspace/sources/dbus-sensors/src/NVMeSensorMain.cpp:159 (gdb) ``` This approach documented in the Poky Reference Manual: https://www.yoctoproject.org/docs/1.0/poky-ref-manual/poky-ref-manual.html#platdev-gdb-remotedebug-launch-gdb-inferiorbins Switch all machines to IPK to align the debugging experience with upstream's documentation and to facilitate efficient use of packaged software at runtime. [1] https://openwrt.org/docs/guide-user/additional-software/opkg Change-Id: I8ef526add2d7a6790de1b3eb3fb85cd39b864f23 Signed-off-by: Andrew Jeffery Signed-off-by: Patrick Williams --- meta-bytedance/meta-g220a/conf/local.conf.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta-bytedance') diff --git a/meta-bytedance/meta-g220a/conf/local.conf.sample b/meta-bytedance/meta-g220a/conf/local.conf.sample index f931cdd21..e6f1ca458 100644 --- a/meta-bytedance/meta-g220a/conf/local.conf.sample +++ b/meta-bytedance/meta-g220a/conf/local.conf.sample @@ -1,6 +1,6 @@ MACHINE ??= "g220a" DISTRO ?= "openbmc-phosphor" -PACKAGE_CLASSES ?= "package_rpm" +PACKAGE_CLASSES ?= "package_ipk" SANITY_TESTED_DISTROS:append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" USER_CLASSES ?= "buildstats image-prelink" -- cgit v1.2.3 From 98f38d4c8d94db6fe6156e87bbe37b2c0cf64f4d Mon Sep 17 00:00:00 2001 From: Lotus Xu Date: Wed, 22 Sep 2021 18:25:57 +0800 Subject: bytedance: g220a: linux: Fix patch confict Remove ipmb patch that is upstreamed Fix uart patch conflict Tested: Build ok Signed-off-by: Lotus Xu Change-Id: I3749aafb5957e1fda4d31ef44fb2b6b956baa94a --- .../0001-bytedance-g220a-Enable-ipmb.patch | 30 ---------------------- ...0004-ARM-dts-aspeed-Add-uart-routing-node.patch | 24 ++++++++--------- .../recipes-kernel/linux/linux-aspeed_%.bbappend | 1 - 3 files changed, 12 insertions(+), 43 deletions(-) delete mode 100644 meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0001-bytedance-g220a-Enable-ipmb.patch (limited to 'meta-bytedance') diff --git a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0001-bytedance-g220a-Enable-ipmb.patch b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0001-bytedance-g220a-Enable-ipmb.patch deleted file mode 100644 index de9f2a350..000000000 --- a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0001-bytedance-g220a-Enable-ipmb.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0604e82e69c673c3ce75fa1d856a54ab10611015 Mon Sep 17 00:00:00 2001 -From: Lotus Xu -Date: Wed, 21 Oct 2020 12:42:45 +0800 -Subject: [PATCH] bytedance: g220a:Enable ipmb - -Signed-off-by: Lotus Xu ---- - arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dts | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dts b/arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dts -index b66854fa9ade..124b885b03ec 100644 ---- a/arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dts -+++ b/arch/arm/boot/dts/aspeed-bmc-bytedance-g220a.dts -@@ -453,7 +453,11 @@ channel_3_3: i2c@3 { - - &i2c4 { - status = "okay"; -- -+ ipmb0@10 { -+ compatible = "ipmb-dev"; -+ reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; -+ i2c-protocol; -+ }; - }; - - &i2c5 { --- -2.25.1 - diff --git a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch index 645a09385..79fbb7469 100644 --- a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch +++ b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0004-ARM-dts-aspeed-Add-uart-routing-node.patch @@ -1,7 +1,7 @@ -From c12fc8a0f748358f76ff5a883a390301f86f079f Mon Sep 17 00:00:00 2001 +From 120b607efb7b4dbc86add041decf3253b8b5e1fe Mon Sep 17 00:00:00 2001 From: John Wang Date: Wed, 30 Sep 2020 12:41:30 +0800 -Subject: [PATCH 4/5] ARM: dts: aspeed: Add uart-routing node +Subject: [PATCH] ARM: dts: aspeed: Add uart-routing node Signed-off-by: John Wang --- @@ -10,12 +10,12 @@ Signed-off-by: John Wang 2 files changed, 12 insertions(+) diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi -index 19288495f41a..de9a8fd3933f 100644 +index 73ca1ec6fc24..39d128c0545b 100644 --- a/arch/arm/boot/dts/aspeed-g5.dtsi +++ b/arch/arm/boot/dts/aspeed-g5.dtsi -@@ -522,6 +522,12 @@ sio_regs: regs { - compatible = "aspeed,bmc-misc"; - }; +@@ -503,6 +503,12 @@ ibt: ibt@140 { + interrupts = <8>; + status = "disabled"; }; + + uart_routing: uart_routing@9c { @@ -25,12 +25,12 @@ index 19288495f41a..de9a8fd3933f 100644 + }; }; - peci: bus@1e78b000 { + uart2: serial@1e78d000 { diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi -index 97ca743363d7..9938b8f224f6 100644 +index ee171b3364fa..aac382367109 100644 --- a/arch/arm/boot/dts/aspeed-g6.dtsi +++ b/arch/arm/boot/dts/aspeed-g6.dtsi -@@ -311,6 +311,12 @@ pinctrl: pinctrl { +@@ -317,6 +317,12 @@ pinctrl: pinctrl { compatible = "aspeed,ast2600-pinctrl"; }; @@ -40,9 +40,9 @@ index 97ca743363d7..9938b8f224f6 100644 + status = "disabled"; + }; + - smp-memram@180 { - compatible = "aspeed,ast2600-smpmem"; - reg = <0x180 0x40>; + silicon-id@14 { + compatible = "aspeed,ast2600-silicon-id", "aspeed,silicon-id"; + reg = <0x14 0x4 0x5b0 0x8>; -- 2.25.1 diff --git a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend index 3189e509d..bcbe7ce6c 100644 --- a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend +++ b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed_%.bbappend @@ -4,5 +4,4 @@ SRC_URI:append:g220a = " file://g220a.cfg \ file://0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch \ file://0004-ARM-dts-aspeed-Add-uart-routing-node.patch \ file://0005-ARM-dts-aspeed-Enable-g220a-uart-route.patch \ - file://0001-bytedance-g220a-Enable-ipmb.patch \ " -- cgit v1.2.3