Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add raspberry pi as a platform #399

Closed
shenki opened this issue Jun 21, 2016 · 12 comments
Closed

Add raspberry pi as a platform #399

shenki opened this issue Jun 21, 2016 · 12 comments
Assignees
Labels

Comments

@shenki
Copy link
Member

shenki commented Jun 21, 2016

Enable the raspberry pi as a simple, cheap, easy to obtain development platform for OpenBMC.

We should use the meta-raspberrypi layer to obtain the board support bits.

https://lists.ozlabs.org/pipermail/openbmc/2016-June/003731.html

Related to #384.

@williamspatrick
Copy link
Member

Assign to @adamliyi

@adamliyi
Copy link
Member

Submitted a initial patch for review and test: https://lists.ozlabs.org/pipermail/openbmc/2016-July/004266.html
With this patch, the obmc-phosphor-image can be built for raspberrypi. Since I don't have access to Raspberrypi HW, I did not submit a formal patch including the meta-raspberrypi layer to openbmc Gerrit repo.

I can submit a formal patch once it is tested on HW.

@williamspatrick
Copy link
Member

Imported the layer into our repo:

remote: https://gerrit.openbmc-project.xyz/225 Squashed 'import-layers/meta-raspberrypi/' content from commit 2745399

The significant part of work for this story isn't to just import the layer, but to make a raspberry-pi target for obmc-meta-phosphor.

@williamspatrick
Copy link
Member

@adamliyi - Can you rework your patch to utilize the import-layers/meta-raspberrypi layer I pulled in? Then please push to Gerrit.

@kachini
Copy link

kachini commented Sep 13, 2016

folks, what is the status of this issue? i've got raspberry pi HW and can test if needed.

@adamliyi
Copy link
Member

@kachini , I just committed a patch to Gerrit for review:
https://gerrit.openbmc-project.xyz/#/c/508/

I have no HW so not tested. With this patch, I can build obmc images:

deploy/images/raspberrypi$ ls -l image-*
lrwxrwxrwx 1 adam adam 32 Sep 14 12:06 image-bmc -> flash-raspberrypi-20160914023347
lrwxrwxrwx 1 adam adam 57 Sep 14 12:06 image-initramfs -> core-image-minimal-initramfs-raspberrypi.cpio.lzma.u-boot
lrwxrwxrwx 1 adam adam  7 Sep 14 12:06 image-kernel -> cuImage
lrwxrwxrwx 1 adam adam 43 Sep 14 12:06 image-rofs -> obmc-phosphor-image-raspberrypi.squashfs-xz
lrwxrwxrwx 1 adam adam 10 Sep 14 12:06 image-rwfs -> rwfs.jffs2
lrwxrwxrwx 1 adam adam 10 Sep 14 12:06 image-u-boot -> u-boot.bin

Steps to build:

1. Put the configure files in import-layers/meta-raspberrypi/conf/
2. rm -fr build/conf
3. export TEMPLATECONF=import-layers/meta-raspberrypi/conf
4. . oe-init-build-env
5. bitbake obmc-phosphor-image

But I am thinking the image-* file is targeted for booting from NOR flash. If we are to boot from a SD card in Raspberrypi, we may need to change the image generation variables. Suggestions is welcome.

@Arjun-Padmanabhan
Copy link

Arjun-Padmanabhan commented Sep 20, 2016

HI,

I executed bitbake with your changes.
Followed below mentioned steps:

  1. Put the configure files in import-layers/meta-raspberrypi/conf/
  2. rm -fr build/conf
  3. export TEMPLATECONF=import-layers/meta-raspberrypi/conf
  4. . oe-init-build-env
  5. bitbake obmc-phosphor-image

Bitbake completed without issue #587.

Attaching local.conf as well as files found in images directory.
local.zip

files.txt

@adamliyi - Can you let me know which file i need to flash to sd card for booting obtained image from raspberrypi?

@williamspatrick
Copy link
Member

@Arjun-Padmanabhan - I don't think @adamliyi actually has a RP3 to try out. He was working on the commits to make an image build. In theory the 'obmc-phosphor-image-raspberrypi3.rpi-sdimg' is what you would place on an SD card, but we have not attempted it yet to know if we set the config files up correctly for that. @shenki was planning on trying it out as he had free time. It is really a "spare time" activity for us right now and not a primary use case.

@Arjun-Padmanabhan
Copy link

Hi,

I copied obmc-phosphor-image-raspberrypi3.rpi-sdimg and tried booting from sd card in RP3.
RP3 is not booting up with the image in sd card

@mungayree
Copy link

is it possible to provide some build steps to get latest yocto release + rpi ? I would like to try this over rpi for some bmc solution.

@amboar
Copy link
Member

amboar commented Apr 24, 2018

@mungayree have you tried the steps provided by @Arjun-Padmanabhan in #399 (comment) (this is a genuine question, I haven't and I don't know if they work, but it's worth a shot)?

@mine260309
Copy link
Contributor

The "unknown" (and interesting) part is that RPi boots from a FAT partition by its GPU, but OpenBMC assumes u-boot, kernel and rofs partitions.

To make RPi work, I think we need to make a image that contains:

  1. A FAT partition containing RPi's kernels and device tree blobs;
  2. The root fs partition containing OpenBMC's rofs

bradbishop pushed a commit to openbmc/meta-evb that referenced this issue Aug 23, 2018
Add configure files to build OpenBMC for Raspberrypi.

Resolves openbmc/openbmc#399

Change-Id: Ibc9ca0357b672c2af8436dc310bc1f10f7773c55
Signed-off-by: Yi Li <adamliyi@msn.com>
stefanberger pushed a commit to stefanberger/openbmc that referenced this issue Aug 1, 2023
eCMD: srcrev bump 15e382180d..836ac35291

sangram alapati (13):
  changed the ecid output format for p10
  updated the help text for stopclocks
  use last 2 chars to check the wafer type
  change the # of bits we check
  fix for using large dump files on aix
  code cleanup
  removing slibclean as it can't be executed on aix
  small change to handle large files in AIX
  removed slibclean call
  changes to p10 help text
  added cachecore
  removed p8s1
  fixed the right target to loop upon while grabbing the data

Ed Tanous (1):
  Fix format security in eCMD

Matt Light (2):
  Merge pull request openbmc#376 from mklight/spwkup_cipinstruct_fix
  Merge pull request openbmc#377 from mklight/spwkup_cipinstruct_fix_e15

Steven B. Janssen (2):
  update i2c instruction to allow the caller to specify a force of a slave address
  additional paths for an increase in devices

Joachim Fenkes (2):
  pyecmd: Data buffer improvements
  pyecmd: Check keyword arguments in Target constructor

asangram (5):
  Merge pull request openbmc#389 from asangram/helpText
  Merge pull request openbmc#388 from asangram/updateHtxt
  Merge pull request openbmc#410 from asangram/largeAixFiles
  Merge pull request openbmc#419 from asangram/stopclocksHelp
  Merge pull request openbmc#420 from asangram/clocksHelp

Jason Albert (13):
  Merge pull request openbmc#386 from thejta/spy-update
  Merge pull request openbmc#387 from thejta/spy-performance-update
  Merge pull request openbmc#390 from thejta/spy-image-support
  Big update to ecmdDllSpy.C
  Fixed in memory spy db performance
  Added getSpyImages support
  fix deepcopy on templated structs (openbmc#440)
  fix deepcopy on templated structs (openbmc#441)
  Fixed a compile issue on aix by defining dummy variable
  aix compile fail fix in spy code
  2 updates to the ecmdsetup process
  Removed singleInstall instance from shared lib path
  Fixed an ecmdquery chips print bug (openbmc#467)

Kahn Evans (140):
  Merge pull request openbmc#378 from kahnevan/latch_array_hash_fix
  Fix for finding latch array entries in hash file in full lookup mode
  Merge pull request openbmc#380 from kahnevan/latch_array_hash_fix_e15
  Merge pull request openbmc#383 from fenkes-ibm/pyecmd_databuffer15
  Merge pull request openbmc#382 from fenkes-ibm/pyecmd_databuffer
  Fixes for latch caching...it wasn't working right before
  Merge pull request openbmc#384 from kahnevan/latch_cache_fixes
  Merge pull request openbmc#385 from kahnevan/latch_cache_fixes_e15
  Update to valid owners/contacts
  Merge pull request openbmc#391 from kahnevan/owner_update
  Merge pull request openbmc#392 from kahnevan/owner_update_e15
  Increase fapi2 trace buffer sizes to avoid compiler errors
  Merge pull request openbmc#394 from kahnevan/fapi2_trace_buffer_increases
  Merge pull request openbmc#381 from asangram/formatEcid
  Merge pull request openbmc#395 from asangram/ecidFormat
  Merge pull request openbmc#396 from kahnevan/spr_target_fix
  Fix spr access when p0 is deconfigured
  Merge pull request openbmc#397 from kahnevan/spr_target_fix_e15
  Merge pull request openbmc#398 from kahnevan/fapi2_update
  Update from ekb
  Merge pull request openbmc#399 from kahnevan/fapi2_update_e15
  Add ECMD_INACTIVE_THREAD return code, and check for it in command line code
  Merge pull request openbmc#402 from kahnevan/inactive_threads_e15
  Merge pull request openbmc#401 from kahnevan/inactive_threads
  Update to resolve warnings
  Merge pull request openbmc#403 from kahnevan/fapi2_variable_buffer_utils_update
  Merge pull request openbmc#404 from kahnevan/fapi2_variable_buffer_utils_update_e15
  Merge pull request openbmc#406 from asangram/aixLargeDumpsFix
  Merge pull request openbmc#407 from asangram/slibclean
  Add multicast checkrings modes
  Merge pull request openbmc#408 from kahnevan/mcast_checkrings
  Merge pull request openbmc#409 from kahnevan/mcast_checkrings_e15
  Update eCMD version to 14.21
  Merge pull request openbmc#413 from kahnevan/version_update
  Merge pull request openbmc#412 from janssens2/i2cflagsaddition_ecmd15
  Merge pull request openbmc#414 from janssens2/i2cdefaultmod
  Merge pull request openbmc#416 from janssens2/i2ccmdfix
  Merge pull request openbmc#415 from janssens2/i2cflagdef_ecmd15
  Merge pull request openbmc#417 from janssens2/i2ccmdfix_ecmd15
  Fix potential seg fault when calling ecmdUnloadDll multiple time in a row
  Merge pull request openbmc#418 from kahnevan/e15_segfault_fix
  Add additional chipunits in chiplet check logic
  Merge pull request openbmc#422 from kahnevan/z_chiplet_fix_e15
  Merge pull request openbmc#421 from kahnevan/z_chiplet_fix
  Merge pull request openbmc#423 from kahnevan/iohs_sublink
  Add new target relationship
  Merge pull request openbmc#424 from kahnevan/iohs_sublink_e15
  Update fsi locations for new bmc code
  Merge pull request openbmc#425 from kahnevan/serverport_1
  Update spidev path locations for bmc
  Merge pull request openbmc#426 from kahnevan/serverport_2
  server enablement for xdma access
  Merge pull request openbmc#427 from kahnevan/serverport_3
  Remove unnecessary includes
  Merge pull request openbmc#428 from kahnevan/serverport_4
  update RUN_CMD to use pipe,fork,dup2,execl,select,read instead of popen.  This allows the server to better handle the STDERR output that can cause issues when running commands remotely
  Merge pull request openbmc#429 from kahnevan/serverport_5
  Update default constructors to initialize all elements of the class.  Resolves issue where some elements are eval'd later with bad data in them.
  Merge pull request openbmc#430 from kahnevan/serverport_6
  resolve compiler warning Wstringop-truncation by copying n-1 string size
  Merge pull request openbmc#431 from kahnevan/serverport_7
  Fixes to compile example dllNetwork for ecmd15
  Merge pull request openbmc#432 from kahnevan/dllNetwork_compile_e15
  Merge pull request openbmc#433 from edtanous/format-security
  Fix format security in eCMD
  Merge pull request openbmc#434 from kahnevan/format-security-e15
  Merge pull request openbmc#435 from kahnevan/updates_from_ekb
  Minor updates from ekb
  Merge pull request openbmc#436 from kahnevan/updates_from_ekb_e15
  Merge pull request openbmc#439 from janssens2/ecmd15_serverup
  Merge pull request openbmc#442 from asangram/getGprTargetFix
  Merge pull request openbmc#443 from asangram/getGprFix
  Merge pull request openbmc#444 from janssens2/cmdupd
  Merge pull request openbmc#445 from janssens2/cmdupd_ecmd15
  Fix ETRAC macro to add a new line to the end of the msg
  Merge pull request openbmc#446 from kahnevan/etrac_newline
  Merge pull request openbmc#447 from thejta/fix-spy-aix-compile
  Merge pull request openbmc#448 from thejta/another-aix-compile-fix
  Merge pull request openbmc#449 from thejta/ecmd15
  Merge pull request openbmc#455 from janssens2/ecmd15_puti2cflagsissue
  Merge pull request openbmc#454 from janssens2/puti2cflagsissue
  Merge pull request openbmc#453 from janssens2/ecmd15_compileissues
  Merge pull request openbmc#457 from janssens2/fapi2upd
  Merge pull request openbmc#456 from janssens2/ecmd15_fapi2upd
  Merge pull request openbmc#458 from thejta/ecmd15-ecmdsetup
  Merging ecmd15 branch into master.  Only a few minor changes needed that were missed in existing ecmd15 branch
  Merge pull request openbmc#459 from open-power/ecmd15
  Minor updates from cronus repo
  Merge pull request openbmc#460 from kahnevan/cronus_sync
  Remove fapiClientCapi.C reference from perl/python makefiles since it doesn't exist anymore
  Merge pull request openbmc#461 from kahnevan/fapi_remove
  Honor the -quiet flag for reconfig/deconfig and don't print the output when specified
  Merge pull request openbmc#462 from kahnevan/config_quiet
  fapi2 support for TARGET_TYPE_MDS_CTLR
  Merge pull request openbmc#463 from kahnevan/mds_target_type
  fapi2 error_info updates from ekb
  Merge pull request openbmc#464 from kahnevan/fapi2_updates
  update from ekb that adds null check to error info structure accesses
  Merge pull request openbmc#465 from kahnevan/error_info_null_check
  Add new ecmdDataBuffer method to reverse all the bytes within the buffer (openbmc#468)
  fapi2 updates
  Merge pull request openbmc#470 from kahnevan/fapi2_updates
  Add ecmdSetConfigurationComplexHidden() API and mode defines to allow for add/remove of individual flag values
  Merge pull request openbmc#471 from kahnevan/setconfig_mode_api
  Update eCMD version to 15.1
  Merge pull request openbmc#473 from kahnevan/ecmd_version_update
  Add TARGET_TYPE_ANY_POZ_CHIP
  Merge pull request openbmc#6 from kahnevan/poz_chip
  Add ocmb/perv valid relationship
  Merge pull request openbmc#8 from kahnevan/update_plat_rule
  Merge pull request openbmc#12 from mateo-encarnacion/setconfig_add_remove_ecmd15
  additional target states
  Merge pull request openbmc#16 from kahnevan/target_states_update_e15
  Fix conifg.py prompting incorrect options for Python inlcude path
  Merge pull request openbmc#20 from kahnevan/fix_python_inc_msg_e15
  Expand valid multicast chip types
  Merge pull request openbmc#22 from kahnevan/target_type_update_e15
  Merge pull request openbmc#24 from mateo-encarnacion/fapi2setattr_ecmd15
  Merge pull request openbmc#26 from mateo-encarnacion/fapi2MiscUser_delete_attr_arr_ecmd15
  Add optional -const flag in fapi2setattr to make attribute being set CONST
  Merge pull request openbmc#28 from kahnevan/fapi2setattr_const_e15
  Move version to 15.2
  Merge pull request openbmc#29 from kahnevan/version_update
  Fix 64bit build errors - from opensource ecmd repo
  Error info updates from ekb
  Merge pull request openbmc#34 from kahnevan/err_info_update
  Merge pull request openbmc#33 from kahnevan/64bit_build_fix_e15
  Copy ecmdPyApiTypes.H to python directory, not perl
  Merge pull request openbmc#39 from kahnevan/pyapi_doxy_fix_e15
  Add links to other perl/python documentation from main html page
  Merge pull request openbmc#40 from kahnevan/add_links_e15
  Add new fapi2 composite ring image APIs
  Merge pull request openbmc#43 from kahnevan/fapi2_ring_apis_e15
  Add support for new ocmb device target types
  Merge pull request openbmc#44 from kahnevan/new_ocmb_sub_types_e15
  Update version to eCMD 15.3
  Merge pull request openbmc#47 from kahnevan/version_update_e15
  Merge pull request openbmc#50 from janssens/fapi2upd15
  Improve output of ecmdquery related to not require prior knowledge of relationships.
  Merge pull request openbmc#53 from kahnevan/query_related_improvements_e15

Mateo Encarnacion (3):
  added changes for setconfig add/remove feature from cronus code
  adding the new fapi2setattr cmd, as well as the new fapi2AttrEnumStrToEnumVal API
  updating the deleting logic for arrays in fapi2MiscUser

Steven Janssen (35):
  Merge pull request openbmc#353 from janssens2/ecmd14_20
  Update fsi locations for new bmc code
  Update spidev path locations for bmc
  server enablement for xdma access
  update .gitignore
  Remove unnecessary includes
  Merge pull request openbmc#400 from janssens2/serverupdatedmafsi
  update RUN_CMD to use pipe,fork,dup2,execl,select,read instead of popen.  This allows the server to better handle the STDERR output that can cause issues when running commands remotely
  Update default constructors to initialize all elements of the class
  resolve compiler warning Wstringop-truncation by copying n-1 string size
  Add ability to specify the i2c flags that can be sent to the device driver or plugin.
  Merge pull request openbmc#411 from janssens2/i2cflagsaddition
  Merge pull request openbmc#405 from janssens2/runcmdfix
  update api to have a default value of 0
  update i2c flags value to default to 0
  resolve issue with no param for i2cFlags
  Merge pull request openbmc#438 from janssens2/fsienable
  Merge pull request openbmc#437 from janssens2/i2cupdate
  update dump command to allow for hex dump instead of defaulting to enums
  Merge pull request openbmc#450 from janssens2/cfamissue
  Merge pull request openbmc#452 from janssens2/compilerissues
  Resolve issue where a reset of the FSI2PIB is necessary but didn't work properly.
  resolve compiler issue by handling what handle really is here
  remove requirement for aspeed-xdma.h file for builds
  resolve order of command line param processing to allow flags to work
  update fapi2 enum
  Update message logging to only be done when debug enabled
  Merge pull request openbmc#472 from janssens2/serverlog
  Resolve issue where the unflatten resulted in a failure.
  Merge pull request openbmc#31 from janssens/brkpt_ecmd15
  Update VPDInfo class members
  Merge pull request openbmc#36 from janssens/fapi2vpd15
  Update VPDInfo to maintain backwards compat by not shifting data.
  Resolve compile time errors from openBMC project
  Merge pull request openbmc#55 from janssens/bmcfix_15

Change-Id: I907117a3c3a717a058daa56442c5865bee896786

eCMD: srcrev bump 836ac35291..16add4aa4d

Mateo Encarnacion (1):
  adding server changes to support xdma commands

Steven B. Janssen (1):
  Resolve multiple compile warnings and errors when using newer gcc and c++ standards

Steven Janssen (3):
  Merge pull request openbmc#56 from mateo-encarnacion/xdma_server_changes
  remove register keyword in prep for gcc 11.  Register keyword was deprecated for gcc 8 and gone in gcc 11
  Merge pull request openbmc#58 from janssens/gcc_fixes

Change-Id: I2a1fe7cab88d05885a2ec41873fb31f96d4d0c2f
stefanberger pushed a commit to stefanberger/openbmc that referenced this issue Aug 1, 2023
Pavithra B (1):
  Fix a bug in libpldmresponder (openbmc#399)

Change-Id: I4d4f0cdb1eefcc038809bed828ac70305abcd6fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants