Age | Commit message (Collapse) | Author | Files | Lines |
|
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 <andrew@aj.id.au>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
|
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I569f08159a5da3d148f63a5b1ed29b5cd52181db
|
|
Cleanup with
```
convert-overrides.py meta-quanta/meta-gsj
git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-gsj
git grep -l _gsj -- meta-quanta/meta-gsj \
| xargs sed -i 's/_gsj/:gsj/'
```
Note:
Need to revert the change to BBFILE_PATTERN and LAYERSERIES_COMPAT.
After cleanup
```
$ git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-gsj/ | grep '.bb'
meta-quanta/meta-gsj/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_%.bbappend:do_install:append:gsj () {
meta-quanta/meta-gsj/recipes-google/ipmi/google-ipmi-sys_%.bbappend:do_install:append:gsj() {
meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb:do_install:append:gsj() {
meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb:do_install () {
meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control_%.bbappend:do_install:append:gsj() {
meta-quanta/meta-gsj/recipes-quanta/network/mac-address_%.bbappend:do_install:append:gsj() {
```
Change-Id: I058371ed32214d665aaaf616a650c2efeaf5be66
Signed-off-by: Willy Tu <wltu@google.com>
|
|
This is apparently not actually working anymore and is removed in the
next poky update.
Change-Id: Ia1c6a258d124a4a30a14fc42e8e0bba95e64faeb
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
Save room in flash by taking out some binaries that are unused.
This includes defining a new distro based on Phosphor that removes LDAP,
SLP, and Avahi as these are not used.
(From meta-quanta rev: c27ca70b613310ffc4ac41b11b361691e99fc0f3)
Change-Id: Ia22da47136c715734d2df6fb767fee2e53f9bbaf
Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
|
|
Tested: This commit included the basic machine config
and package group setting for project GSJ.
And it could build successfully with meta-nuvoton fix
(https://gerrit.openbmc-project.xyz/#/c/openbmc/openbmc/+/17719/).
But the built image cannot run on EVB now,
it is because the image generate script still not ready yet.
(From meta-quanta rev: e08538d3df34128ef92c0593c1556931e62c614a)
Change-Id: I2724915dd674bbce0db16a3714bc50cf8993f9b9
Signed-off-by: FranHsu <Fran.Hsu@quantatw.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|