open-power / pnor Goto Github PK
View Code? Open in Web Editor NEWPackaging scripts for flash images.
License: Apache License 2.0
Packaging scripts for flash images.
License: Apache License 2.0
PalmettoPnorLayout.xml has a header saying its IBM Confidential and reserving rights that are inconsistent with the license this package is under.
pnor/p9Layouts/defaultPnorLayout_64.xml
Line 280 in 1927047
pnor/p9Layouts/defaultPnorLayout_64.xml
Line 268 in 1927047
HBBL and ATTR_TEMP have the same physical offset.
This causes weird op-build
build failures along the lines of "eyeCatch cannot be empty" which is due to the buildpnor.pl scripts not particularly gracefully handling overlapping partitions.
Listing available partitions with pflash displays the NVRAM partition as being ECC-corrected:
ID=18 NVRAM 01de2000..01e72000 (actual=00090000) [ECC]
But when dumping the partition itself this appears to not be the case, for example:
00000ff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00001000: 700c 1000 636f 6d6d 6f6e 0000 0000 0000 p...common......
00001010: 7065 7469 7462 6f6f 742c 626f 6f74 6465 petitboot,bootde
00001020: 7673 3d6e 6574 776f 726b 2064 6973 6b20 vs=network disk
00001030: 616e 7920 0070 6574 6974 626f 6f74 2c77 any .petitboot,w
00001040: 7269 7465 3f3d 6661 6c73 6500 7065 7469 rite?=false.peti
00001050: 7462 6f6f 742c 7469 6d65 6f75 743d 3330 tboot,timeout=30
00001060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00001070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00001080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
AFAIK powerpc-utils (ie. the nvram utility) isn't ECC-aware, so perhaps it is easier to remove the ECC marker for the NVRAM partition.
In the P9 layouts like the defaultPnorLayout_64.xml, the read-only flag is not being used to makr the read-only partitions. The read-only flag is needed by the BMC mailbox code to know if the partition should be written to.
The layout files already use the preserved flag to mark some partitions like NVRAM, so read-only would just be a different value from the same flag category. Reference: https://github.com/open-power/hostboot/blob/master/src/usr/pnor/common/ffs_hb.H
My attempt to compile blackbird image with buildroot 2023.02 failed with following error:
ERROR: PnorUtils::checkSpaceConstraints: Image provided (/home/tle/Work/op-build/output/host/powerpc64le-buildroot-linux-gnu/sysroot/openpower_pnor_scratch//zImage.epapr) has size (39321600) which is greater than allocated space (19660800) for section=BOOTKERNEL. Aborting! at /home/tle/Work/op-build/output/host/powerpc64le-buildroot-linux-gnu/sysroot/hostboot_build_images/PnorUtils.pm line 462.
see log for more details
and
TRACE: Done checkSpaceConstraints
TRACE: createPnorPartition:: 0
TRACE: createPnorImg:: 0
TRACE: createPnorPartition:: 67072000
TRACE: createPnorImg:: 67072000
TRACE: fpart --target /home/tle/Work/op-build/output/host/powerpc64le-buildroot-linux-gnu/sysroot/pnor/blackbird.pnor --partition-offset 67072000 --add --offset 0 --size 32768 --name BACKUP_PART --flags 0x0
TRACE: fpart --target /home/tle/Work/op-build/output/host/powerpc64le-buildroot-linux-gnu/sysroot/pnor/blackbird.pnor --partition-offset 67072000 --user 1 --name BACKUP_PART --value 6291456 --force
TRACE: fpart --target /home/tle/Work/op-build/output/host/powerpc64le-buildroot-linux-gnu/sysroot/pnor/blackbird.pnor --partition-offset 0 --add --offset 67072000 --size 32768 --name BACKUP_PART --flags 0x0
TRACE: fpart --target /home/tle/Work/op-build/output/host/powerpc64le-buildroot-linux-gnu/sysroot/pnor/blackbird.pnor --partition-offset 0 --user 1 --name BACKUP_PART --value 6291456 --force
TRACE: fillPnorImage:: 67072000
fcp: errno : libffs.c(1165) : (code=27) __ffs_entry_truncate => File too large (errno=27)
fcp: errno : cmd_write.c(123) : (code=27) __write => File too large (errno=27)
So it's seems to me the physical size needs to get adjusted
If you run 'echo -en VERSION' in dash you get '-en VERSION'. We need to find a workaround for Ubuntu builders.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.