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