1
1
mirror of https://github.com/OpenVoiceOS/OpenVoiceOS synced 2025-04-24 23:28:45 +02:00

Staged work: pushed for backup (mostly boot/initramfs/dracu work)

This commit is contained in:
j1nx 2025-01-28 12:05:45 +00:00
parent dd2ad17869
commit 18db7d87f6
16 changed files with 71 additions and 396 deletions

View File

@ -23,10 +23,6 @@ $(TARGETS_CONFIG): %-config:
$(TARGETS): %: $(RELEASE_DIR) %-config $(TARGETS): %: $(RELEASE_DIR) %-config
@echo "build $@" @echo "build $@"
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) 2>&1 | tee logs/buildroot_$@_output.txt $(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) 2>&1 | tee logs/buildroot_$@_output.txt
#rsync -ah --progress $(BUILDROOT)/output/images/disk.img $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).img
#rsync -ah --progress $(BUILDROOT)/output/images/rootfs.swu $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).swu
#xz -3 -T0 -v -f $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).img
#xz -3 -T0 -v -f $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).swu
xz -2 -v -f -T0 -c $(BUILDROOT)/output/images/disk.img > $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).img.xz xz -2 -v -f -T0 -c $(BUILDROOT)/output/images/disk.img > $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).img.xz
rsync -ah --progress $(BUILDROOT)/output/images/rootfs.swu $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).swu rsync -ah --progress $(BUILDROOT)/output/images/rootfs.swu $(RELEASE_DIR)/OpenVoiceOS_$@_$(BUILDDATE).swu
@if [ $@ = "ova_64" ]; then\ @if [ $@ = "ova_64" ]; then\

@ -1 +1 @@
Subproject commit cb869be2b2c5788ebe6cea31d4d6b2718441e95c Subproject commit 5a5867681b5709859f2eebf24e9576451e9a7c0f

View File

@ -1,4 +1,5 @@
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 set serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
set terminal --timeout=3 serial console
set timeout=3 set timeout=3
set timeout_style=menu set timeout_style=menu
@ -64,7 +65,7 @@ else
fi fi
fi fi
default_cmdline="fsck.repair=yes zram.enabled=1 zram.num_devices=3 logo.nologo systemd.unified_cgroup_hierarchy=1 cgroup_enable=cpuset cgroup_memory=1 $boot_condition rootwait" default_cmdline="rd.shell console=tty0 console=serial0,115200 fsck.repair=yes zram.enabled=1 zram.num_devices=3 logo.nologo systemd.unified_cgroup_hierarchy=1 cgroup_enable=cpuset cgroup_memory=1 $boot_condition rootwait"
file_env -f ($root)/cmdline.txt cmdline file_env -f ($root)/cmdline.txt cmdline
regexp --set 1:boothd (.+),.+ ${root} regexp --set 1:boothd (.+),.+ ${root}
@ -72,18 +73,14 @@ regexp --set 1:boothd (.+),.+ ${root}
# Save all changes to necessary environment variables at once # Save all changes to necessary environment variables at once
save_env -f /EFI/BOOT/grub.env ustate boot_counter rootfs save_env -f /EFI/BOOT/grub.env ustate boot_counter rootfs
menuentry "OpenVoiceOS - Slot A ${rootfs_status_A}" { menuentry "OpenVoiceOS - UUID" {
linux (${boothd},gpt2)/boot/kernel root=UUID=c0932a41-44cf-463b-8152-d43188553ed4 rootrw=UUID=f1326040-5236-40eb-b683-aaa100a9afcf $default_cmdline $cmdline linux (${boothd},gpt2)/boot/kernel root=live:UUID=c0932a41-44cf-463b-8152-d43188553ed4 rd.live.overlay=UUID=f1326040-5236-40eb-b683-aaa100a9afcf $default_cmdline $cmdline
} }
menuentry "OpenVoiceOS - Slot B ${rootfs_status_B}" { menuentry "OpenVoiceOS - PARTUUID" {
linux (${boothd},gpt3)/boot/kernel root=UUID=3adea996-45ad-4928-920e-ffb5aedd00cb rootrw=UUID=f1326040-5236-40eb-b683-aaa100a9afcf $default_cmdline $cmdline linux (${boothd},gpt3)/boot/kernel root=live:PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 rd.live.overlay=PARTUUID=f1326040-5236-40eb-b683-aaa100a9afcf $default_cmdline $cmdline
} }
menuentry "OpenVoiceOS - Slot A (Rescue shell)" { menuentry "OpenVoiceOS - SDA2" {
linux (${boothd},gpt2)/boot/kernel root=PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 ro $default_cmdline $cmdline systemd.unit=rescue.target linux (${boothd},gpt2)/boot/kernel root=live:/dev/sda2 rd.live.overlay=/dev/sda2 $default_cmdline $cmdline
}
menuentry "OpenVoiceOS - Slot B (Rescue shell)" {
linux (${boothd},gpt3)/boot/kernel root=PARTUUID=3adea996-45ad-4928-920e-ffb5aedd00cb ro $default_cmdline $cmdline systemd.unit=rescue.target
} }

View File

@ -71,3 +71,5 @@ dtparam=spi=on
# Enable boost from 1.5Ghz to 1.8Ghz on compatible models # Enable boost from 1.5Ghz to 1.8Ghz on compatible models
arm_boost=1 arm_boost=1
enable_uart=1

View File

@ -1,11 +1,7 @@
BR2_aarch64=y BR2_aarch64=y
BR2_cortex_a72=y BR2_cortex_a72=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_TOOLCHAIN_EXTERNAL=y
BR2_BINUTILS_VERSION_2_41_X=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_BINUTILS_GPROFNG=y
BR2_GCC_VERSION_14_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y
BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
BR2_WGET="wget --passive-ftp -nd -t 3" BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_DL_DIR="../../downloads" BR2_DL_DIR="../../downloads"
@ -34,7 +30,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,545eb1a62b733857dd4556dfd67e6c81d73fc0e4)/linux-545eb1a62b733857dd4556dfd67e6c81d73fc0e4.tar.gz" BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,236f36133619216a5c8faea1a8c2c93c83efc2f4)/linux-236f36133619216a5c8faea1a8c2c93c83efc2f4.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_LZ4=y
@ -48,6 +44,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_PACKAGE_LINUX_TOOLS_GPIO=y BR2_PACKAGE_LINUX_TOOLS_GPIO=y
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/busybox.config" BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/busybox.config"
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y
BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_ALSACONF=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y
BR2_PACKAGE_ALSA_UTILS_ACONNECT=y BR2_PACKAGE_ALSA_UTILS_ACONNECT=y
@ -67,6 +64,9 @@ BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
BR2_PACKAGE_FFMPEG=y BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FFMPEG_GPL=y BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y BR2_PACKAGE_FFMPEG_NONFREE=y
# BR2_PACKAGE_FFMPEG_FFMPEG is not set
BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_FFMPEG_SWSCALE=y
# BR2_PACKAGE_GSTREAMER1_PARSE is not set # BR2_PACKAGE_GSTREAMER1_PARSE is not set
# BR2_PACKAGE_GSTREAMER1_TRACE is not set # BR2_PACKAGE_GSTREAMER1_TRACE is not set
# BR2_PACKAGE_GSTREAMER1_GST_DEBUG is not set # BR2_PACKAGE_GSTREAMER1_GST_DEBUG is not set
@ -79,27 +79,17 @@ BR2_PACKAGE_PIPEWIRE_V4L2=y
BR2_PACKAGE_PULSEAUDIO=y BR2_PACKAGE_PULSEAUDIO=y
BR2_PACKAGE_TINYCOMPRESS=y BR2_PACKAGE_TINYCOMPRESS=y
BR2_PACKAGE_WIREPLUMBER=y BR2_PACKAGE_WIREPLUMBER=y
BR2_PACKAGE_BZIP2=y
BR2_PACKAGE_GZIP=y
BR2_PACKAGE_LZIP=y
BR2_PACKAGE_LZOP=y
BR2_PACKAGE_P7ZIP=y
BR2_PACKAGE_UNRAR=y BR2_PACKAGE_UNRAR=y
BR2_PACKAGE_UNZIP=y BR2_PACKAGE_UNZIP=y
BR2_PACKAGE_ZIP=y
BR2_PACKAGE_ZSTD=y
BR2_PACKAGE_MEMSTAT=y
BR2_PACKAGE_NMON=y
BR2_PACKAGE_BINUTILS=y BR2_PACKAGE_BINUTILS=y
BR2_PACKAGE_DIFFUTILS=y BR2_PACKAGE_DIFFUTILS=y
BR2_PACKAGE_FINDUTILS=y BR2_PACKAGE_FINDUTILS=y
BR2_PACKAGE_FLEX=y
BR2_PACKAGE_GIT=y BR2_PACKAGE_GIT=y
BR2_PACKAGE_GREP=y BR2_PACKAGE_GREP=y
BR2_PACKAGE_JO=y BR2_PACKAGE_JO=y
BR2_PACKAGE_JQ=y BR2_PACKAGE_JQ=y
BR2_PACKAGE_PATCH=y
BR2_PACKAGE_PKGCONF=y BR2_PACKAGE_PKGCONF=y
BR2_PACKAGE_SED=y
BR2_PACKAGE_CPIO=y BR2_PACKAGE_CPIO=y
BR2_PACKAGE_DOSFSTOOLS=y BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
@ -115,6 +105,7 @@ BR2_PACKAGE_FUSE_OVERLAYFS=y
BR2_PACKAGE_NTFS_3G=y BR2_PACKAGE_NTFS_3G=y
BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y
@ -126,14 +117,14 @@ BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD=y
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4/config.txt" BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4/config.txt"
# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
BR2_PACKAGE_AVRDUDE=y BR2_PACKAGE_AVRDUDE=y
BR2_PACKAGE_CRYPTSETUP=y
BR2_PACKAGE_DBUS_PYTHON=y BR2_PACKAGE_DBUS_PYTHON=y
BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK=y
BR2_PACKAGE_GPTFDISK_GDISK=y BR2_PACKAGE_GPTFDISK_GDISK=y
BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y
BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y BR2_PACKAGE_PARTED=y
BR2_PACKAGE_SPI_TOOLS=y BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_JIMTCL=y
BR2_PACKAGE_LUA=y BR2_PACKAGE_LUA=y
BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y BR2_PACKAGE_PYTHON3_PY_PYC=y
@ -143,41 +134,32 @@ BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_ALSA_LIB_PYTHON=y BR2_PACKAGE_ALSA_LIB_PYTHON=y
BR2_PACKAGE_ALSA_PLUGINS=y BR2_PACKAGE_ALSA_PLUGINS=y
BR2_PACKAGE_LIBSAMPLERATE=y BR2_PACKAGE_LIBSAMPLERATE=y
BR2_PACKAGE_LIBSOXR=y
BR2_PACKAGE_LILV=y
BR2_PACKAGE_OPUS=y
BR2_PACKAGE_PORTAUDIO=y
BR2_PACKAGE_SPEEXDSP=y
BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING=y BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING=y
BR2_PACKAGE_LIBARCHIVE=y BR2_PACKAGE_LIBARCHIVE=y
BR2_PACKAGE_LIBDEFLATE=y BR2_PACKAGE_LIBDEFLATE=y
BR2_PACKAGE_LZO=y
BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBARGON2=y
BR2_PACKAGE_LIBKSBA=y BR2_PACKAGE_LIBKSBA=y
BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_LIBSSH2=y
BR2_PACKAGE_LIBSSH2_OPENSSL=y
BR2_PACKAGE_LIBOPENSSL_BIN=y BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_SQLITE=y BR2_PACKAGE_SQLITE=y
BR2_PACKAGE_LIBCONFIG=y BR2_PACKAGE_LIBCONFIG=y
BR2_PACKAGE_LIBCONFUSE=y
BR2_PACKAGE_LIBLOCKFILE=y BR2_PACKAGE_LIBLOCKFILE=y
BR2_PACKAGE_LIBNFS=y BR2_PACKAGE_LIBNFS=y
BR2_PACKAGE_LIBSYSFS=y BR2_PACKAGE_LIBSYSFS=y
BR2_PACKAGE_LOCKDEV=y BR2_PACKAGE_LOCKDEV=y
BR2_PACKAGE_PHYSFS=y BR2_PACKAGE_PHYSFS=y
BR2_PACKAGE_DTC=y
BR2_PACKAGE_DTC_PROGRAMS=y
BR2_PACKAGE_JITTERENTROPY_LIBRARY=y
BR2_PACKAGE_LIBAIO=y
BR2_PACKAGE_LIBGPIOD2=y BR2_PACKAGE_LIBGPIOD2=y
BR2_PACKAGE_LIBGPIOD2_TOOLS=y BR2_PACKAGE_LIBGPIOD2_TOOLS=y
BR2_PACKAGE_LIBGUDEV=y
BR2_PACKAGE_LIBINPUT=y BR2_PACKAGE_LIBINPUT=y
BR2_PACKAGE_LIBINPUT_PYTHON_TOOLS=y BR2_PACKAGE_LIBINPUT_PYTHON_TOOLS=y
BR2_PACKAGE_LIBV4L=y
BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_JSON_GLIB=y BR2_PACKAGE_JSON_GLIB=y
BR2_PACKAGE_LIBFASTJSON=y BR2_PACKAGE_LIBFASTJSON=y
BR2_PACKAGE_LIBXML2=y BR2_PACKAGE_LIBXML2=y
BR2_PACKAGE_SORD=y
BR2_PACKAGE_LIBCAMERA_PYTHON=y BR2_PACKAGE_LIBCAMERA_PYTHON=y
BR2_PACKAGE_LIBCAMERA_V4L2=y BR2_PACKAGE_LIBCAMERA_V4L2=y
BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4=y BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4=y
@ -185,21 +167,14 @@ BR2_PACKAGE_LIBCAMERA_PIPELINE_SIMPLE=y
BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO=y BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO=y
BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC=y BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC=y
BR2_PACKAGE_LIBCAMERA_APPS=y BR2_PACKAGE_LIBCAMERA_APPS=y
BR2_PACKAGE_LIBOGG=y
BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBPSL=y BR2_PACKAGE_LIBIDN2=y
BR2_PACKAGE_SLIRP4NETNS=y BR2_PACKAGE_SLIRP4NETNS=y
BR2_PACKAGE_FFTW=y BR2_PACKAGE_FFTW=y
BR2_PACKAGE_GOBJECT_INTROSPECTION=y
BR2_PACKAGE_JEMALLOC=y
BR2_PACKAGE_LIBCAP_TOOLS=y
BR2_PACKAGE_LIBDAEMON=y BR2_PACKAGE_LIBDAEMON=y
BR2_PACKAGE_LIBEVENT=y
BR2_PACKAGE_LIBUNWIND=y
BR2_PACKAGE_LIBUV=y BR2_PACKAGE_LIBUV=y
BR2_PACKAGE_NCURSES_WCHAR=y BR2_PACKAGE_NCURSES_WCHAR=y
BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO=y
BR2_PACKAGE_AARDVARK_DNS=y BR2_PACKAGE_AARDVARK_DNS=y
BR2_PACKAGE_BLUEZ_TOOLS=y BR2_PACKAGE_BLUEZ_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BLUEZ5_UTILS=y
@ -241,6 +216,8 @@ BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y
BR2_PACKAGE_DASH=y
BR2_PACKAGE_BASH_COMPLETION=y
BR2_PACKAGE_CATATONIT=y BR2_PACKAGE_CATATONIT=y
BR2_PACKAGE_FILE=y BR2_PACKAGE_FILE=y
BR2_PACKAGE_GNUPG=y BR2_PACKAGE_GNUPG=y
@ -270,8 +247,10 @@ BR2_PACKAGE_SWUPDATE_USB=y
BR2_PACKAGE_SYSTEMD_KERNELINSTALL=y BR2_PACKAGE_SYSTEMD_KERNELINSTALL=y
BR2_PACKAGE_SYSTEMD_ANALYZE=y BR2_PACKAGE_SYSTEMD_ANALYZE=y
BR2_PACKAGE_SYSTEMD_BACKLIGHT=y BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
BR2_PACKAGE_SYSTEMD_BINFMT=y
# BR2_PACKAGE_SYSTEMD_PSTORE is not set # BR2_PACKAGE_SYSTEMD_PSTORE is not set
BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
BR2_PACKAGE_SYSTEMD_HIBERNATE=y
# BR2_PACKAGE_SYSTEMD_HOSTNAMED is not set
# BR2_PACKAGE_SYSTEMD_HWDB is not set # BR2_PACKAGE_SYSTEMD_HWDB is not set
BR2_PACKAGE_SYSTEMD_LOCALED=y BR2_PACKAGE_SYSTEMD_LOCALED=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
@ -281,6 +260,7 @@ BR2_PACKAGE_SYSTEMD_OOMD=y
BR2_PACKAGE_SYSTEMD_POLKIT=y BR2_PACKAGE_SYSTEMD_POLKIT=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_REPART=y BR2_PACKAGE_SYSTEMD_REPART=y
BR2_PACKAGE_SYSTEMD_SYSUSERS=y
BR2_PACKAGE_SYSTEMD_UTMP=y BR2_PACKAGE_SYSTEMD_UTMP=y
BR2_PACKAGE_TAR=y BR2_PACKAGE_TAR=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y
@ -288,6 +268,7 @@ BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
BR2_PACKAGE_UTIL_LINUX_KILL=y BR2_PACKAGE_UTIL_LINUX_KILL=y
BR2_PACKAGE_UTIL_LINUX_LOGGER=y BR2_PACKAGE_UTIL_LINUX_LOGGER=y
BR2_PACKAGE_UTIL_LINUX_LOGIN=y BR2_PACKAGE_UTIL_LINUX_LOGIN=y
BR2_PACKAGE_UTIL_LINUX_LOSETUP=y
BR2_PACKAGE_UTIL_LINUX_LSMEM=y BR2_PACKAGE_UTIL_LINUX_LSMEM=y
BR2_PACKAGE_UTIL_LINUX_MESG=y BR2_PACKAGE_UTIL_LINUX_MESG=y
BR2_PACKAGE_UTIL_LINUX_MORE=y BR2_PACKAGE_UTIL_LINUX_MORE=y
@ -302,11 +283,8 @@ BR2_PACKAGE_NANO=y
BR2_PACKAGE_VIM=y BR2_PACKAGE_VIM=y
# BR2_PACKAGE_VIM_RUNTIME is not set # BR2_PACKAGE_VIM_RUNTIME is not set
BR2_TARGET_ROOTFS_CPIO_DRACUT=y BR2_TARGET_ROOTFS_CPIO_DRACUT=y
BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES="$(BR2_EXTERNAL)/dracut/modules.d"
BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES="$(BR2_EXTERNAL)/dracut/conf/dracut.conf" BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES="$(BR2_EXTERNAL)/dracut/conf/dracut.conf"
BR2_TARGET_ROOTFS_EROFS=y BR2_TARGET_ROOTFS_EROFS=y
BR2_TARGET_ROOTFS_EROFS_LZ4HC_LEVEL=12
BR2_TARGET_ROOTFS_EROFS_DEDUPE=y
BR2_TARGET_ROOTFS_EROFS_FRAGMENTS=y BR2_TARGET_ROOTFS_EROFS_FRAGMENTS=y
BR2_TARGET_ROOTFS_EROFS_ZTAILPACKING=y BR2_TARGET_ROOTFS_EROFS_ZTAILPACKING=y
BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144
@ -323,6 +301,7 @@ BR2_PACKAGE_HOST_GO_BIN=y
BR2_PACKAGE_HOST_MKPASSWD=y BR2_PACKAGE_HOST_MKPASSWD=y
BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_PKGCONF=y BR2_PACKAGE_HOST_PKGCONF=y
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_ALSA_UCM_CONF=y BR2_PACKAGE_ALSA_UCM_CONF=y
BR2_PACKAGE_BTSPEAKER=y BR2_PACKAGE_BTSPEAKER=y
BR2_PACKAGE_NCPAMIXER=y BR2_PACKAGE_NCPAMIXER=y

View File

@ -5,61 +5,55 @@ i18n_install_all=no
lvmconf=no lvmconf=no
mdadmconf=no mdadmconf=no
early_microcode=no early_microcode=no
hostonly=no
hostonly_cmdline=no
use_fstab=no use_fstab=no
kernel_cmdline="rd.break=initqueue"
do_strip=no do_strip=no
no_kernel=yes
filesystems+=" \
overlayfs \
"
# Dracut modules needed # Dracut modules needed
add_dracutmodules+=" \ add_dracutmodules+=" \
readonly-rootfs-overlay \ 00-merged-usr \
dbus-daemon \
dm \
dmsquash-live \
dmsquash-live-autooverlay \
dracut-systemd \
libc-links \
overlayfs \
shell-interpreter \
systemd \
systemd-initrd \
systemd-journald \
systemd-modules-load \
systemd-sysctl \
systemd-tmpfiles \
systemd-udevd
" "
# Modules to ignore # Modules to ignore
omit_dracutmodules+=" \ omit_dracutmodules+=" \
base \
bash \
biosdevname \ biosdevname \
btrfs \ btrfs \
bluetooth \
busybox \
caps \ caps \
cifs \ cifs \
connman \ connman \
crypt \ crypt \
crypt-gpg \ crypt-gpg \
dash \
dbus-broker \ dbus-broker \
dbus-daemon \
dm \
dmraid \ dmraid \
dmsquash-live-ntfs \ dmsquash-live-ntfs \
dracut-systemd \
fcoe \ fcoe \
fcoe-uefi \ fcoe-uefi \
fs-lib \
hwdb \ hwdb \
iscsi \ iscsi \
i18n \
kernel-modules \
kernel-modules-extra \
lvmmerge \ lvmmerge \
lvmthinpool-monitor \ lvmthinpool-monitor \
lvm \ lvm \
lunmask \
mdraid \ mdraid \
memstrack \ memstrack \
mksh \
modsign \ modsign \
mount-root \
multipath \ multipath \
nbd \ nbd \
network-legacy \ network-legacy \
network-manager \
network-wicked \ network-wicked \
nfs \ nfs \
nvdimm \ nvdimm \
@ -68,44 +62,21 @@ parse-lunmask \
pcsc \ pcsc \
qemu \ qemu \
qemu-net \ qemu-net \
resume \
rootfs-block \
rngd \ rngd \
shell-interpreter \ ssh-client \
shutdown \ stratis \
systemd \ systemd-ac-power \
systemd-udevd \ systemd-bsod \
systemd-coredump \ systemd-coredump \
systemd-cryptsetup \ systemd-cryptsetup \
systemd-ask-password \
systemd-timedated \
systemd-rfkill \
systemd-resolved \
systemd-hostnamed \ systemd-hostnamed \
systemd-initrd \
systemd-integritysetup \
systemd-journald \
systemd-ldconfig \ systemd-ldconfig \
systemd-networkd \ systemd-networkd \
systemd-timesyncd \
systemd-udev \
systemd-veritysetup \
systemd-modules-load \
systemd-pcrphase \ systemd-pcrphase \
systemd-portabled \ systemd-portabled \
systemd-pstore \ systemd-pstore \
systemd-sysctl \
systemd-repart \
systemd-sysext \ systemd-sysext \
systemd-sysusers \ squash-squashfs \
systemd-tmpfiles \
squash \
ssh-client \
stratis \
terminfo \
tpm2-tss \ tpm2-tss \
udev-rules \
url-lib \
usrmount \
virtiofs \ virtiofs \
" "

View File

@ -1,208 +0,0 @@
#!/bin/sh
# Enable strict shell mode
set -euo pipefail
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MOUNT="/bin/mount"
UMOUNT="/bin/umount"
INIT="/sbin/init"
ROOT_ROINIT="/sbin/init"
ROOT_MOUNT="/mnt"
ROOT_RODEVICE=""
ROOT_RWDEVICE=""
ROOT_ROMOUNT="/media/rfs/ro"
ROOT_RWMOUNT="/media/rfs/rw"
ROOT_RWRESET="no"
ROOT_ROFSTYPE=""
ROOT_ROMOUNTOPTIONS="bind"
ROOT_ROMOUNTOPTIONS_DEVICE="noatime,nodiratime"
ROOT_RWFSTYPE=""
ROOT_RWMOUNTOPTIONS="rw,noatime tmpfs"
ROOT_RWMOUNTOPTIONS_DEVICE="rw,noatime"
early_setup() {
mkdir -p /proc
mkdir -p /sys
$MOUNT -t proc proc /proc
$MOUNT -t sysfs sysfs /sys
grep -w "/dev" /proc/mounts >/dev/null || $MOUNT -t devtmpfs none /dev
}
read_args() {
[ -z "${CMDLINE+x}" ] && CMDLINE=`cat /proc/cmdline`
for arg in $CMDLINE; do
# Set optarg to option parameter, and '' if no parameter was
# given
optarg=`expr "x$arg" : 'x[^=]*=\(.*\)' || echo ''`
case $arg in
root=*)
ROOT_RODEVICE=$optarg ;;
rootfstype=*)
ROOT_ROFSTYPE="$optarg"
modprobe $optarg 2> /dev/null || \
log "Could not load $optarg module";;
rootinit=*)
ROOT_ROINIT=$optarg ;;
rootoptions=*)
ROOT_ROMOUNTOPTIONS_DEVICE="$optarg" ;;
rootrw=*)
ROOT_RWDEVICE=$optarg ;;
rootrwfstype=*)
ROOT_RWFSTYPE="$optarg"
modprobe $optarg 2> /dev/null || \
log "Could not load $optarg module";;
rootrwreset=*)
ROOT_RWRESET=$optarg ;;
rootrwoptions=*)
ROOT_RWMOUNTOPTIONS_DEVICE="$optarg" ;;
init=*)
INIT=$optarg ;;
esac
done
}
fatal() {
echo "rorootfs-overlay: $1" >$CONSOLE
echo >$CONSOLE
exec sh
}
log() {
echo "rorootfs-overlay: $1" >$CONSOLE
}
wait_for_device() {
counter=0
while [ ! -b $1 ]; do
sleep .100
counter=$((counter + 1))
if [ $counter -ge 50 ]; then
fatal "$1 is not availble"
exit
fi
done
}
early_setup
[ -z "${CONSOLE+x}" ] && CONSOLE="/dev/console"
read_args
mount_and_boot() {
mkdir -p $ROOT_MOUNT $ROOT_ROMOUNT $ROOT_RWMOUNT
# Build mount options for read only root file system.
# If no read-only device was specified via kernel command line, use
# current root file system via bind mount.
wait_for_device ${ROOT_RODEVICE}
ROOT_ROMOUNTPARAMS_BIND="-o ${ROOT_ROMOUNTOPTIONS} /"
if [ -n "${ROOT_RODEVICE}" ]; then
ROOT_ROMOUNTPARAMS="-o ${ROOT_ROMOUNTOPTIONS_DEVICE} $ROOT_RODEVICE"
if [ -n "${ROOT_ROFSTYPE}" ]; then
ROOT_ROMOUNTPARAMS="-t $ROOT_ROFSTYPE $ROOT_ROMOUNTPARAMS"
fi
else
ROOT_ROMOUNTPARAMS="$ROOT_ROMOUNTPARAMS_BIND"
fi
# Mount root file system to new mount-point, if unsuccessful, try bind
# mounting current root file system.
if ! $MOUNT $ROOT_ROMOUNTPARAMS "$ROOT_ROMOUNT" 2>/dev/null ; then
log "Could not mount $ROOT_RODEVICE, bind mounting..."
if ! $MOUNT $ROOT_ROMOUNTPARAMS_BIND "$ROOT_ROMOUNT"; then
fatal "Could not mount read-only rootfs"
fi
fi
# Remounting root file system as read only.
if ! $MOUNT -o remount,ro "$ROOT_ROMOUNT"; then
fatal "Could not remount read-only rootfs as read only"
fi
# If future init is the same as current file, use $ROOT_ROINIT
# Tries to avoid loop to infinity if init is set to current file via
# kernel command line
if cmp -s "$0" "$INIT"; then
INIT="$ROOT_ROINIT"
fi
# Build mount options for read write root file system.
# If a read-write device was specified via kernel command line, use
# it, otherwise default to tmpfs.
wait_for_device ${ROOT_RWDEVICE}
if [ -n "${ROOT_RWDEVICE}" ]; then
ROOT_RWMOUNTPARAMS="-o $ROOT_RWMOUNTOPTIONS_DEVICE $ROOT_RWDEVICE"
if [ -n "${ROOT_RWFSTYPE}" ]; then
ROOT_RWMOUNTPARAMS="-t $ROOT_RWFSTYPE $ROOT_RWMOUNTPARAMS"
fi
else
ROOT_RWMOUNTPARAMS="-t tmpfs -o $ROOT_RWMOUNTOPTIONS"
fi
# Mount read-write file system into initram root file system
if ! $MOUNT $ROOT_RWMOUNTPARAMS $ROOT_RWMOUNT ; then
fatal "Could not mount read-write rootfs"
fi
# Reset read-write file system if specified
if [ "yes" == "$ROOT_RWRESET" -a -n "${ROOT_RWMOUNT}" ]; then
rm -rf $ROOT_RWMOUNT/*
fi
# Determine which unification file system to use
union_fs_type=""
if grep -w "overlay" /proc/filesystems >/dev/null; then
union_fs_type="overlay"
elif grep -w "aufs" /proc/filesystems >/dev/null; then
union_fs_type="aufs"
else
union_fs_type=""
fi
# Create/Mount overlay root file system
case $union_fs_type in
"overlay")
mkdir -p $ROOT_RWMOUNT/upperdir $ROOT_RWMOUNT/work
$MOUNT -t overlay overlay \
-o "$(printf "%s%s%s" \
"lowerdir=$ROOT_ROMOUNT," \
"upperdir=$ROOT_RWMOUNT/upperdir," \
"workdir=$ROOT_RWMOUNT/work")" \
$ROOT_MOUNT
;;
"aufs")
$MOUNT -t aufs i\
-o "dirs=$ROOT_RWMOUNT=rw:$ROOT_ROMOUNT=ro" \
aufs $ROOT_MOUNT
;;
"")
fatal "No overlay filesystem type available"
;;
esac
# Move read-only and read-write root file system into the overlay
# file system
mkdir -p $ROOT_MOUNT/$ROOT_ROMOUNT $ROOT_MOUNT/$ROOT_RWMOUNT
$MOUNT -n --move $ROOT_ROMOUNT ${ROOT_MOUNT}/$ROOT_ROMOUNT
$MOUNT -n --move $ROOT_RWMOUNT ${ROOT_MOUNT}/$ROOT_RWMOUNT
$MOUNT -n --move /proc ${ROOT_MOUNT}/proc
$MOUNT -n --move /sys ${ROOT_MOUNT}/sys
$MOUNT -n --move /dev ${ROOT_MOUNT}/dev
cd $ROOT_MOUNT
# switch to actual init in the overlay root file system
exec switch_root $ROOT_MOUNT $INIT ||
fatal "Couldn't chroot, dropping to shell"
}
mount_and_boot

View File

@ -1,66 +0,0 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
check() {
require_binaries busybox || return 1
require_binaries cat || return 1
require_binaries switch_root || return 1
require_binaries cmp || return 1
require_binaries expr || return 1
require_binaries grep || return 1
require_binaries mkdir || return 1
require_binaries mount || return 1
require_binaries umount || return 1
return 0
}
depends() {
return 0
}
installkernel() {
return 0
}
install_busybox_links() {
dir="${1}"
linkname="${2}"
(cd "${dracutsysrootdir?}${dir}" &&
for x in *; do
if [ "$(readlink "${x}")" = "${linkname}" ]; then
ln -sf "${linkname}" "${initdir?}/${dir}/${x}"
fi
done
)
}
install() {
inst_multiple mount umount cat cmp grep mkdir expr switch_root
# Install busybox binary
inst_multiple /bin/busybox
if [ -e "${dracutsysrootdir?}/lib64" ]; then
ln -sf lib "${initdir?}/lib64"
ln -sf lib "${initdir?}/usr/lib64"
fi
if [ -e "${dracutsysrootdir?}/lib32" ]; then
ln -sf lib "${initdir?}/lib32"
ln -sf lib "${initdir?}/usr/lib32"
fi
install_busybox_links "/bin" "busybox"
install_busybox_links "/sbin" "../bin/busybox"
if [ ! -L "${dracutsysrootdir?}/bin" ]; then
install_busybox_links "/usr/bin" "../../bin/busybox"
install_busybox_links "/usr/sbin" "../../bin/busybox"
fi
# inst does not work for some reason. Use cp(1) instead.
#inst "$moddir/init-readonly-rootfs-overlay-boot.sh" "/init"
cp $moddir/init-readonly-rootfs-overlay-boot.sh $initdir/init
}

View File

@ -14,8 +14,11 @@ CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PSI=y CONFIG_PSI=y
CONFIG_IKCONFIG=y CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
CONFIG_MODULE_COMPRESS_NONE=y # CONFIG_MODULE_COMPRESS is not set
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set # CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_COMPRESS_ALL is not set
CONFIG_ZRAM=y CONFIG_ZRAM=y
CONFIG_KSM=y CONFIG_KSM=y

View File

@ -1,2 +1,2 @@
# Locally calculated # Locally calculated
sha256 ad8dd8d79bda54f9d28b095ce9dfa009de9970daf7b57dda86216a4e4977fe4e alsa-ucm-conf-1.2.12.tar.gz sha256 0b1c6740c665078a1c2818ef4902417d75bba4f0fb7fd558633707c367a727e7 alsa-ucm-conf-1.2.13.tar.gz

View File

@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
ALSA_UCM_CONF_VERSION = 1.2.12 ALSA_UCM_CONF_VERSION = 1.2.13
ALSA_UCM_CONF_SITE = $(call github,alsa-project,alsa-ucm-conf,v$(ALSA_UCM_CONF_VERSION)) ALSA_UCM_CONF_SITE = $(call github,alsa-project,alsa-ucm-conf,v$(ALSA_UCM_CONF_VERSION))
ALSA_UCM_CONF_DEPENDENCIES = alsa-lib ALSA_UCM_CONF_DEPENDENCIES = alsa-lib

View File

@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
NCPAMIXER_VERSION = a273d233437caa31348fe3ffd8cfdd7c3d3d27c7 NCPAMIXER_VERSION = 400d90e545fb3c139b83b41915bd2d458b92daf8
NCPAMIXER_SITE = $(call github,fulhax,ncpamixer,$(NCPAMIXER_VERSION)) NCPAMIXER_SITE = $(call github,fulhax,ncpamixer,$(NCPAMIXER_VERSION))
NCPAMIXER_SUBDIR = src NCPAMIXER_SUBDIR = src
NCPAMIXER_LICENSE = MIT NCPAMIXER_LICENSE = MIT

View File

@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
OVOS_RUST_MESSAGEBUS_VERSION = 0.3.1 OVOS_RUST_MESSAGEBUS_VERSION = 1.1.0
OVOS_RUST_MESSAGEBUS_SITE = $(call github,OscillateLabsLLC,ovos-rust-messagebus,v$(OVOS_RUST_MESSAGEBUS_VERSION)) OVOS_RUST_MESSAGEBUS_SITE = $(call github,OscillateLabsLLC,ovos-rust-messagebus,v$(OVOS_RUST_MESSAGEBUS_VERSION))
OVOS_RUST_MESSAGEBUS_DEPENDENCIES = host-rustc host-pkgconf OVOS_RUST_MESSAGEBUS_DEPENDENCIES = host-rustc host-pkgconf

View File

@ -3,16 +3,16 @@
# rpi-eeprom # rpi-eeprom
# #
############################################################# #############################################################
RPI_EEPROM_VERSION = e9717985d26205a790d5dbc77b8dbadcadb52e05 RPI_EEPROM_VERSION = f02f0eaf4e681a618fad55e5cc09d4306a82ac47
RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION)) RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION))
RPI_EEPROM_LICENSE = BSD-3-Clause RPI_EEPROM_LICENSE = BSD-3-Clause
RPI_EEPROM_LICENSE_FILES = LICENSE RPI_EEPROM_LICENSE_FILES = LICENSE
RPI_EEPROM_INSTALL_IMAGES = YES RPI_EEPROM_INSTALL_IMAGES = YES
ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI4),y) ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI4),y)
RPI_EEPROM_FIRMWARE_PATH = firmware-2711/stable/pieeprom-2024-10-21.bin RPI_EEPROM_FIRMWARE_PATH = firmware-2711/stable/pieeprom-2024-12-07.bin
else ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI5),y) # Raspberry Pi 5 else ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI5),y) # Raspberry Pi 5
RPI_EEPROM_FIRMWARE_PATH = firmware-2712/stable/pieeprom-2024-10-21.bin RPI_EEPROM_FIRMWARE_PATH = firmware-2712/stable/pieeprom-2024-12-19.bin
endif endif
define RPI_EEPROM_BUILD_CMDS define RPI_EEPROM_BUILD_CMDS

View File

@ -103,7 +103,8 @@ main() {
local home_mount_point="${BINARIES_DIR}/home" local home_mount_point="${BINARIES_DIR}/home"
mkdir -p "${home_mount_point}" mkdir -p "${home_mount_point}"
sudo mount -o loop,discard "${home_img}" "${home_mount_point}" sudo mount -o loop,discard "${home_img}" "${home_mount_point}"
sudo rsync -avPHSX "${TARGET_DIR}/home/"* "${home_mount_point}/" #sudo rsync -avPHSX "${TARGET_DIR}/home/"* "${home_mount_point}/"
sudo rsync -avPSX "${TARGET_DIR}/home/"* "${home_mount_point}/"
sudo umount "${home_img}" sudo umount "${home_img}"
} }