Re: PinePhone Sculpt Build Problems - Almost There
Hi John, note that the instructions at [1] refer to my 'pinephone' topic branches. I suspect that you are trying to build the PinePhone version of Sculpt using the release tag or master? [1] http://genodians.org/nfeske/2023-02-01-mobile-sculpt#Building_the_image_from_source created genodelabs/pkg/sculpt/2023-03-14 make[1]: Leaving directory '/home/mainuser/Devel/genode_main/genode/build/arm_v8a' Error: sculpt/launcher/report_dump not present in any repository make: *** [Makefile:431: run/sculpt_image] Error 248 I've done some rudimentary poking around to see it I could either remove "report_dump" from the Sculpt configuration or add it, but I don't know enough to accomplish either yet. Could someone give me a quick pointer to how this is configured? Also, any thoughts on why "report_dump" would be "not present"? This launcher got added with the following commit that still resides on the 'pinephone' topic branch and was not merged to master yet. https://github.com/nfeske/genode/commit/2c02c26f48c36c3ffe594d0ff4728f6ab563bb45 Please also note the other commit on the topic branches (at nfeske/genode and nfeske/genode-allwinner). As a heads-up, the 'pinephone' branch is volatile because it is my active working branch. If you want to use stable branches instead of living on the edge, you may find the 'pinephone_fosdem_2023' [2,3] branches more appropriate. [2] https://github.com/nfeske/genode-allwinner/commits/pinephone_fosdem_2023 [3] https://github.com/nfeske/genode/commits/pinephone_fosdem_2023 And while on the topic, the "SCULPT=phone" item of the make command is intriguing - if one wants to create a customized Sculpt variant, how does one go about that? The BOARD and SCULPT arguments are used to form the path to a sculpt system description file like this: -.sculpt The sculpt.run script looks up this file in the sculpt/ sub directories of all repositories. In the case of BOARD=pinephone SCULPT=phone, it finds the file [4] at: repos/allwinner/sculpt/phone-pinephone.sculpt [4] https://github.com/nfeske/genode-allwinner/blob/pinephone/sculpt/phone-pinephone.sculpt This file describes the ingredients of the Sculpt system. You can find more information about the various customization options documented at [5]. E.g. should you want to keep using the master branches, you may remove the 'report_dump' launcher in the .sculpt file as a quick fix. [5] https://genode.org/documentation/release-notes/22.02#Framework_for_special-purpose_Sculpt-based_operating_systems As one interesting tidbit, you can run the phone UI on your host Linux system using the 'phone-linux.sculpt' variant [6], which is picked when specifying BOARD=linux SCULPT=phone to the sculpt.run script. [6] https://github.com/nfeske/genode-allwinner/blob/pinephone_fosdem_2023/sculpt/phone-linux.sculpt You are indeed almost there. Good luck! Norman -- Dr.-Ing. Norman Feske Genode Labs https://www.genode-labs.com · https://genode.org Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth ___ Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
PinePhone Sculpt Build Problems - Almost There
Hello All, Thanks to Norman's quick response, my PinePhone Sculpt build has progressed a lot further! Now it is breaking on what seems like an easy problem: created genodelabs/pkg/sculpt/2023-03-14 make[1]: Leaving directory '/home/mainuser/Devel/genode_main/genode/build/arm_v8a' Error: sculpt/launcher/report_dump not present in any repository make: *** [Makefile:431: run/sculpt_image] Error 248 I've done some rudimentary poking around to see it I could either remove "report_dump" from the Sculpt configuration or add it, but I don't know enough to accomplish either yet. Could someone give me a quick pointer to how this is configured? Also, any thoughts on why "report_dump" would be "not present"? And while on the topic, the "SCULPT=phone" item of the make command is intriguing - if one wants to create a customized Sculpt variant, how does one go about that? Thanks and Happy Sculpting! -- John J. Karcher devu...@alternateapproach.com ___ Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Re: PinePhone Sculpt Build Problems
Hi John, thank you for reporting. The sculpt_image.run script is intended for the automation of image releases. It is useful only if your are planning make your custom built image publicly available for others. For mere experimenting and testing, the sculpt_test.run script is probably easier to use. /home/mainuser/Devel/genode_main/genode/repos/gems/run/sculpt_image.run can't read "arg": no such variable while executing "puts stderr "missing run-tool argument: $arg"" (procedure "assert_run_arg" line 4) invoked from within "assert_run_arg "--image-uboot-gzip-best"" (file "/home/mainuser/Devel/genode_main/genode/repos/gems/run/sculpt_image.run" line 34) ... This is too cryptic for me, as I am anything but a build system expert. That's a slip-up on my side. I just fixed it on staging [1]. [1] https://github.com/genodelabs/genode/commit/c376660a097b2194182175e91f6343d130f1cb3d The following steps may be unnecessary, but I was just trying things that seemed reasonable. Running "prepare_port pine_uboot" worked fine, but "make u-boot/pine BOARD=pinephone" says: checking library dependencies... Program u-boot/pine/pine_uboot /bin/sh: 0: Illegal option -o pipefail /bin/sh: 0: Illegal option -o pipefail /bin/sh: 0: Illegal option -o pipefail make[3]: *** [Makefile:556: /home/mainuser/Devel/genode_main/genode/build/arm_v8a/u-boot/pine/arm_trusted_firmware/sun50i_a64/debug] Error 2 make[2]: *** [/home/mainuser/Devel/genode_main/genode/repos/allwinner/src/u-boot/pine/target.mk:35: /home/mainuser/Devel/genode_main/genode/build/arm_v8a/u-boot/pine/arm_trusted_firmware/sun50i_a64/debug/bl31.bin] Error 2 make[1]: *** [var/libdeps:23: pine_uboot.prg] Error 2 make: *** [Makefile:336: gen_deps_and_build_targets] Error 2 I probably made a configuration mistake or forgot a step (or multiple). It seems like the shell (implicitly) used by the build system of the ARM trusted firmware (ATF), does not know the '-o pipefail' argument that Genode's build systems sets by default [2] for safety reasons. What puzzles me is that we explicitly "unexport" the '.SHELLFLAGS' in in the u-boot/pine/target.mk [3]. For some reason, the argument still ends up in the sub make for the ATF. As an immediate work-around, you might remove the '-o pinefail' from Genode's build.mk file. [2] https://github.com/genodelabs/genode/blob/master/tool/builddir/build.mk#L95 [3] https://github.com/genodelabs/genode-allwinner/blob/master/src/u-boot/pine/target.mk#L29 Cheers Norman -- Dr.-Ing. Norman Feske Genode Labs https://www.genode-labs.com · https://genode.org Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth ___ Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
PinePhone Sculpt Build Problems
Hello All, I am trying to build the PinePhone sculpt image from source, using the "First system image of mobile Sculpt OS" Genodians article and the various "README" files as guides. First, I made the recommended changes to "build.conf" (hopefully correctly). When running "make run/sculpt_image KERNEL=hw BOARD=pinephone SCULPT=phone DEPOT=omit", it eventually gives the following error: including /home/mainuser/Devel/genode_main/genode/tool/run/image/uboot including /home/mainuser/Devel/genode_main/genode/repos/allwinner/tool/run/image/pine_uboot_sdcard including /home/mainuser/Devel/genode_main/genode/tool/run/boot_dir/hw including /home/mainuser/Devel/genode_main/genode/repos/gems/run/sculpt_image.run can't read "arg": no such variable while executing "puts stderr "missing run-tool argument: $arg"" (procedure "assert_run_arg" line 4) invoked from within "assert_run_arg "--image-uboot-gzip-best"" (file "/home/mainuser/Devel/genode_main/genode/repos/gems/run/sculpt_image.run" line 34) ... This is too cryptic for me, as I am anything but a build system expert. The following steps may be unnecessary, but I was just trying things that seemed reasonable. Running "prepare_port pine_uboot" worked fine, but "make u-boot/pine BOARD=pinephone" says: checking library dependencies... Program u-boot/pine/pine_uboot /bin/sh: 0: Illegal option -o pipefail /bin/sh: 0: Illegal option -o pipefail /bin/sh: 0: Illegal option -o pipefail make[3]: *** [Makefile:556: /home/mainuser/Devel/genode_main/genode/build/arm_v8a/u-boot/pine/arm_trusted_firmware/sun50i_a64/debug] Error 2 make[2]: *** [/home/mainuser/Devel/genode_main/genode/repos/allwinner/src/u-boot/pine/target.mk:35: /home/mainuser/Devel/genode_main/genode/build/arm_v8a/u-boot/pine/arm_trusted_firmware/sun50i_a64/debug/bl31.bin] Error 2 make[1]: *** [var/libdeps:23: pine_uboot.prg] Error 2 make: *** [Makefile:336: gen_deps_and_build_targets] Error 2 I probably made a configuration mistake or forgot a step (or multiple). Building the regular PC version of Scuplt works fine. Does any of this sound familiar to anyone? Thanks! -- John J. Karcher devu...@alternateapproach.com ___ Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users