building on linux

Will Senn will.senn at gmail.com
Mon Dec 26 01:00:29 CET 2022


Hi Norman,

Merry Christmas :). I'm chilling and learning about Sculpt on this 
holiday, hope you're also enjoying the day. No rush on getting back to me!

These are great helps.

Two things:
1. I think you meant 11.5 "bullseye"? 10.5 is "buster". I downloaded 
11.6 as a base and will use that in a VM and once I get it working 
there, I'll move back to my T430, running Mint 21.1 Vera. Also, it took 
me a while to figure out the "cnuke's download_debian" note :). I'll 
start with running it in Virtualbox 6.1 on my Mac. I have enough 
learning to do without doing the VM stuff in Sculpt. I'll get there soon 
enough, but not today.

2. When attempting to run ./tool/depot/download 
genodelabs/pkg/x86_64/sculpt/2022-10-13, I get the following error. I 
just redo the command and it looks like it picks up where it left off, 
but I'm not sure it's actually ok. There are files in 
depot/genodelabs/src/vim-minimal... What say you?

------------
download genodelabs/src/vim-minimal/2022-08-30.tar.xz
download genodelabs/src/vim-minimal/2022-08-30.tar.xz.sig
xz: (stdin): Unexpected end of input
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
make[1]: *** [/home/wsenn/genode/tool/depot/mk/downloader:45: 
/home/wsenn/genode/depot/genodelabs/src/vim-minimal/2022-08-30] Error 2
------------

I'm continuing on, but thought I'd shoot this off in the meantime.

Thanks,

Will


On 12/25/22 4:50 AM, Norman Feske wrote:
> Hi Will,
>
>> 1. What distro (exactly) do y'all use - it says Ubuntu LTS in the 
>> docs - so Ubuntu 22.04.1 LTS is the current version - is that it? I 
>> have the luxury of picking whatever I like (thankfully, I'm a debian 
>> user, so Ubuntu/Mint/Debian are fine with me)
>
> I'm currently using Debian 10.5 (bullseye), downloaded via cnuke's 
> download_debian package.
>
>> 2. If I want to change out the wifi firmware and edit the config 
>> files, do I need to just tweak the files and build the bootable image 
>> or do I need to do the build Sculpt from source thing?
>
> Building the Sculpt image means building from source. However, you 
> don't need to compile everything from scratch. To fastest way would be 
> to first follow the steps "Building the boot image" based on the 
> binary packages published by Genode Labs [1], then only tweak the wifi 
> driver, and re-build the image (step 7). The following hints may 
> hopefully help you along the way:
>
> 1. Ensure that you have checked out Genode's 'sculpt-22.10' tag [2]
>    or a branch based on this tag. Personally, I keep my personal tweaks
>    of Sculpt on a dedicated branch [3]. This is important in order to
>    ensure that the source code you are using is consistent with the
>    official 'genodelabs' binary packages.
>
> 2. While working on the wifi driver, you can tell the build system to
>    build only this single component, not all of Sculpt. So you can
>    quickly catch compile-time errors.
>
>    build/x86_64$ make drivers/wifi
>
> 3. When finally rebuild Sculpt (step 7), tell the build system to
>    update the depot content (the binary packages Sculpt is made of)
>    as needed. You can do that by uncommenting the following line
>    in your build/x86_64/etc/build.conf
>
>    RUN_OPT += --depot-auto-update
>
>    Now, when issuing the 'make run/sculpt ...' command, you should
>    see the build system checking all the depot archives, and creating
>    a new version for the wifi-related things that you just touched.
>    After the build, check the git status and commit the changed
>    version hashes. So you can reproduce the exact same version later.
>
> 4. If you want to experiment with customizing Sculpt's components at
>    source-code level, you may find the additional documentation at [4]
>    useful. Personally, I love the 'build:' feature. When adding a line
>    like the following to repos/gems/sculpt/default-pc.sculpt, one can
>    prompt the build system to build this specific component and
>    integrate the result into the sculpt image. E.g.,:
>
>    build: server/nitpicker
>
>    In this example, the nitpicker GUI server gets built from source
>    and all other components are taken from the binary packages.
>
>    With the '--depot-auto-update' disabled, this creates the
>    customized image really quick (just a few seconds) and you don't
>    need to deal with updating depot archives at each iteration.
>
>    Maybe, this would work for your wifi tweaks as well, but I'm not
>    100% sure because the change may affect the list of firmware files.
>    Well, it's worth trying.
>
> [1] 
> https://genode.org/documentation/articles/sculpt-22-10#Building_the_boot_image
> [2] https://github.com/genodelabs/genode/releases/tag/sculpt-22.10
> [3] https://github.com/nfeske/genode/commits/sculpt_22_10
> [4] 
> https://genode.org/documentation/release-notes/22.02#Framework_for_special-purpose_Sculpt-based_operating_systems
>
> Happy hacking!
>
> Norman
>




More information about the users mailing list