diff --git a/Makefile b/Makefile index b31c5e86..a3136390 100644 --- a/Makefile +++ b/Makefile @@ -23,10 +23,8 @@ $(TARGETS_CONFIG): %-config: $(TARGETS): %: $(RELEASE_DIR) %-config @echo "build $@" $(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) 2>&1 | tee logs/buildroot_$@_output.txt - #cp -f $(BUILDROOT)/output/images/sdcard.img $(RELEASE_DIR)/OpenVoiceOS_$@.img rsync -ah --progress $(BUILDROOT)/output/images/sdcard.img $(RELEASE_DIR)/OpenVoiceOS_$@.img - rm $(RELEASE_DIR)/OpenVoiceOS_$@.img.xz - xz -3 -T0 -v $(RELEASE_DIR)/OpenVoiceOS_$@.img + xz -3 -T0 -v -f $(RELEASE_DIR)/OpenVoiceOS_$@.img # Do not clean when building for one target ifneq ($(words $(filter $(TARGETS),$(MAKECMDGOALS))), 1) diff --git a/buildroot-external/board/raspberrypi/cmdline.txt b/buildroot-external/board/raspberrypi/cmdline.txt index 53661295..afb6df6b 100644 --- a/buildroot-external/board/raspberrypi/cmdline.txt +++ b/buildroot-external/board/raspberrypi/cmdline.txt @@ -1 +1 @@ -dwc_otg.lpm_enable=0 root=PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 rootfstype=ext4 fsck.repair=yes zram.enabled=1 zram.num_devices=4 console=tty1 consoleblank=0 loglevel=0 vt.global_cursor_default=0 audit=0 logo.nologo systemd.show_status=0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u rootwait quiet splash +dwc_otg.lpm_enable=0 root=PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 rootfstype=squashfs ro init=/sbin/pre-init fsck.repair=yes zram.enabled=1 zram.num_devices=4 console=tty1 consoleblank=0 loglevel=0 vt.global_cursor_default=0 audit=0 logo.nologo systemd.show_status=0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u rootwait quiet splash diff --git a/buildroot-external/board/raspberrypi/genimage-raspberrypi4-64.cfg b/buildroot-external/board/raspberrypi/genimage-raspberrypi4-64.cfg index d9be03e9..5db3c598 100644 --- a/buildroot-external/board/raspberrypi/genimage-raspberrypi4-64.cfg +++ b/buildroot-external/board/raspberrypi/genimage-raspberrypi4-64.cfg @@ -17,13 +17,21 @@ image boot.vfat { size = 96M } +image overlayfs.ext4 { + name = "overlayfs" + ext4 { + use-mke2fs = "true" + } + size = 256M +} + image sdcard.img { hdimage { disk-signature = 0xOVOS partition-table-type = "hybrid" } - partition boot1 { + partition boot { partition-type = 0xC partition-uuid = 9262aee5-2d23-4e09-baac-280591e2e834 partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b @@ -31,9 +39,15 @@ image sdcard.img { image = "boot.vfat" } - partition rootfs1 { + partition rootfs { partition-uuid = c0932a41-44cf-463b-8152-d43188553ed4 partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae image = "rootfs.squashfs" } + + partition overlayfs { + partition-uuid = f1326040-5236-40eb-b683-aaa100a9afcf + partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4 + image = "overlayfs.ext4" + } } diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig index e7fb0382..01359dc3 100644 --- a/buildroot-external/configs/rpi4_64-gui_defconfig +++ b/buildroot-external/configs/rpi4_64-gui_defconfig @@ -24,6 +24,7 @@ BR2_INIT_SYSTEMD=y # BR2_TARGET_ENABLE_ROOT_LOGIN is not set BR2_SYSTEM_BIN_SH_BASH=y # BR2_TARGET_GENERIC_GETTY is not set +# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set BR2_SYSTEM_DHCP="eth0" # BR2_ENABLE_LOCALE_PURGE is not set BR2_GENERATE_LOCALE="en_US.UTF-8" @@ -37,7 +38,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/refs/tags/1.20220830.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/board/raspberrypi/kernel.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 broadcom/bcm2711-rpi-cm4" @@ -317,68 +318,11 @@ BR2_PACKAGE_XKEYBOARD_CONFIG=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_IBT=y -BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7650=y -BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y -BR2_PACKAGE_LINUX_FIRMWARE_AR3011=y -BR2_PACKAGE_LINUX_FIRMWARE_AR3012_USB=y -BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX=y -BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y -BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9=y -BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897=y -BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y -BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174=y -BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y -BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y -BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y -BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113=y -BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y -BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X=y -BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y -BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y -BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y -BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y -BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100=y -BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y BR2_PACKAGE_RPI_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X=y BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD=y BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL)/board/raspberrypi/config_4_64bit.txt" -BR2_PACKAGE_UX500_FIRMWARE=y -BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_WILINK_BT_FIRMWARE=y -BR2_PACKAGE_ZD1211_FIRMWARE=y BR2_PACKAGE_AVRDUDE=y BR2_PACKAGE_DBUS_CPP=y BR2_PACKAGE_EDID_DECODE=y @@ -413,6 +357,7 @@ BR2_PACKAGE_PYTHON_ARROW=y BR2_PACKAGE_PYTHON_AUTOBAHN=y BR2_PACKAGE_PYTHON_CHERRYPY=y BR2_PACKAGE_PYTHON_COLORAMA=y +BR2_PACKAGE_PYTHON_COLORZERO=y BR2_PACKAGE_PYTHON_CONFIGSHELL_FB=y BR2_PACKAGE_PYTHON_DAEMONIZE=y BR2_PACKAGE_PYTHON_DBUS_NEXT=y @@ -423,7 +368,6 @@ BR2_PACKAGE_PYTHON_FLASK_JSONRPC=y BR2_PACKAGE_PYTHON_FLASK_LOGIN=y BR2_PACKAGE_PYTHON_FLASK_SQLALCHEMY=y BR2_PACKAGE_PYTHON_FLATBUFFERS=y -BR2_PACKAGE_PYTHON_GPIOZERO=y BR2_PACKAGE_PYTHON_HUMANIZE=y BR2_PACKAGE_PYTHON_JSON_SCHEMA_VALIDATOR=y BR2_PACKAGE_PYTHON_JSONMODELS=y @@ -441,6 +385,7 @@ BR2_PACKAGE_PYTHON_PSUTIL=y BR2_PACKAGE_PYTHON_PYJWT=y BR2_PACKAGE_PYTHON_PYUDEV=y BR2_PACKAGE_PYTHON_PYUSB=y +BR2_PACKAGE_PYTHON_RPI_GPIO=y BR2_PACKAGE_PYTHON_SDNOTIFY=y BR2_PACKAGE_PYTHON_SERIAL=y BR2_PACKAGE_PYTHON_SIP=y @@ -586,6 +531,9 @@ BR2_PACKAGE_VIM=y BR2_TARGET_ROOTFS_SQUASHFS=y BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y # BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop regexp loadenv echo cat test configfile" +BR2_TARGET_GRUB2_INSTALL_TOOLS=y BR2_PACKAGE_HOST_CMAKE=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y diff --git a/buildroot-external/kernel/device-drivers.config b/buildroot-external/kernel/device-drivers.config new file mode 100644 index 00000000..a25e8f49 --- /dev/null +++ b/buildroot-external/kernel/device-drivers.config @@ -0,0 +1,205 @@ +# CONFIG_DVB_A8293 is not set +# CONFIG_DVB_AF9013 is not set +# CONFIG_DVB_AF9033 is not set +# CONFIG_DVB_AS102 is not set +# CONFIG_DVB_ASCOT2E is not set +# CONFIG_DVB_ATBM8830 is not set +# CONFIG_DVB_AU8522_DTV is not set +# CONFIG_DVB_AU8522_V4L is not set +# CONFIG_DVB_B2C2_FLEXCOP_USB is not set +# CONFIG_DVB_BCM3510 is not set +# CONFIG_DVB_CX22700 is not set +# CONFIG_DVB_CX22702 is not set +# CONFIG_DVB_CX24110 is not set +# CONFIG_DVB_CX24116 is not set +# CONFIG_DVB_CX24117 is not set +# CONFIG_DVB_CX24120 is not set +# CONFIG_DVB_CX24123 is not set +# CONFIG_DVB_CXD2099 is not set +# CONFIG_DVB_CXD2820R is not set +# CONFIG_DVB_CXD2841ER is not set +# CONFIG_DVB_CXD2880 is not set +# CONFIG_DVB_DIB3000MB is not set +# CONFIG_DVB_DIB3000MC is not set +# CONFIG_DVB_DIB7000M is not set +# CONFIG_DVB_DIB7000P is not set +# CONFIG_DVB_DIB8000 is not set +# CONFIG_DVB_DIB9000 is not set +# CONFIG_DVB_DRX39XYJ is not set +# CONFIG_DVB_DRXD is not set +# CONFIG_DVB_DRXK is not set +# CONFIG_DVB_DS3000 is not set +# CONFIG_DVB_DYNAMIC_MINORS is not set +# CONFIG_DVB_EC100 is not set +# CONFIG_DVB_HELENE is not set +# CONFIG_DVB_HORUS3A is not set +# CONFIG_DVB_ISL6405 is not set +# CONFIG_DVB_ISL6421 is not set +# CONFIG_DVB_ISL6423 is not set +# CONFIG_DVB_IX2505V is not set +# CONFIG_DVB_L64781 is not set +# CONFIG_DVB_LG2160 is not set +# CONFIG_DVB_LGDT3305 is not set +# CONFIG_DVB_LGDT3306A is not set +# CONFIG_DVB_LGDT3305 is not set +# CONFIG_DVB_LGDT3306A is not set +# CONFIG_DVB_LGDT330X is not set +# CONFIG_DVB_LGS8GL5 is not set +# CONFIG_DVB_LGS8GXX is not set +# CONFIG_DVB_LNBH25 is not set +# CONFIG_DVB_LNBH29 is not set +# CONFIG_DVB_LNBP21 is not set +# CONFIG_DVB_LNBP22 is not set +# CONFIG_DVB_M88DS3103 is not set +# CONFIG_DVB_M88RS2000 is not set +# CONFIG_DVB_MB86A16 is not set +# CONFIG_DVB_MB86A20S is not set +# CONFIG_DVB_MN88443X is not set +# CONFIG_DVB_MN88472 is not set +# CONFIG_DVB_MN88473 is not set +# CONFIG_DVB_MT312 is not set +# CONFIG_DVB_MT352 is not set +# CONFIG_DVB_MXL5XX is not set +# CONFIG_DVB_MXL692 is not set +# CONFIG_DVB_NET is not set +# CONFIG_DVB_NXT200X is not set +# CONFIG_DVB_NXT6000 is not set +# CONFIG_DVB_OR51132 is not set +# CONFIG_DVB_OR51211 is not set +# CONFIG_DVB_PLL is not set +# CONFIG_DVB_RTL2830 is not set +# CONFIG_DVB_RTL2832 is not set +# CONFIG_DVB_RTL2832_SDR is not set +# CONFIG_DVB_S5H1409 is not set +# CONFIG_DVB_S5H1411 is not set +# CONFIG_DVB_S5H1420 is not set +# CONFIG_DVB_S5H1432 is not set +# CONFIG_DVB_S921 is not set +# CONFIG_DVB_SI2165 is not set +# CONFIG_DVB_SI2168 is not set +# CONFIG_DVB_SI21XX is not set +# CONFIG_DVB_SP2 is not set +# CONFIG_DVB_SP887X is not set +# CONFIG_DVB_STB0899 is not set +# CONFIG_DVB_STB6000 is not set +# CONFIG_DVB_STB6100 is not set +# CONFIG_DVB_STV0288 is not set +# CONFIG_DVB_STV0297 is not set +# CONFIG_DVB_STV0299 is not set +# CONFIG_DVB_STV0367 is not set +# CONFIG_DVB_STV0900 is not set +# CONFIG_DVB_STV090x is not set +# CONFIG_DVB_STV0910 is not set +# CONFIG_DVB_STV6110 is not set +# CONFIG_DVB_STV6110x is not set +# CONFIG_DVB_STV6111 is not set +# CONFIG_DVB_TC90522 is not set +# CONFIG_DVB_TDA10021 is not set +# CONFIG_DVB_TDA10023 is not set +# CONFIG_DVB_TDA10048 is not set +# CONFIG_DVB_TDA1004X is not set +# CONFIG_DVB_TDA10071 is not set +# CONFIG_DVB_TDA10086 is not set +# CONFIG_DVB_TDA10071 is not set +# CONFIG_DVB_TDA10086 is not set +# CONFIG_DVB_TDA18271C2DD is not set +# CONFIG_DVB_TDA665x is not set +# CONFIG_DVB_TDA8083 is not set +# CONFIG_DVB_TDA8261 is not set +# CONFIG_DVB_TDA826X is not set +# CONFIG_DVB_TS2020 is not set +# CONFIG_DVB_TUA6100 is not set +# CONFIG_DVB_TUNER_CX24113 is not set +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set +# CONFIG_DVB_TUNER_ITD1000 is not set +# CONFIG_DVB_USB is not set +# CONFIG_DVB_USB_V2 is not set +# CONFIG_DVB_VES1820 is not set +# CONFIG_DVB_VES1X93 is not set +# CONFIG_DVB_ZD1301_DEMOD is not set +# CONFIG_DVB_ZL10036 is not set +# CONFIG_DVB_ZL10039 is not set +# CONFIG_DVB_ZL10353 is not set + +# CONFIG_HAMRADIO is not set +# CONFIG_HDC100X is not set +# CONFIG_HTU21 is not set +# CONFIG_MAX30102 is not set +# CONFIG_MAX31856 is not set +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_MCP320X is not set +# CONFIG_MCP3422 is not set + +# CONFIG_MEDIA_TUNER_E4000 is not set +# CONFIG_MEDIA_TUNER_FC0011 is not set +# CONFIG_MEDIA_TUNER_FC0012 is not set +# CONFIG_MEDIA_TUNER_FC0013 is not set +# CONFIG_MEDIA_TUNER_FC2580 is not set +# CONFIG_MEDIA_TUNER_IT913X is not set +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MSI001 is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MXL301RF is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set +# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set +# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set +# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_R820T is not set +# CONFIG_MEDIA_TUNER_SI2157 is not set +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_TDA18250 is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_TUA9001 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set + +# CONFIG_NET_9P is not set +# CONFIG_NFC is not set +# CONFIG_RADIO_ADAPTERS is not set +# CONFIG_SENSIRION_SGP30 is not set +# CONFIG_SPS30_I2C is not set +# CONFIG_TSL4531 is not set +# CONFIG_USB_ATM is not set +# CONFIG_USB_PRINTER is not set + +# CONFIG_VIDEO_ADV7180 is not set +# CONFIG_VIDEO_AU0828 is not set +# CONFIG_VIDEO_CS53L32A is not set +# CONFIG_VIDEO_CX231XX is not set +# CONFIG_VIDEO_CX25840 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_GO7007 is not set +# CONFIG_VIDEO_HDPVR is not set +# CONFIG_VIDEO_MSP3400 is not set +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_SAA711X is not set +# CONFIG_VIDEO_SONY_BTF_MPX is not set +# CONFIG_VIDEO_STK1160_COMMON is not set +# CONFIG_VIDEO_TC358743 is not set +# CONFIG_VIDEO_TM6000 is not set +# CONFIG_VIDEO_TVP5150 is not set +# CONFIG_VIDEO_TW2804 is not set +# CONFIG_VIDEO_TW9903 is not set +# CONFIG_VIDEO_TW9906 is not set +# CONFIG_VIDEO_UDA1342 is not set +# CONFIG_VIDEO_TW9906 is not set +# CONFIG_VIDEO_UDA1342 is not set +# CONFIG_VIDEO_WM8775 is not set diff --git a/buildroot-external/kernel/ovos.config b/buildroot-external/kernel/ovos.config index bdb70799..a352d38d 100644 --- a/buildroot-external/kernel/ovos.config +++ b/buildroot-external/kernel/ovos.config @@ -18,6 +18,7 @@ CONFIG_SQUASHFS=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_LZ4=y CONFIG_BTRFS_FS=m +CONFIG_OVERLAY_FS=y CONFIG_PARTITION_ADVANCED=y CONFIG_EFI_PARTITION=y @@ -25,3 +26,5 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_LOGO is not set # CONFIG_DEBUG_STACK_USAGE is not set + +# CONFIG_IKCONFIG is not set diff --git a/buildroot-external/rootfs-overlay/etc/fstab b/buildroot-external/rootfs-overlay/etc/fstab index e8ae59b0..caac4bdb 100644 --- a/buildroot-external/rootfs-overlay/etc/fstab +++ b/buildroot-external/rootfs-overlay/etc/fstab @@ -1,3 +1,4 @@ -# -PARTUUID=9262aee5-2d23-4e09-baac-280591e2e834 /boot vfat defaults,noatime 0 0 -PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 / ext4 defaults,noatime 0 1 +# +#PARTUUID=9262aee5-2d23-4e09-baac-280591e2e834 /boot vfat defaults,noatime 0 0 +#PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 / squashfs defaults,noatime 0 1 +#PARTUUID=f1326040-5236-40eb-b683-aaa100a9afcf /mnt/overlay ext4 defaults,noatime 0 1 diff --git a/buildroot-external/kernel/.empty b/buildroot-external/rootfs-overlay/media/rfs/ro/.empty similarity index 100% rename from buildroot-external/kernel/.empty rename to buildroot-external/rootfs-overlay/media/rfs/ro/.empty diff --git a/buildroot-external/rootfs-overlay/mnt/data/.empty b/buildroot-external/rootfs-overlay/media/rfs/rw/.empty similarity index 100% rename from buildroot-external/rootfs-overlay/mnt/data/.empty rename to buildroot-external/rootfs-overlay/media/rfs/rw/.empty diff --git a/buildroot-external/rootfs-overlay/usr/sbin/pre-init b/buildroot-external/rootfs-overlay/usr/sbin/pre-init new file mode 100755 index 00000000..33368521 --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/sbin/pre-init @@ -0,0 +1,50 @@ +#!/bin/sh + +set -euo pipefail + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +/bin/mount -t proc proc /proc +/bin/mount -t sysfs sysfs /sys +grep -w "/dev" /proc/mounts >/dev/null || /bin/mount -t devtmpfs none /dev + +[ -z "${CMDLINE+x}" ] && CMDLINE=`cat /proc/cmdline` +for arg in $CMDLINE; do + optarg=`expr "x$arg" : 'x[^=]*=\(.*\)' || echo ''` + case $arg in + root=*) + ROOT_RODEVICE=$optarg ;; + rootfstype=*) + ROOT_ROFSTYPE=$optarg ;; + esac +done + +ROOT_ROMOUNTPARAMS="-t $ROOT_ROFSTYPE -o noatime,nodiratime $ROOT_RODEVICE" +if ! /bin/mount $ROOT_ROMOUNTPARAMS /media/rfs/ro 2>/dev/null && \ + [ "x-o bind /" == "x$ROOT_ROMOUNTPARAMS" ] || \ + log "Could not mount $ROOT_RODEVICE, bind mounting..." && \ + ! /bin/mount -o bind / /media/rfs/ro; then + fatal "Could not mount read-only rootfs" +fi + +if ! /bin/mount -o remount,ro /media/rfs/ro; then + fatal "Could not remount read-only rootfs as read only" +fi + +if ! /bin/mount PARTUUID=f1326040-5236-40eb-b683-aaa100a9afcf /media/rfs/rw -t auto -o relatime,nosuid,nodev ; then + fatal "Could not mount read-write rootfs" +fi + +mkdir -p /media/rfs/rw/upperdir /media/rfs/rw/work +/bin/mount -t overlay overlay -o lowerdir=/media/rfs/ro,upperdir=/media/rfs/rw/upperdir,workdir=/media/rfs/rw/work /mnt + +mkdir -p /mnt/media/rfs/ro /mnt/media/rfs/rw +/bin/mount -n --move /media/rfs/ro /mnt/media/rfs/ro +/bin/mount -n --move /media/rfs/rw /mnt/media/rfs/rw + +/bin/mount -n --move /proc /mnt/proc +/bin/mount -n --move /sys /mnt/sys +/bin/mount -n --move /dev /mnt/dev + +cd /mnt +exec chroot /mnt /sbin/init || fatal "Couldn't chroot, dropping to shell"