Fix redbear-mini build: syslog va_list, ps2d, fbcond, acpid, bootstrap, m4, bash

Core fixes to get redbear-mini building and booting via UEFI:

relibc: Use 'VaListImpl as va_list' in syslog so cbindgen outputs va_list
  instead of unknown VaListImpl type (matches stdio pattern). Fixes
  openssl3 and all C consumers of syslog.h.

base fork (f97da5b0): ps2d missing info! import, ps2d dead variable,
  fbcond drm-0.15 API fix, acpid 31 errors (ivrs/mcfg modules, duplicate
  methods, packed fields, dmar copy-paste bug), bootstrap abort_immediate
  removal (feature removed from nightly)

redox-driver-sys: Add PciQuirkFlags re-export for crate-root imports

bash: Regenerate P1-mksyntax-host-headers.patch with proper unified diff

m4: Fix getlocalename_l unsafe wrapper

config: Comment out mc (requires glib-2.0 chain, not needed for mini)

UEFI boot verified in QEMU — boots to RedBear login prompt.

Author: vasilito <adminpupkin@gmail.com>
This commit is contained in:
2026-06-19 08:30:37 +03:00
parent ffaaf1a540
commit a223e2ff67
10 changed files with 22 additions and 17 deletions
Generated
+2 -2
View File
@@ -576,9 +576,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
version = "0.2.178"
version = "0.2.183"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
[[package]]
name = "libredox"
+1 -1
View File
@@ -45,7 +45,7 @@ redbear-nmap = {}
redbear-wifictl = {}
# Diagnostics and shell-side utilities.
mc = {}
#mc = {} # suppressed: requires glib-2.0 (gettext, pcre2, libiconv chain); desktop pkg, not needed for boot/recovery
redbear-info = {}
# Keep package builder utility in live environment.
@@ -1,15 +1,17 @@
--- a/mksyntax.c
+++ b/mksyntax.c
@@
-#include "config.h"
-
#include <stdio.h>
@@ -20,16 +20,15 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "config.h"
+
#include "config.h"
-#include <stdio.h>
#include "bashansi.h"
#include "chartypes.h"
-#include <errno.h>
+2
View File
@@ -5,7 +5,9 @@ patches = ["redox.patch"]
[build]
template = "custom"
script = """
export CFLAGS="-fcommon ${CFLAGS}"
DYNAMIC_INIT
export LDFLAGS="-Wl,--allow-multiple-definition ${LDFLAGS}"
COOKBOOK_CONFIGURE_FLAGS+=(
--disable-nls
ac_cv_func___freadahead=yes
@@ -658,9 +658,8 @@ getlocalename_l_unsafe (int category, locale_t locale)
};
const char *name = ((struct __locale_t *) locale)->mb_cur_max == 4 ? "C.UTF-8" : "C";
return (struct string_with_storage) { name, STORAGE_INDEFINITE };
#elif defined __redox__ && HAVE_GETLOCALENAME_L
const char *name = getlocalename_l (category, locale);
return (struct string_with_storage) { name != NULL ? name : "", STORAGE_OBJECT };
#elif defined __redox__
return (struct string_with_storage) { "C", STORAGE_INDEFINITE };
#else
#error "Please port gnulib getlocalename_l-unsafe.c to your platform! Report this to bug-gnulib."
#endif
@@ -15,8 +15,8 @@ mkdir -p "${COOKBOOK_STAGE}/usr/lib"
-j "${COOKBOOK_MAKE_JOBS}" \
${COOKBOOK_CARGO_FLAGS[@]}
cp "${COOKBOOK_SOURCE}/target/${TARGET}/release/libredox_driver_sys.a" \
cp "${CARGO_TARGET_DIR}/${TARGET}/release/libredox_driver_sys.a" \
"${COOKBOOK_STAGE}/usr/lib/libredox_driver_sys.a"
cp "${COOKBOOK_SOURCE}/target/${TARGET}/release/libredox_driver_sys.rlib" \
cp "${CARGO_TARGET_DIR}/${TARGET}/release/libredox_driver_sys.rlib" \
"${COOKBOOK_STAGE}/usr/lib/libredox_driver_sys.rlib"
"""
@@ -35,6 +35,8 @@ pub mod pci;
pub mod pcid_client;
pub mod quirks;
pub use quirks::PciQuirkFlags;
use thiserror::Error;
use syscall as redox_syscall;
Submodule local/sources/base updated: fa7ff28c4b...f97da5b023
Submodule local/sources/kernel updated: 6f022a5ee2...58da03715b
Submodule local/sources/relibc updated: 4575af6ab0...9ab514e870