Skip to content

Releases: badbat75/bbcrossbuild

bbcrossbuild 4.0.0

Choose a tag to compare

@badbat75 badbat75 released this 07 Oct 16:07

What changes since 3.1.0

  • Recipes are directories: package.env, real script files, files/, patches/ applied in name order, and variants/ (target, toolchain, arch, platform, version, option) instead of case blocks. Every package group, and projects/, is a git submodule of its own repository. Projects written for 3.x keep working; recipes in the old single-file .pkg format do not.
  • Toolchain: toolchain.functions only orchestrates. gcc, binutils, LLVM, Python, Rust and the autotools are targets of their recipes, and the versions live in the recipes, not setenv. mold is available as the default linker for gnu and llvm, and with clang -flto is on the link line too.
  • Host independence: the tools and libraries of the build machine are :native recipes. Target builds carry no host paths (path maps, gcc specs, clang configuration files). The build stops on unresolved NEEDED libraries, executable stacks, or slim LTO objects left behind. Target programs run through <HARCH>-run.
  • The bbxb command: build, logtail, mount/umount, emulator cmdgen|run (BIOS and UEFI), container, purge.
  • Configuration of the built system: project directives in osconfig.functions. Every file a directive writes is listed in <platform>/osconfig.files, and the next bbxb build removes it before the project runs, so a directive taken out of the project leaves nothing behind in the sysroot. /etc/hosts, which a directive only edits, stays.
  • NetworkManager in lfs.prj (LFS_ENABLENM=1): the WiFi network and the wired link become keyfile profiles (configure_wireless --networkmanager, configure_network --networkmanager) from the same lfs.conf settings as the .network files of systemd-networkd, with DNS through systemd-resolved. NetworkManager builds with both gnu and llvm.
  • Bluetooth of the Raspberry Pi 3 B: a chip that stops answering at boot (no flow control on the PL011) is powered on again, and systemd restarts bthelper@ (Restart=on-failure, bounded by StartLimitBurst=).
  • Checks: the bats suite (tests/), utilities/lint, pkg_lint, pkg_show and pkg_upstream. board_check and perf_check live in the projects repository.

Validation

lfs.prj was built from scratch three times in a row without rework, on rpi3-aarch64, rpi and generic-x64, with both gnu+mold and llvm+mold. Each build passed board_check in QEMU with 0 failed:

rpi3-aarch64 rpi generic-x64
gnu + mold 53 ok 53 ok 49 ok
llvm + mold 54 ok 54 ok 49 ok

The rpi3-aarch64 image with NetworkManager boots in QEMU and on a Raspberry Pi 3 B. On that board, Bluetooth came back by itself after a forced failure and after a failure on a real boot. The bats suite (186 tests) and utilities/lint pass.

Full Changelog: 3.1.0...4.0.0

3.1.0

Choose a tag to compare

@badbat75 badbat75 released this 10 Dec 20:20
91c0677

This is a big change version after a while and contains a lot of new features, those are the mains:

Global

  • Entire code cleaning and refinements
  • Added tools to generate a build container to run everywhere

Build and toolchain

  • Reworked toolchain bootstrap and build process
  • Possibility to build native / cross / target packages

What's Changed

Full Changelog: 3.0.3...3.1.0

bbcrossbuild 3.0.3

Choose a tag to compare

@badbat75 badbat75 released this 05 Apr 15:29
60bdbc0
  • issues on elfutils build
  • changed ftp url in GLU package
  • general package updates

bbcrossbuild 3.0.2

Choose a tag to compare

@badbat75 badbat75 released this 03 Apr 08:53
7f40281

Patch release

  • Added x-org packages
  • Solved various issues bootstrapping and building with llvm toolchain

bbcrossbuild 3.0.1

Choose a tag to compare

@badbat75 badbat75 released this 28 Mar 14:19
fc26756

Issues in qemu x86_64 emulation.

  • Kernel missing FB module.
  • Added -vga none to qemu command line

bbcrossbuild 3.0

Choose a tag to compare

@badbat75 badbat75 released this 28 Mar 09:35
334c5f4

This is a big change version after a while and contains a lot of new features, those are the mains:

Global

  • Reworked Error management code
  • Entire code cleaning and refinements
  • Added qemu helper tool to launch generated images

Build and toolchain

  • Reworked GCC and LLVM build
  • Reworked Toolchain bootstrap
  • Implemented building for host (project - cross and global - native)
  • Implemented package:target (formally PKG_TARGET) to resolve circular dependencies (package bootstrap)
  • Added lot of package variables

Platforms

  • Added more generic platforms

Packages

  • Entire systemd/D-Bus ecosystem has been implemented
  • Overall package updates and additions

Projects

LFS

  • Overall rework of LFS recipe
  • Support grub installation

Moode

moode and all its package is deprecated and will be removed soon

bbcrossbuild 2.0.1

Choose a tag to compare

@badbat75 badbat75 released this 08 Apr 13:56
62289a3

Critical update from 2.0

  • Ability to manage multiple paths in AUTOCONF_PATH
  • Solved issues with some packages builds
  • Packages updates

bbcrossbuild 2.0

Choose a tag to compare

@badbat75 badbat75 released this 01 Apr 08:27
1587aa7

Build functions

  • added builddebpkg to build deb packages (development)
  • reworked build process
  • reworked buildenv processes (included GNU GCC build)
  • added LLVM toolchain support (LLVM 14)
  • implemented KERNEL_LTO with LLVM toolchain
  • implemented Polly optimizations with LLVM toolchain (added PKG_LLVMPOLLYFEATURES to specify what Polly features to use)
  • added PKG_FAULTYCFLAGS packages option to move C*FLAGS on C command line to avoid libtool errors
  • added PKG_OVERRIDELTO to override LTO settings during package build
  • added management to PATH and LD_LIBRARY_PATH mangling via pathadd and pathremove
  • implemented kernelmodbuild to build kernel modules from buildkernel function
  • packages now are selfextracting
  • environment.source creation under build directory to manually replicate bbxb moode environment

Projects

Moode

  • completely reworked moode project and package to support new original build process
  • added filesystem conversion
  • updated to latest moode r802

Packages

  • added Microsoft WSL kernel

bbcrossbuild 1.4

Choose a tag to compare

@badbat75 badbat75 released this 25 Nov 11:29
dfc2054

Build functions

  • pkg-config wrapper
  • added systemdsystemdir and systemduserdir flags on configmake
  • refined autoreconf and solved regression in kernel build
  • changed default pkg-config sysroot path to BIN_PATH
  • added generate ssh host keys function to keep keys

Projects

  • set overclocking for rpi1 on moode project
  • updated to moode r761

Packages

  • added initial shairport-sync-4.1
  • added ffmpeg and dependencies
  • added alsa libraries
  • generate upmpdcli private key in the package

bbcrossbuild 1.3

Choose a tag to compare

@badbat75 badbat75 released this 15 Nov 17:06
b3ac401

New features and improvements:

  • moved gcc log to project logs from global
  • added PKG_SUFFIX in order to manage package minor versions
  • tar compression typo
  • bootstrap.* updates
  • updates on python build and buildenv
  • updated images.functions
  • added new deptool tool to find libraries and dependencies in file and directories
  • reworked libraries search paths in build.env
  • some packages build issues
  • improved code cosmetics and appearance

Environment Build

  • Updated binutils to 2.37
  • Updated gcc to 11.2

Packages

  • updated different packages
  • updated to latest commit rpi-kernel-5.15.1

Projects

  • distos refinement on moode prj
  • updated to moode to r7.5.0