diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md index 4b16bca08d..c56d945e0e 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,9 +1,9 @@ |Manufacturer|System|Release Date|Games Path|Supported Extensions|Emulator / Core| |----|----|----|----|----|----| -| System|Media Player (mplayer)|System|`mplayer`|.3g2 .3gp .aac .ac3 .asf .avi .divx .dts .eac33 .f4f .f4v .flac .flv .m2p .m2ts .m3u .m4a .mka .mkv .mov .mp3 .mp4 .mpeg .mpg .mxf .ogg .ogm .opus .ps .sh .thd .ts .twi .vob .wav .webm .wma .wmv .wv .ytb|**mplayer:** mplayer (default)
**retroarch:** ffmpeg
| +| System|Media Player (mplayer)|System|`mplayer`|.3g2 .3gp .aac .ac3 .asf .avi .divx .dts .eac33 .f4f .f4v .flac .flv .m2p .m2ts .m3u .m4a .m4v .mka .mkv .mov .mp3 .mp4 .mpeg .mpg .mxf .ogg .ogm .opus .ps .sh .thd .ts .twi .vob .wav .webm .wma .wmv .wv .ytb|**mplayer:** mplayer (default)
**retroarch:** ffmpeg
| | System|Moonlight Game Streaming (moonlight)|System|`moonlight`|.sh|**moonlight:** moonlight (default)
| | System|Music Player (music)|System|`playlists`|.m3u .sh|**gmu:** gmu (default)
| -| System|Ports (ports)|System|`ports`|.sh|**portmaster:** portmaster (default)
| +| System|Ports (ports)|System|`ports`|.sh .appimage|**portmaster:** portmaster (default)
| | System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi|| | System|Tools (tools)|System|`modules`|.sh|| |Acorn|BBC Micro (bbcmicro)|1981|`bbcmicro`|.ssd .dsd|**retroarch:** b2 (default)
| diff --git a/scripts/checkdeps b/scripts/checkdeps index 7208ceceec..94f29efda8 100755 --- a/scripts/checkdeps +++ b/scripts/checkdeps @@ -170,7 +170,7 @@ case "${DISTRO}" in [XML::Parser]=XML-Parser ) ;; - arch|endeavouros) + arch|endeavouros|cachyos|manjaro|garuda|artix) dep_map+=( [g++]=g++ [mkfontscale]=xorg-mkfontscale @@ -273,7 +273,7 @@ if [ "${#need_map[@]}" -gt 0 ]; then mageia) get_yes_no && sudo urpmi "${need_map[@]}" ;; - arch|endeavouros) + arch|endeavouros|cachyos|manjaro|garuda|artix) get_yes_no && sudo pacman -Sy "${need_map[@]}" ;; opensuse) diff --git a/scripts/mkimage b/scripts/mkimage index d45aa2a0da..cd59b23f57 100755 --- a/scripts/mkimage +++ b/scripts/mkimage @@ -133,18 +133,26 @@ dd if=/dev/zero of="${IMG_TMP}/part2.ext4" bs=512 count="${STORAGE_PART_COUNT}" # create filesystem on part2 echo "image: creating filesystem on part2..." -mke2fs -F -q -t ext4 -T ext4 -O ^orphan_file -m 0 "${IMG_TMP}/part2.ext4" -tune2fs -L "${DISTRO_DISKLABEL}" -U ${UUID_STORAGE} "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error -e2fsck -n "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error +# Use the toolchain-built e2fsprogs binaries (matching the target's version) +# rather than whatever lives on the build container's PATH. Mismatched +# versions are observable on-device: a fs created with a newer mke2fs/tune2fs +# may be flagged as "Filesystem corruption" by the older e2fsck baked into +# the initramfs, even though the host considers it clean. See: +# https://github.com/archr-linux/Arch-R/... — fix for 1.47.4 (host) vs +# 1.47.3 (target) divergence that made ARCHR_ROOT fail to mount on first +# boot of the 20260514 build. +${TOOLCHAIN}/sbin/mke2fs -F -q -t ext4 -T ext4 -O ^orphan_file -m 0 "${IMG_TMP}/part2.ext4" +${TOOLCHAIN}/sbin/tune2fs -L "${DISTRO_DISKLABEL}" -U ${UUID_STORAGE} "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error +${TOOLCHAIN}/sbin/e2fsck -n "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error sync # add resize mark mkdir "${IMG_TMP}/part2.fs" touch "${IMG_TMP}/part2.fs/.please_resize_me" echo "image: populating filesystem on part2..." -populatefs -U -d "${IMG_TMP}/part2.fs" "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error +${TOOLCHAIN}/bin/populatefs -U -d "${IMG_TMP}/part2.fs" "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error sync -e2fsck -n "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error +${TOOLCHAIN}/sbin/e2fsck -n "${IMG_TMP}/part2.ext4" >"${SAVE_ERROR}" 2>&1 || show_error # merge part2 into disk image echo "image: merging part2 into disk image..." @@ -154,7 +162,7 @@ dd if="${IMG_TMP}/part2.ext4" of="${DISK}" bs=512 seek="${STORAGE_PART_START}" c if [ "${ROOTFS_TYPE}" = "ext4" ]; then echo "image: preparing root ext4 partition..." # Set label and UUID on the ext4 rootfs image - tune2fs -L "${DISTRO_ROOTLABEL}" -U ${UUID_ROOT} "${RELEASE_DIR}/target/SYSTEM" >"${SAVE_ERROR}" 2>&1 || show_error + ${TOOLCHAIN}/sbin/tune2fs -L "${DISTRO_ROOTLABEL}" -U ${UUID_ROOT} "${RELEASE_DIR}/target/SYSTEM" >"${SAVE_ERROR}" 2>&1 || show_error # Write root ext4 image into disk at ROOT_PART_START echo "image: merging root ext4 into disk image..."