{"id":4520,"date":"2019-12-14T09:54:55","date_gmt":"2019-12-14T17:54:55","guid":{"rendered":"https:\/\/www.flamingspork.com\/blog\/?p=4520"},"modified":"2019-12-14T09:54:55","modified_gmt":"2019-12-14T17:54:55","slug":"building-openpower-firmware-on-fedora-31","status":"publish","type":"post","link":"https:\/\/www.flamingspork.com\/blog\/2019\/12\/14\/building-openpower-firmware-on-fedora-31\/","title":{"rendered":"Building OpenPOWER firmware on Fedora 31"},"content":{"rendered":"\n<p>One of the challenges with Fedora 31 is that \/usr\/bin\/python is now Python 3 rather than Python 2. Just about every python script in existence relies on \/usr\/bin\/python being Python 2 and not anything else. I can&#8217;t <strong>really<\/strong> recall, but this probably happened with the 1.5 to 2 transition as well (although IIRC that was less breaking).<\/p>\n\n\n\n<p>What this means is that for projects that are half-way through converting to python 3, everything breaks.<\/p>\n\n\n\n<p>op-build is one of these projects.<\/p>\n\n\n\n<p>So, we need:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/open-power\/op-build\/pull\/3338\">A minor update to the README.md of op-build<\/a> about build dependencies (at least for Fedora not-Workstation, like I have installed on my Blackbird).<\/li><li><a href=\"https:\/\/github.com\/open-power\/sbe\/pull\/17\">Force various scripts in the SBE firmware to be run as Python 2<\/a> (some are already Python 3).<ul><li>I&#8217;m a little concerned about this one, a <a href=\"https:\/\/github.com\/open-power\/sbe\/pull\/16\">previous patch to support Python 3<\/a> has just languished without comment. Also has <a href=\"https:\/\/github.com\/open-power\/sbe\/pull\/15\">code from Raptor to improve status reporting<\/a>.<\/li><li>It appears the SBE is open sourced, but developers aren&#8217;t taking notice of activity outside of IBM.<\/li><\/ul><\/li><li>We also needed to patch the OpenPOWER pnor project, the set of scripts that assembles a PNOR image, so it&#8217;d <a href=\"https:\/\/github.com\/open-power\/pnor\/pull\/131\">let some of the SBE code decide what interpreter it wants<\/a>.<\/li><li>Finally, we needed <a href=\"https:\/\/github.com\/open-power\/op-build\/pull\/3339\">a change to op-build itself<\/a>. I included the SBE and pnor patch in that PR to actually prove the whole thing still works together as neither the SBE nor pnor projects have any CI tests.<\/li><\/ul>\n\n\n\n<p>After all that, you can actually build a pnor image on Fedora 31. Even on Fedora 31 ppc64le, which is literally what I&#8217;ve just done.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the challenges with Fedora 31 is that \/usr\/bin\/python is now Python 3 rather than Python 2. Just about every python script in existence relies on \/usr\/bin\/python being Python 2 and not anything else. I can&#8217;t really recall, but &hellip; <a href=\"https:\/\/www.flamingspork.com\/blog\/2019\/12\/14\/building-openpower-firmware-on-fedora-31\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-4520","post","type-post","status-publish","format-standard","hentry","category-general"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5a6n8-1aU","jetpack-related-posts":[{"id":4526,"url":"https:\/\/www.flamingspork.com\/blog\/2019\/12\/15\/are-you-fans-of-the-blackbird-speak-up-i-cant-hear-you-over-the-fan\/","url_meta":{"origin":4520,"position":0},"title":"Are you Fans of the Blackbird? Speak up, I can&#8217;t hear you over the fan.","author":"Stewart Smith","date":"2019-12-15","format":false,"excerpt":"So, as of yesterday, I started running a pretty-close-to-upstream op-build host firmware stack on my Blackbird. Notable yak-shaving has included: Update README.md for Fedora 31 build-deps because READMEs are importantSupport Python3 as default \/usr\/bin\/python (so I could compile it at all on Fedora 31)RaptorCS Blackbird support the actual minimal firmware\u2026","rel":"","context":"In &quot;cool gadgets&quot;","block_context":{"text":"cool gadgets","link":"https:\/\/www.flamingspork.com\/blog\/category\/cool-gadgets\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3790,"url":"https:\/\/www.flamingspork.com\/blog\/2014\/09\/15\/is-python-the-new-basic\/","url_meta":{"origin":4520,"position":1},"title":"Is Python the new BASIC","author":"Stewart Smith","date":"2014-09-15","format":false,"excerpt":"Today I managed to finally find a way to express what I've been thinking for a while: \"Python is the new BASIC\". Think about it: it's easy to get started in, there's books and tutorials on it everywhere, a bunch of real world software is actually written in it and\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3991,"url":"https:\/\/www.flamingspork.com\/blog\/2015\/08\/28\/running-opal-in-qemu-the-powernv-platform\/","url_meta":{"origin":4520,"position":2},"title":"Running OPAL in qemu &#8211; the powernv platform","author":"Stewart Smith","date":"2015-08-28","format":false,"excerpt":"Ben has a qemu tree up with some work-in-progress patches to qemu to support the PowerNV platform. This is the \"bare metal\" platform like you'd get on real POWER8 hardware running OPAL, and it allows us to use qemu like my previous post used the POWER8 Functional Simulator - to\u2026","rel":"","context":"In &quot;IBM&quot;","block_context":{"text":"IBM","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/ibm-work-et-al\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2456,"url":"https:\/\/www.flamingspork.com\/blog\/2012\/02\/05\/mythremote-a-mythtv-frontend-remote\/","url_meta":{"origin":4520,"position":3},"title":"MythRemote &#8211; a MythTV frontend remote","author":"Stewart Smith","date":"2012-02-05","format":false,"excerpt":"So, neither being someone who has remotely recently written any bit of software involving a desktop GUI and really not being much of a Python hacker, the obvious solution to being annoyed by having to reach for the remote for MythTV when hacking in front of the TV was to\u2026","rel":"","context":"In &quot;General&quot;","block_context":{"text":"General","link":"https:\/\/www.flamingspork.com\/blog\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3520,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/10\/21\/carbon-footprint-of-interpreted-languages\/","url_meta":{"origin":4520,"position":4},"title":"Carbon footprint of interpreted languages","author":"Stewart Smith","date":"2013-10-21","format":false,"excerpt":"Thought from a good discussion with at Fran\u00c3\u00a7ois at OSDC today, what is the carbon footprint of various languages? He mentioned that the carbon footprint of a new Haskell compiler release is remarkably non-trivial due to every Haskell package in Debian needing to be rebuilt. So, I thought, what's the\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":73,"url":"https:\/\/www.flamingspork.com\/blog\/2003\/03\/21\/marching-for-peace\/","url_meta":{"origin":4520,"position":5},"title":"marching for peace","author":"Stewart Smith","date":"2003-03-21","format":false,"excerpt":"I'm starting a war for peace - George Bush (originally Monty Python)","rel":"","context":"In &quot;life, the universe and everything&quot;","block_context":{"text":"life, the universe and everything","link":"https:\/\/www.flamingspork.com\/blog\/category\/life-the-universe-and-everything\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/4520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/comments?post=4520"}],"version-history":[{"count":1,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/4520\/revisions"}],"predecessor-version":[{"id":4521,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/4520\/revisions\/4521"}],"wp:attachment":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/media?parent=4520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/categories?post=4520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/tags?post=4520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}