commit 829017b3ef1f46c871a94e97accf04d31bbc686d Author: Dustin C. Hatch Date: Thu Jul 31 16:27:54 2025 -0500 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a485625 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/_build diff --git a/Config.in b/Config.in new file mode 100644 index 0000000..e69de29 diff --git a/config.txt b/config.txt new file mode 100644 index 0000000..c47fc4f --- /dev/null +++ b/config.txt @@ -0,0 +1,31 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt + +# enable 64bits support +arm_64bit=1 + +dtoverlay=vc4-kms-v3d diff --git a/configs/kitchenos_defconfig b/configs/kitchenos_defconfig new file mode 100644 index 0000000..d6103f8 --- /dev/null +++ b/configs/kitchenos_defconfig @@ -0,0 +1,65 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_INIT_SYSTEMD=y +BR2_PACKAGE_SYSTEMD_DEFAULT_TARGET="graphical.target" +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_SYSTEM_BIN_SH_BASH=y +# BR2_TARGET_GENERIC_GETTY is not set +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_kitchenos_PATH)/rootfs" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,cd231d4775b14f228606c09f219b48308f6ab3aa)/linux-cd231d4775b14f228606c09f219b48308f6ab3aa.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +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 broadcom/bcm2711-rpi-cm4s" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +# BR2_PACKAGE_BUSYBOX is not set +BR2_PACKAGE_XZ=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_SWAY=y +BR2_PACKAGE_MESA3D=y +BR2_PACKAGE_MESA3D_LLVM=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y +BR2_PACKAGE_MESA3D_OPENGL_ES=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_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_kitchenos_PATH)/config.txt" +BR2_PACKAGE_LIBGTK3=y +# BR2_PACKAGE_LIBGTK3_BROADWAY is not set +BR2_PACKAGE_WEBKITGTK=y +BR2_PACKAGE_WEBKITGTK_HTTPS=y +BR2_PACKAGE_LINUX_PAM=y +BR2_PACKAGE_CHRONY=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_NETWORK_MANAGER=y +BR2_PACKAGE_NETWORK_MANAGER_CLI=y +BR2_PACKAGE_OPENSSH=y +# BR2_PACKAGE_OPENSSH_CLIENT is not set +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_SEATD_BUILTIN=y +BR2_PACKAGE_SYSTEMD_LOGIND=y +# BR2_PACKAGE_SYSTEMD_NETWORKD is not set +BR2_PACKAGE_SYSTEMD_SYSUSERS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/external.desc b/external.desc new file mode 100644 index 0000000..6dac877 --- /dev/null +++ b/external.desc @@ -0,0 +1,2 @@ +name: kitchenos +desc: Kitchen HUD OS diff --git a/external.mk b/external.mk new file mode 100644 index 0000000..e69de29 diff --git a/rootfs/etc/pam.d/kiosk b/rootfs/etc/pam.d/kiosk new file mode 100644 index 0000000..c96b6e1 --- /dev/null +++ b/rootfs/etc/pam.d/kiosk @@ -0,0 +1,3 @@ +auth required pam_permit.so +account required pam_permit.so +session required pam_systemd.so diff --git a/rootfs/usr/lib/systemd/system-preset/kiosk.preset b/rootfs/usr/lib/systemd/system-preset/kiosk.preset new file mode 100644 index 0000000..18717cd --- /dev/null +++ b/rootfs/usr/lib/systemd/system-preset/kiosk.preset @@ -0,0 +1,3 @@ +enable sshd.service + +enable kiosk.service diff --git a/rootfs/usr/lib/systemd/system/kiosk.service b/rootfs/usr/lib/systemd/system/kiosk.service new file mode 100644 index 0000000..2d5b669 --- /dev/null +++ b/rootfs/usr/lib/systemd/system/kiosk.service @@ -0,0 +1,22 @@ +[Unit] +Description=Kiosk +Conflicts=getty@tty1.service + +[Service] +Type=exec +ExecStart=/usr/bin/sway +RuntimeDirectory=%N +Environment=XDG_RUNTIME_DIR=%t/%N +PAMName=%N +User=%N +SupplementaryGroups=render tty +StandardInput=tty-force +StadnardOutput=inherit +StandardError=journal +TTYPath=/dev/tty1 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +[Install] +WantedBy=graphical.target diff --git a/rootfs/usr/lib/sysusers.d/kiosk.conf b/rootfs/usr/lib/sysusers.d/kiosk.conf new file mode 100644 index 0000000..96f469c --- /dev/null +++ b/rootfs/usr/lib/sysusers.d/kiosk.conf @@ -0,0 +1,2 @@ +g kiosk - - - +u kiosk - "Kiosk User" /home/kiosk /bin/bash