summaryrefslogtreecommitdiff
path: root/meta-google/recipes-phosphor
AgeCommit message (Collapse)AuthorFilesLines
2024-09-13meta-google: gbmc-nic-config: Add recipeWilliam A. Kennington III1-0/+2
This makes it possible for a machine to specify `GBMC_EXT_NICS` in the machine configuration, signifying that it should treat an interface as an external interface to the machine. It will then perform DHCP and acquire gateway information and route all subordinate traffic out this interface. Change-Id: I75b0747b4e35bf6717c9a33a1f96a11beb425bb9 Signed-off-by: William A. Kennington III <wak@google.com>
2024-07-24google-misc: srcrev bump 177e7270dc..1e76060a37Yuxiao Zhang1-0/+1
Yuxiao Zhang (1): meta-google: dhcp-done: Adding status report Do the srcbump and add other status report changes (otherwise the build will be broken). Tested: try bmc upgrade with old/new bmc versions, all passed and status is correctly reported. Change-Id: Iafdb611ef80f1e4790f1512a7b8b48b8b9baa535 Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
2024-07-17meta-google: phosphor-ipmi-config: remove bash-ismBenjamin Fair1-1/+1
Use POSIX-standard `[` instead of bash-specific `[[`. Tested: No change to entity-map.json Signed-off-by: Benjamin Fair <benjaminfair@google.com> Change-Id: I0097ac6317e093f4eddecf5d2a33fdd8cf48ffe8
2024-05-15meta-google: gbmc-update: stop self-upgrade if url is missingYuxiao Zhang1-2/+5
This change will stop self update if the url is empty. Let it fall through the upgrade hook and return error. Change-Id: I92118d1697f1b8474c5152e6ea52f7ddb36b5615 Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
2024-05-14meta-google: image: enable tcpdump for prod imageHao Jiang1-1/+1
The tcpdump is required to prod debug NVMe OOB issues. Signed-off-by: Hao Jiang <jianghao@google.com> Change-Id: I925a790567c1e9ea7d032feb5defa399a6530be2
2024-05-08meta-google: gbmc-bridge: fail upgrade when url is invalidYuxiao Zhang1-1/+7
Currently the upgrade will continue when there is no url. This change will stop self update if the url is empty/invalid. Change-Id: I465ee426c845b918aa458b24db89fbcc2795cde5 Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
2024-04-26meta-google: gbmc-update: supress tar warning messageYuxiao Zhang1-1/+1
A warning message together with an expected error message will fail the update process. This will filter out all warning messages. Tested: before root@dddhl23-nfd01:/tmp# cat mytemp/tarerr tar: testdir/somefile1: time stamp 2024-04-26 02:48:00 is 37351.697053733 s in the future tar: */somefile2: Not found in archive tar: Exiting with failure status due to previous errors after root@dddhl23-nfd01:/tmp# cat mytemp/tarerr tar: */somefile2: Not found in archive tar: Exiting with failure status due to previous errors Change-Id: Ica9481383031ede950568a09a86eefb4fbfbdd6f Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
2024-04-02meta-google: phosphor-ipmi-config: Set mfg and prod IDsBenjamin Fair1-0/+3
This sets the manufacturer ID to Google's IANA enterprise number and the product ID to gBMC when building with the gbmc distro. Tested: Built gbs and inspected dev_id.json Signed-off-by: Benjamin Fair <benjaminfair@google.com> Change-Id: Ia0d07a36808732e4b15889165818eaed59945927
2024-04-02meta-google: phosphor-ipmi-config: Enable cipher 3Benjamin Fair1-0/+14
Cipher suite 3 is disabled by default but we still need it for the gbmc distro. Tested: Built gbs and inspected cipher_list.json Signed-off-by: Benjamin Fair <benjaminfair@google.com> Change-Id: Iaf37daa641410b719fea20e8f71d08ff91756e96
2024-01-16meta-google: Update GBMC_NCSI_IPMI_CHANNEL for npcm8xxTom Tung1-0/+1
Tested: ``` ~: MACHINE=npcm8xx_platform bitbake -e phosphor-ipmi-config | grep \ GBMC_NCSI_IPMI_CHANNEL= GBMC_NCSI_IPMI_CHANNEL="2" ~: MACHINE=other_platform bitbake -e phosphor-ipmi-config | grep \ GBMC_NCSI_IPMI_CHANNEL= GBMC_NCSI_IPMI_CHANNEL="1" ``` Change-Id: Iea0f8fc7ff2f2438b26e1b4addc40ea1ec6ff1a3 Signed-off-by: Tom Tung <shes050117@gmail.com>
2023-12-06meta-google: Remove ssh config for obmc-consoleWilly Tu1-0/+3
Google BMC does not use the ssh remote console feature. Disabling for security purpose. Change-Id: I130877be02303b5eeabd7496075f2fefc56bd91e Signed-off-by: Willy Tu <wltu@google.com>
2023-10-27meta-google: phosphor-ipmi-config: Arbitrary channel mappingWilliam A. Kennington III1-0/+12
This allows us to easily map in other NICs from a machine config. Change-Id: Ib1aede5af75bfda30d11fd5f310b3ff096af86bb Signed-off-by: William A. Kennington III <wak@google.com>
2023-10-27meta-google: treewide: Parameterize NCSI channelWilliam A. Kennington III1-1/+2
Most platforms want to use 1 as has been the implicit standard. However, this is not required and might be changed for some machines. This makes it easy to change via a machine configuration variable. Change-Id: I5dff5dfb1c97bab531042fd364114f320d3ebe42 Signed-off-by: William A. Kennington III <wak@google.com>
2023-10-27meta-google: phosphor-ipmi-config: Update NCSI interface nameWilliam A. Kennington III1-0/+3
Our configuration assumes the NCSI interface in slot 1 is eth0, let's update it to rewrite the interface name appropriately. Change-Id: Iecaaeac2e0a2ebc33b3b19d456de85f4e9ec48de Signed-off-by: William A. Kennington III <wak@google.com>
2023-10-27meta-google: phosphor-ipmi-config: Refactor NIC mapping logicWilliam A. Kennington III3-11/+19
We want to be able to enable any slot for potentially multiple NICs. Follow on changes will reuse this logic. We can now enable arbitrary ethernet channels by calling and the relevant ipmi json mappings will be established. The resulting file looks something like ``` { "0": { "name": "IPMB", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "ipmb", "protocol_type": "ipmb-1.0", "session_supported": "session-less", "is_ipmi": true } }, "1": { "name": "ncsi", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "lan-802.3", "protocol_type": "ipmb-1.0", "session_supported": "multi-session", "is_ipmi": true } }, "2": { "name": "front", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "lan-802.3", "protocol_type": "ipmb-1.0", "session_supported": "multi-session", "is_ipmi": true } }, "3": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "4": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "5": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "6": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "7": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "8": { "name": "INTRABMC", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "oem", "protocol_type": "oem", "session_supported": "session-less", "is_ipmi": true } }, "9": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "10": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "11": { "name": "gbmcbr", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "lan-802.3", "protocol_type": "ipmb-1.0", "session_supported": "multi-session", "is_ipmi": true } }, "12": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "13": { "name": "RESERVED", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "reserved", "protocol_type": "na", "session_supported": "session-less", "is_ipmi": true } }, "14": { "name": "SELF", "is_valid": false, "active_sessions": 0, "channel_info": { "medium_type": "ipmb", "protocol_type": "ipmb-1.0", "session_supported": "session-less", "is_ipmi": true } }, "15": { "name": "ipmi_kcs3", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "system-interface", "protocol_type": "kcs", "session_supported": "session-less", "is_ipmi": true } } } ``` Change-Id: I361edd658491ea85b79b60d3107fab6dd5e192e2 Signed-off-by: William A. Kennington III <wak@google.com>
2023-10-11meta-google: gbmc: remove useless redfish flag checkPatrick Williams1-3/+0
The packagegroup-obmc-apps bbappend attempts to remove `bmcweb` from a package group that it isn't even part of, meaning the code has no affect. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I94216b012993b96e433f2f8a5349d7ac840a6bee
2023-09-02meta-google: Add smbios-remote-host to allowlistJosh Lehan1-1/+1
Instead of individual filenames, adding the containing directory itself. Adding the directory used by the gRPC receiver of SMBIOS blobs from remote hosts, so they can stick around after the smbios-mdr service is restarted, without requiring hosts to send them again. As for the gRPC receiver itself, see this patch stack: https://gerrit.openbmc.org/c/openbmc/smbios-mdr/+/65048 Change-Id: Ic73ab81e3a9761a101b6040a445a5cf042cbb4b0 Signed-off-by: Josh Lehan <krellan@google.com>
2023-08-25meta-google: glome: remove from layerLuke Granger-Brown1-1/+1
glome is now in the meta-security layer and shouldn't(*) be included here. glome-config is also removed; downstreams should bbappend glome to overwrite /etc/glome/config. (*) https://lore.kernel.org/all/Ys6zBXR+8AP3wjYG@heinlein.stwcx.org.github.beta.tailscale.net/ Tested: Added meta-security layer to a build and tested downstream BMC build. Link: https://gerrit.openbmc.org/id/I8e96a5c15a277c343ca38c32ad5b987944642008 Change-Id: I8e96a5c15a277c343ca38c32ad5b987944642008 Signed-off-by: Luke Granger-Brown <lukegb@google.com>
2023-07-29meta-google: Add /var/log/state to whitelistWilly Tu1-0/+1
Allow the state file for rsyslog as configured by the default rsyslog.conf. This prevent us from reading the the whole logs again (if the logs persists across reboots). Reference: - https://gerrit.openbmc.org/c/openbmc/openbmc/+/64418 Change-Id: Ia3650627a26e2dbdcc62f1c464e389e4e668e3a8 Signed-off-by: Willy Tu <wltu@google.com>
2023-07-27phosphor-ipmi-ethstats: srcrev bump 4cf2befc14..48d6b06ea5Andrew Geissler1-1/+1
Switch to meson. Patrick Williams (3): build: add basic meson config build: add meson for unit-tests build: remove autotools support William A. Kennington III (1): build: Some minor refactoring Change-Id: I3697ef580954f5423af0620df5c25e496de7e1c2 Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
2023-07-12meta-google: gbmc-update: Multi file netboot tarballWilliam A. Kennington III1-17/+25
This supports extending what is unpacked from the tarball and allows arbitrary hooks to execute on the unpacked files. Tested: Added some code to one of our platforms that consumes the tarball with multiple data files and correctly processes different subsets of the files. Change-Id: Id48a5c9327bafa367efd231b3907c305fe6994fe Signed-off-by: William A. Kennington III <wak@google.com>
2023-06-06meta-google: inplace-gbmc-update: Fix shellcheck issuesWilliam A. Kennington III1-1/+0
Change-Id: Ie8f8623b00f5eb1d830fc93d79b43406078db2f6 Signed-off-by: William A. Kennington III <wak@google.com>
2023-06-06meta-google: goolge-key: Fix shellcheck issuesWilliam A. Kennington III1-1/+2
Change-Id: I4ce1830f53932ed674ddacf2f71c66a89c3d19a1 Signed-off-by: William A. Kennington III <wak@google.com>
2023-05-18meta-google: gbmc-upgrade: use GBMC_TARGET_MACHINETom Tung1-1/+1
Signed-off-by: Tom Tung <shes050117@gmail.com> Change-Id: Ib4d3b942aa8821f70981dff0d16ff1d7f349697b
2023-05-05meta-google: gbmc-bridge: add udev and bridging mappingYuxiao Zhang1-0/+2
This CL adds support for bridging ethernet devices to gbmcbr and interface renaming based on the dev address. Change-Id: Ibc5fc8e0426e117191574553b36ea59a6735b91c Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
2023-05-04Update to libpam 1.5.2Joseph Reynolds1-2/+2
This updates to libpam 1.5.2. This version removes support for pam_cracklib and pam_tally2. They are replaced by pam_pwquality and pam_faillock respectively. Since parameters of pam_cracklb and pam_tally2 are configurable through Redfish, it's possible that they will remain in the overlay of /etc/pam.d with the old module names preventing PAM from working correctly. To avoid this, this commit includes a script that will detect if the old modules are in the overlay and update the overlay with the new modules and configuration. The script will allow updates from libpam 1.3.1 to libpam 1.5.2, but if there are configured parameters during a downgrade from libpam 1.5.2 to libpam 1.3.1, it will require a factory reset before the downgrade. pam_pwquality was selected over pam_passwdqc because of better security and compatibility with pam_cracklib. Note pam_faillock is necessarily configured into the pam module stack differently than pam_tally2. This patchset causes a BMC operational change: - The pam_tally2 command (invoked from the BMC's command line) is no longer present. If you used the "pam_tally2 -u USER -r" command to unlock a user after repeated authentication failures, change to use: faillock --user USER --reset Compatibility note / migration issue. If your BMC cannot authenticate users after installing this change, the cause might be an overlayfs file hiding the new /etc/pam.d/common-auth file. To find out, use `grep deny= /etc/pam.d/common-auth` on your BMC. If it shows "tally2" then your BMC is affected. The recovery is to delete the overlay file, to factory reset the BMC, or manually-install the changed files. The convert-pam-configs service is intended to handle this problem. Tested: as follows, for local users only (not tested with LDAP) Note OpenBMC configuration defaults to an AccountLockoutThreshold value of 0 which does not lock account passwords no matter how many consecutive failed authentication attempts. To configure this on the BMC, for example, use: curl -X PATCH https://${bmc}/redfish/v1/AccountService -d '{"AccountLockoutThreshold": 3, "AccountLockoutDuration": 60}' Tested update scenarios: 1. Install from scratch. Success. 2. Install over firmware which had old PAM configs. Success. Tested update scenarios for the convert-pam-configs service. Tested changing the password via various interfaces: - the passwd command - the PATCH Refish AccountService {Password: NEW} - SSH (accessible only when the password is expired) - IPMI user set password (accessible for unexpired password) Tested both good and bad (unacceptable) passwords. Tested account lockout after N bad passwords Tested unlock via Redfish. Also, because its implementation changed, ensure reading and writing the D-Bus User AccountPolicy RememberOldPasswordTimes property continues to work. There is no Redfish API for this. Signed-off-by: Joseph Reynolds <joseph-reynolds@charter.net> Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com> Change-Id: I7b712cf7cfbf7b0bc79da42f822540baee66ca4f
2022-12-06meta-google: ipmid: disable dbus Active SoftwareWilly Tu1-0/+2
Google uses a different version via ipmi-config: https://github.com/openbmc/openbmc/blob/master/meta-google/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend The dbus active software keeps failing and printing errors. Change-Id: Ibbbc73a2121c51d146f0db76d231a2be5e30231d Signed-off-by: Willy Tu <wltu@google.com>
2022-11-02meta-google: systemd: Enable timesyncd by defaultWilliam A. Kennington III2-25/+0
This enables timesync support for the gbmc distro. Change-Id: Idb653e6b98a347b5d8c3a0b3a16c6a4abbe268ac Signed-off-by: William A. Kennington III <wak@google.com>
2022-11-01meta-google: Set default timezone as PDTWilliam A. Kennington III1-0/+1
This is the prod configuration. Change-Id: I04c33362cf874637caa528779c57bcacfca50201 Signed-off-by: William A. Kennington III <wak@google.com>
2022-10-18meta-google: packagegroup-obmc-apps: remove trace-enableBenjamin Fair1-0/+1
This package depends on a u-boot environment partition being available, which we don't have on gBMC systems. Signed-off-by: Benjamin Fair <benjaminfair@google.com> Change-Id: I5b875ef05398d79a997106f799b942273e63d84b
2022-10-13meta-phosphor: rest-dbus: remove recipePatrick Williams1-2/+0
The repository referenced is still written with Python2 and should not have any users any longer. Remove all the recipes (and references to it). This functionality is implemented in bmcweb (enabled with options) and should be enabled there if still desired. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id689a3b749ddadd939ef43343379e569c16bc183
2022-10-13treewide: remove pointless abstractionsBrad Bishop1-1/+1
All of these abstractions have exactly one implementation. Remove the indirection to improve at a glance comprehension. Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: I5d701aff6d0876fa3b2d16c841cbdcb0433b221f
2022-10-12treewide: remove phosphor-rest referencesBrad Bishop1-1/+0
A recipe for phosphor-rest has not existed for some time now. Remove remaining references to it. Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: Id5e8232f60172cb877bcecf612740d217cf92f85
2022-10-10phosphor-objmgr: recipe cleanupsPatrick Williams1-2/+0
Big cleanups to the phosphor-mapper/phosphor-objmgr recipe. - Remove all "mapper-config-native" constructs as the underlying repository has no such support. - Remove all mapper-related bbclasses as they are no longer relevant. - Remove environment support in service file as the mapper executable no longer supports any arguments. - Greatly simplify the 'libmapper' packaging to avoid stray python in the recipe. - Update all recipes to use `DEPENDS += "libmapper"` where appropriate for clarity if they use libmapper. - Rename the recipe from phosphor-mapper to phosphor-objmgr to match the repository name, which allows simpler devtool invocations. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I5a64e2feddd1a7919813e007411f9c28b6c9a330
2022-09-29meta-google: enable google api for BMCWebHao Jiang1-0/+4
Any google image should able to support the RootOfTrust service of BMCWeb. Adding the option will enable the feature of BMCWeb. Signed-off-by: Hao Jiang <jianghao@google.com> Change-Id: I13bf5f7ebef4ac907a02379a4b8c0cbaa87f3c51
2022-09-10meta-google: Remove cracklib from image and libpam dependencykasunath1-0/+4
The package "cracklib" is not needed. Ideally in the future we will start using Google GLOME. The "libpam" library depends on cracklib, so override the libpam recipe also, so that it no longer depends on cracklib. Tested: This has been tested locally on our local product, which uses OpenBMC, and it appeared to work just fine for us. Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: I0d7714766a2e14151f00f6582abee78dee43614d Signed-off-by: Josh Lehan <krellan@google.com>
2022-09-10meta-google: remove glome-config from glome's RDEPENDSLeo Tu1-0/+3
glome-config only provides the config file for glome. It is more appropriate to decouple them by adding glome-config to OBMC_IMAGE_EXTRA_INSTALL in the meta-google layer. Then when glome is migrated to another meta layer, it won't need this RDEPENDS. (This is a follow-up of https://gerrit.openbmc.org/c/openbmc/openbmc/+/56618/) Also add glome-login to OBMC_IMAGE_EXTRA_INSTALL since it is also needed. Tested: Built an image and run it on a real machine. Verified that glome is enabled and the generated link gave a valid password. Signed-off-by: Leo Tu <leotu@google.com> Change-Id: I985670454f4749c5297261ec81466fed9cdc5c40
2022-08-18meta-google: console: remove service dependencyDavid Wang1-2/+1
Remove service dependency so that serial will not be delayed by network.target. Signed-off-by: David Wang <davidwang@quantatw.com> Change-Id: I6febe89373a5e1c845b998905305aafe25744380
2022-07-21meta-google: gbmc-update: Missing bootfile_url is not an errorWilliam A. Kennington III1-1/+1
We should complete the DHCP process even if we don't receive a bootfile payload. Change-Id: I77c45920fda2bcaa732b546f48c5d247c903268f Signed-off-by: William A. Kennington III <wak@google.com>
2022-07-21meta-google: inplace-gbmc-update: Move file for consistencyWilliam A. Kennington III2-2/+2
This does not affect correctness but it matches the file priority of gbmc-upgrade. Change-Id: Ie19fc91c5292e1588fe7a46763172273f0724e23 Signed-off-by: William A. Kennington III <wak@google.com>
2022-07-20meta-google: gbmc-update: Upgrade should be ordered earlierWilliam A. Kennington III2-2/+2
We want to make sure this happens before any coalesced powercycle. Change-Id: I12f161b4a69df49c4cf960badfba90d08737d7b9 Signed-off-by: William A. Kennington III <wak@google.com>
2022-07-01meta-google: obmc-console: Don't enable host-console-journal by defaultWilliam A. Kennington III1-4/+0
This is trivial to enable if desired, we mostly don't want a huge amount of BIOS logspam to fill the journal and cause it to rotate out valuable logs in normal situations. Change-Id: I991e8f048e847ba081b69f755c48275b63d4af66 Signed-off-by: William A. Kennington III <wak@google.com>
2022-06-22meta-phosphor/obmc-init.sh: fix panic when rwfs is fullHeyi Guo1-6/+6
mkdir -p $work will fail if rwfs partition is full, and then it will cause overlayfs mount fail as well. Finally it cause kernel panic and bmc fails to boot: rofs = mtd4 squashfs rwfs = mtd5 jffs2 [ 3.841846] jffs2: notice: (103) jffs2_build_xattr_subsystem: complete building xattr subsystem, 21 of xdatum (19 unchecked, 2 orphan) and 45 of xref (1 dead, 1 orphan) found. mkdir: can't create directory 'run/initramfs/rw/work': No space left on device [ 9.022304] overlayfs: failed to resolve 'run/initramfs/rw/work': -2 mount: mounting cow on /root failed: No such file or directory chroot: can't execute '/bin/sh': No such file or directory Unable to confirm /sbin/init is an executable non-empty file in merged file system mounted at /root. Change Root test failed! Fatal error, triggering kernel panic! [ 9.141777] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 [ 9.142489] CPU: 0 PID: 1 Comm: init Not tainted 5.10.36-60b3c9d #1 [ 9.142667] Hardware name: Generic DT based system [ 9.142949] Backtrace: [ 9.144308] [<80915100>] (dump_backtrace) from [<809153a4>] (show_stack+0x20/0x24) [ 9.144623] r7:80b08ed4 r6:60000093 r5:00000000 r4:80d71c9c [ 9.144816] [<80915384>] (show_stack) from [<80919b54>] (dump_stack+0x9c/0xb0) [ 9.144982] [<80919ab8>] (dump_stack) from [<80915824>] (panic+0x114/0x33c) [ 9.145136] r7:80b08ed4 r6:80d0a970 r5:00000000 r4:80dbe378 [ 9.145271] [<80915710>] (panic) from [<80126c14>] (do_exit+0x99c/0xa0c) [ 9.145426] r3:00000001 r2:00000000 r1:00000100 r0:80b08ed4 [ 9.145552] r7:ffffe000 [ 9.145632] [<80126278>] (do_exit) from [<80127cf0>] (do_group_exit+0x50/0xc8) [ 9.145787] r7:000000f8 [ 9.145863] [<80127ca0>] (do_group_exit) from [<80127d88>] (__wake_up_parent+0x0/0x30) [ 9.146034] r7:000000f8 r6:00000004 r5:00000004 r4:010fd190 [ 9.146185] [<80127d68>] (sys_exit_group) from [<80100060>] (ret_fast_syscall+0x0/0x54) [ 9.146425] Exception stack(0x810c5fa8 to 0x810c5ff0) [ 9.146745] 5fa0: 010fd190 00000004 00000001 00000000 00000001 010fd190 [ 9.147049] 5fc0: 010fd190 00000004 00000004 000000f8 00000000 00000000 004e4a84 00000000 [ 9.147295] 5fe0: 004e4b40 7ec93a04 00474048 76df4a54 [ 9.147959] CPU1: stopping [ 9.148650] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.10.36-60b3c9d #1 [ 9.148957] Hardware name: Generic DT based system [ 9.149264] Backtrace: [ 9.150182] [<80915100>] (dump_backtrace) from [<809153a4>] (show_stack+0x20/0x24) [ 9.150598] r7:00000001 r6:60070193 r5:00000000 r4:80d71c9c [ 9.150878] [<80915384>] (show_stack) from [<80919b54>] (dump_stack+0x9c/0xb0) [ 9.151149] [<80919ab8>] (dump_stack) from [<8010f1f4>] (do_handle_IPI+0x2f8/0x32c) [ 9.151430] r7:00000001 r6:0d15a000 r5:00000001 r4:80dbe278 [ 9.151649] [<8010eefc>] (do_handle_IPI) from [<8010f250>] (ipi_handler+0x28/0x30) [ 9.151925] r9:810f6000 r8:81080800 r7:00000001 r6:0d15a000 r5:81084b80 r4:00000014 [ 9.152205] [<8010f228>] (ipi_handler) from [<80184754>] (handle_percpu_devid_fasteoi_ipi+0x80/0x154) [ 9.152536] [<801846d4>] (handle_percpu_devid_fasteoi_ipi) from [<8017dce4>] (__handle_domain_irq+0x8c/0xe0) [ 9.152911] r7:00000001 r6:00000000 r5:00000000 r4:80c6fbdc [ 9.153147] [<8017dc58>] (__handle_domain_irq) from [<80101348>] (gic_handle_irq+0x7c/0x90) [ 9.153508] r9:810f6000 r8:8f80200c r7:80c6fbe8 r6:8f802000 r5:810f7f38 r4:80d0541c [ 9.153819] [<801012cc>] (gic_handle_irq) from [<80100b0c>] (__irq_svc+0x6c/0x90) [ 9.154168] Exception stack(0x810f7f38 to 0x810f7f80) [ 9.154541] 7f20: 00000000 000195e0 [ 9.154993] 7f40: 8ddcb144 8011ba00 810f6000 00000001 80d04d10 80d04d4c 80d9dfdc 80b0b4f0 [ 9.155402] 7f60: 00000000 810f7f94 810f7f98 810f7f88 80108fd4 80108fd8 60070013 ffffffff [ 9.155762] r9:810f6000 r8:80d9dfdc r7:810f7f6c r6:ffffffff r5:60070013 r4:80108fd8 [ 9.156070] [<80108f90>] (arch_cpu_idle) from [<80926c68>] (default_idle_call+0x38/0x108) [ 9.156382] [<80926c30>] (default_idle_call) from [<80159894>] (do_idle+0xdc/0x148) [ 9.156676] [<801597b8>] (do_idle) from [<80159bd0>] (cpu_startup_entry+0x28/0x2c) [ 9.156974] r9:410fc075 r8:8000406a r7:80dbe280 r6:10c0387d r5:00000001 r4:00000091 [ 9.157275] [<80159ba8>] (cpu_startup_entry) from [<8010f7c0>] (secondary_start_kernel+0x15c/0x180) [ 9.157614] [<8010f664>] (secondary_start_kernel) from [<8010182c>] (__enable_mmu+0x0/0x14) [ 9.157919] r5:00000051 r4:810e006a Fix this by not removing workdir directly, but keeping the directory and removing all entires under it. We will still get below warning, but it can boot to shell and provide ssh access to give a chance of recovery. [ 9.519053] overlayfs: failed to create directory run/initramfs/rw/work/work (errno: 28); mounting read-only Also update related patch file in meta-google to avoid build failure. Signed-off-by: Heyi Guo <guoheyi@linux.alibaba.com> Change-Id: I69c640c70ee3e9d1133b7d61d391501616c229d6
2022-06-11meta-google: gbmc-update: Fix unpacking nested directoriesWilliam A. Kennington III2-1/+2
We don't actually store the firmware at a top-level directory, we expect it to be stored in a hierarchy of directories. Change-Id: I04eebb166d34616b346b401d1201574939cab60c Signed-off-by: William A. Kennington III <wak@google.com>
2022-06-11meta-google: gbmc-update: Support gzipped tarballsWilliam A. Kennington III1-2/+6
Change-Id: Ic2096e1f49697d837ff94c0a7d51c0b447eb831f Signed-off-by: William A. Kennington III <wak@google.com>
2022-06-11meta-google: gbmc-update: Fix fetch error logicWilliam A. Kennington III1-5/+20
We want to produce a meaningful error if we time out unpacking the download tarball. Change-Id: I4710e70925d8c4be93430739f8a2f7e4ece47ebf Signed-off-by: William A. Kennington III <wak@google.com>
2022-06-11meta-google: gbmc-update: Allow multi-imageWilliam A. Kennington III1-1/+3
We have a few machines where mutliple images are served to the BMC. We want to allow for both images to be stored without processing. Change-Id: I20d342981a5139d26b71c2e10c4861ae9dfbe432 Signed-off-by: William A. Kennington III <wak@google.com>
2022-06-10meta-google: ipmi-config: Recover gbmc_version and fix task dependencyWilly Tu1-0/+33
Update the dev_id.json directly after the install and before the do_package to make sure it always get install/packaged properly. Tested: ``` MACHINE=$PLATFORM GBMC_VERSION=0.0.0.5 bitbake phosphor-ipmi-config ... { "addn_dev_support": 2, "aux": 327680, "firmware_revision": { "major": 0, "minor": 0 }, "id": 32, "manuf_id": 1234, "prod_id": 5678, "revision": 1 } ``` Change-Id: Ic43ba03fddb972d2dbbda64a31237574fbd39a34 Signed-off-by: Willy Tu <wltu@google.com>
2022-06-09Revert "meta-google- ipmi-config: Add google-version support"Willy Tu1-35/+0
This reverts commit e5ffc52b405319038480c826d0ed8c76edef7338. Reason for revert: The gbmc_version task does not always get triggered properly due to bitbake cache. This may cause failure in the version check and be problematic. Change-Id: I783ad8563ad16a1e6ed3e7f4d92323655e97afac Signed-off-by: Willy Tu <wltu@google.com>
2022-06-03meta-google- ipmi-config: Add google-version supportWilly Tu1-0/+35
Read GBMC_VERSION and configure the ipmi firmware revision with the major/minor. The aux is used for the point and subpoint. This allow gBMC to remove the internal patch that we used to support our versioning format. Requires the change in https://gerrit.openbmc.org/c/openbmc/phosphor-host-ipmid/+/54147/ Tested: With firmware_revision in dev_id.json ``` $ cat /usr/share/ipmi-providers/dev_id.json $ ipmitool mc info { "id": 0, "revision": 0, "addn_dev_support": 0, "firmware_revision": { "major": 35, "minor": 16 }, "manuf_id": 11129, "prod_id": 14426, "aux": 0 } ipmitool mc info Device ID : 0 Device Revision : 0 Firmware Revision : 35.10 IPMI Version : 2.0 Manufacturer ID : 11129 Manufacturer Name : Google, Inc. Product ID : 14426 (0x385a) Product Name : Unknown (0x385A) Device Available : yes Provides Device SDRs : no Additional Device Support : Aux Firmware Rev Info : 0x00 0x00 0x00 0x00 ``` Change-Id: I64ed6f54612d45732e366a2b245d33db00540093 Signed-off-by: Willy Tu <wltu@google.com>