mirror of
https://github.com/thead-yocto-mirror/meta-riscv
synced 2026-06-21 08:52:24 +02:00
When building in a non CI env this all is not needed as the user might accidentally end up losing all the build artifacts that are not intendeed to. On CI systems its better to delete it via extra step outside setup Signed-off-by: Khem Raj <raj.khem@gmail.com>
93 lines
2.8 KiB
Bash
93 lines
2.8 KiB
Bash
#!/bin/bash
|
|
# Bootstrapper for buildbot slave
|
|
|
|
DIR="build"
|
|
MACHINE="qemuriscv64"
|
|
CONFFILE="conf/auto.conf"
|
|
BITBAKEIMAGE="core-image-full-cmdline"
|
|
|
|
# make sure sstate is there
|
|
#echo "Creating sstate directory"
|
|
#mkdir -p ~/sstate/$MACHINE
|
|
|
|
# fix permissions set by buildbot
|
|
#echo "Fixing permissions for buildbot"
|
|
#umask -S u=rwx,g=rx,o=rx
|
|
#chmod -R 755 .
|
|
|
|
# Reconfigure dash on debian-like systems
|
|
which aptitude > /dev/null 2>&1
|
|
ret=$?
|
|
if [ "$(readlink /bin/sh)" = "dash" -a "$ret" = "0" ]; then
|
|
sudo aptitude install expect -y
|
|
expect -c 'spawn sudo dpkg-reconfigure -freadline dash; send "n\n"; interact;'
|
|
elif [ "${0##*/}" = "dash" ]; then
|
|
echo "dash as default shell is not supported"
|
|
return
|
|
fi
|
|
# bootstrap OE
|
|
echo "Init OE"
|
|
export BASH_SOURCE="openembedded-core/oe-init-build-env"
|
|
. ./openembedded-core/oe-init-build-env $DIR
|
|
|
|
# Symlink the cache
|
|
#echo "Setup symlink for sstate"
|
|
#ln -s ~/sstate/${MACHINE} sstate-cache
|
|
|
|
# add the missing layers
|
|
echo "Adding layers"
|
|
bitbake-layers add-layer ../meta-openembedded/meta-oe
|
|
bitbake-layers add-layer ../meta-openembedded/meta-python
|
|
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
|
|
bitbake-layers add-layer ../meta-openembedded/meta-networking
|
|
bitbake-layers add-layer ../meta-riscv
|
|
|
|
# fix the configuration
|
|
echo "Creating auto.conf"
|
|
|
|
if [ -e $CONFFILE ]; then
|
|
rm -rf $CONFFILE
|
|
fi
|
|
cat <<EOF > $CONFFILE
|
|
MACHINE ?= "${MACHINE}"
|
|
#IMAGE_FEATURES += "tools-debug"
|
|
#IMAGE_FEATURES += "tools-tweaks"
|
|
#IMAGE_FEATURES += "dbg-pkgs"
|
|
# rootfs for debugging
|
|
#IMAGE_GEN_DEBUGFS = "1"
|
|
#IMAGE_FSTYPES_DEBUGFS = "tar.gz"
|
|
EXTRA_IMAGE_FEATURES_append = " ssh-server-dropbear"
|
|
EXTRA_IMAGE_FEATURES_append = " package-management"
|
|
PACKAGECONFIG_append_pn-qemu-native = " sdl"
|
|
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
|
|
USER_CLASSES ?= "buildstats buildhistory buildstats-summary image-mklibs image-prelink"
|
|
|
|
require conf/distro/include/no-static-libs.inc
|
|
require conf/distro/include/yocto-uninative.inc
|
|
require conf/distro/include/security_flags.inc
|
|
|
|
INHERIT += "uninative"
|
|
|
|
DISTRO_FEATURES_append = " largefile opengl ptest multiarch wayland pam systemd "
|
|
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
|
|
VIRTUAL-RUNTIME_init_manager = "systemd"
|
|
HOSTTOOLS_NONFATAL_append = " ssh"
|
|
EOF
|
|
|
|
echo "To build an image run"
|
|
echo "---------------------------------------------------"
|
|
echo "MACHINE=qemuriscv64 bitbake core-image-full-cmdline"
|
|
echo "---------------------------------------------------"
|
|
echo ""
|
|
echo "Buildable machine info"
|
|
echo "---------------------------------------------------"
|
|
echo "* qemuriscv64: The 64-bit RISC-V machine"
|
|
echo "* qemuriscv32: The 32-bit RISC-V machine"
|
|
echo "* freedom-u540: The SiFive HiFive Unleased board"
|
|
echo "---------------------------------------------------"
|
|
|
|
# start build
|
|
#echo "Starting build"
|
|
#bitbake $BITBAKEIMAGE
|
|
|