Re: PinePhone Sculpt Build Problems - Almost There

2023-03-16 Thread Norman Feske

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

2023-03-15 Thread John J. Karcher

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

2023-03-13 Thread Norman Feske

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

2023-03-10 Thread John J. Karcher

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