OK. I'm trying to build
Sculpt. I'm a naive newb, so I appreciate your patience as I come
up to speed.
Below are the details of my exploration into this new world. I've
made progress through trial and error, but I've hit the following
show stopper (I can't riddle out how to get around it). I
definitely don't know the environment well enough yet:
make -C build/x86_64 run/sculpt KERNEL=nova
BOARD=pc
----------
Error: recipe for 'pkg/bsd_audio_drv' not found - unable to
guess version
make: *** [Makefile:431: run/sculpt] Error 1
make: Leaving directory '/home/wsenn/genode/build/x86_64'
----------
I've searched and seen something about audio and VM not being
supported, which is fine by me. I don't need audio in the VM,
I'm just trying to convince myself that I can build an ISO :).
Based on correspondence with Norman, I'm starting with Build a
Bootable Image.
My dev/test setup:
2012 Macbook Pro running Mojave 10.14.6, 16GB RAM, i7 core 2.6
ghz
Virtualbox 6.1.40 running Debian 11.6 "Bullseye" w/guest
additions enabled for sharing and clipboard with my Mac
Below is the process I followed, in detail (it did take me a bit
to find the recommended setup - expect et al, but when I did, I
just installed everything in that list). Feel free
to skip - it's long...
# Download 11.6 "bullseye" netinst
aria2c
https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-11.6.0-amd64-netinst.iso
Virtualbox 6.1.40 on my MacBook Pro
8GB RAM
2 CPUs
20GB HDD
~/shared
attach ISO
# do text mode install
* Debian desktop environment
* Cinnamon (relatively lightweight and works)
* standard system utilities
# add user to sudoers
su -
visudo
add NOPASSWD to sudo group line... NOPASSWD:ALL
# add user to sudo group
usermod -a -G sudo wsenn
logout and back in (actually required a restart)
# update apt package list
sudo apt update
# install vbox dependencies:
# dkms, linux-headers
# install basic apps for dev:
# git-gui and vim
# install build system dependencies:
# xref: Recommended development environment in
# Genode Foundations Getting Started
# qemu xorriso gdisk e2tools byacc autoconf autogen
# bison flex expect gperf libxml2-utils subversion xsltproc
sudo apt install dkms linux-headers-$(uname -r) \
git-gui vim \
qemu xorriso gdisk e2tools byacc autoconf \
autogen bison flex expect gperf libxml2-utils \
subversion xsltproc
# as regular user set vim as default editor
sudo update-alternatives --config editor # pick vim.basic
# turn off mouse nonsense in vim
vi ~/.vimrc
set mouse-=a
# configure guest additions
in vbox - Devices->Insert Guest Additions CD Image
# mount the cd
sudo mount /dev/cdrom /mnt
cd /mnt
sudo sh ./VBoxLinuxAdditions.run
mkdir ~/shared
sudo vi /etc/fstab
shared /home/wsenn/shared vboxsf defaults 0 0
sudo vi /etc/modules
vboxsf
sudo shutdown -r now
ls ~/shared
Enable shared clipboard - both directions
# install the toolchain in /usr/local/genode
cd ~/Downloads
wget -O genode-toolchain-21.05-x86_64.tar.xz
https://sourceforge.net/projects/genode/files/genode-toolchain/21.05/genode-toolchain-21.05-x86_64.tar.xz/download
sudo tar xvPf genode-toolchain-21.05-x86_64.tar.xz
# clone the source and switch to the 22.10 release branch
cd
git clone https://github.com/genodelabs/genode.git
cd genode
git checkout -b sculpt-22.10 sculpt-22.10
# get nova kernel files
./tool/depot/download genodelabs/bin/x86_64/base-nova/2022-10-11
# get other dependencies
./tool/depot/download genodelabs/pkg/x86_64/sculpt/2022-10-13
------------
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
------------
reran ./tool/depot/download
genodelabs/pkg/x86_64/sculpt/2022-10-13
./tool/depot/download
genodelabs/pkg/x86_64/drivers_managed-pc/2022-10-11
./tool/depot/download genodelabs/pkg/x86_64/wifi/2022-10-13
./tool/depot/download
genodelabs/bin/x86_64/ipxe_nic_drv/2022-10-11
./tool/create_builddir x86_64
vi build/x86_64/etc/build.conf
# enable parallel thread in make
MAKE += -j4
# enable ccache
CCACHE := yes
# enable depot updates
RUN_OPT += --depot-auto-update
# change iso to disk in QEMU_RUN_OPT
QEMU_RUN_OPT := --include power_on/qemu --include log/qemu
--include image/iso
# enable libports, ports, dde_linux, dde_rump, gems, pc, and
dde_ipxe repos
# prep grub
./tool/ports/prepare_port grub2
# try the build
make -C build/x86_64 run/sculpt KERNEL=nova BOARD=pc
----------
Error: Ports not prepared or outdated:
bash coreutils curl dde_ipxe dde_linux dde_rump e2fsprogs-lib
gnupg jitterentropy libarchive libc libgcrypt libnl libpng libssh
linux ncurses nova openssl stb vim wpa_supplicant x86emu xz zlib
You can prepare respectively update them as follows:
/home/wsenn/genode/tool/ports/prepare_port bash coreutils curl
dde_ipxe dde_linux dde_rump e2fsprogs-lib gnupg jitterentropy
libarchive libc libgcrypt libnl libpng libssh linux ncurses nova
openssl stb vim wpa_supplicant x86emu xz zlib
----------
./tool/ports/prepare_port bash coreutils curl dde_ipxe dde_linux
dde_rump e2fsprogs-lib gnupg jitterentropy libarchive libc
libgcrypt libnl libpng libssh linux ncurses nova openssl stb vim
wpa_supplicant x86emu xz zlib
# retry the build
make -C build/x86_64 run/sculpt KERNEL=nova BOARD=pc
----------
Error: Ports not prepared or outdated:
linux-firmware ttf-bitstream-vera
You can prepare respectively update them as follows:
/home/wsenn/genode/tool/ports/prepare_port linux-firmware
ttf-bitstream-vera
----------
./tool/ports/prepare_port linux-firmware ttf-bitstream-vera
# retry the build
make -C build/x86_64 run/sculpt KERNEL=nova BOARD=pc
----------
/usr/bin/bash: /home/wsenn/genode/repos/base/../../tool/check_abi:
/usr/bin/tclsh: bad interpreter: No such file or directory
----------
sudo ln -s /usr/bin/tclsh8.6 /usr/bin/tclsh
# retry the build
make -C build/x86_64 run/sculpt KERNEL=nova BOARD=pc
----------
Error: recipe for 'pkg/bsd_audio_drv' not found - unable to guess
version
make: *** [Makefile:431: run/sculpt] Error 1
make: Leaving directory '/home/wsenn/genode/build/x86_64'
----------
Dunno what to do about that.