VOGONS


Reply 40 of 45, by gsos

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on Today, 08:50:

I'd like to see more useful screenshots as well as prebuilt release binaries/images in the future. Currently I'm looking at how to set up a proper build environment to experiment with it.

My targets would be mostly baremetal hardware, preferably installed on hard disk though I'd be doing initial tests using bootable USB sticks. Regarding emulated (not natively present) functionalities (video, sound, etc.) I wonder where I should look at in order to configure them?

And regarding the license, it's not recognized by GitHub (showing it as just "License"), but it appears to be WTFPL with the "NO WARRANTY" disclaimer taken from MIT added under it.

Yes I should invest some time into setting up a convenient flow. Building should be easy, the ./run.sh script should work basically out of the box (downloading bazelisk automatic). bazel-out/kernel.elf is the kernel, but you need a ext4 filesystem present.

The way I have it, I have linux running on my laptop. I build kernel.elf and copy it into /boot/retroos and add grub menu for it and /home/retroos is prepared to have BOOT/... (command.com, dn, config.sys) ULTRASND/ for midi patches, CD/ and FLOPPY/ contain any images (iso,cue, img) and then my games, borlandc etc..

So /home/retroos

drwxrwsr-x 3 priv-gerben retroos 4096 Aug 19 21:09 BOOT
lrwxrwxrwx 1 priv-gerben retroos 59 Aug 19 21:09 BORLANDC -> /home/priv-gerben/project/RetroOS/apps-proprietary/BORLANDC
lrwxrwxrwx 1 priv-gerben retroos 53 Aug 19 21:09 BP -> /home/priv-gerben/project/RetroOS/apps-proprietary/BP
lrwxrwxrwx 1 priv-gerben retroos 53 Aug 14 20:01 CD -> /home/priv-gerben/project/RetroOS/apps-proprietary/CD
lrwxrwxrwx 1 priv-gerben retroos 57 Aug 14 20:01 FLOPPY -> /home/priv-gerben/project/RetroOS/apps-proprietary/FLOPPY
drwxrwsr-x 2 priv-gerben retroos 4096 Aug 19 21:09 GAMES
drwxrwsr-x 4 priv-gerben retroos 4096 Aug 19 21:04 OS2
lrwxrwxrwx 1 priv-gerben retroos 47 Aug 19 21:09 ULTRASND -> /home/priv-gerben/project/RetroOS/apps/ultrasnd
drwxrwsr-x 4 priv-gerben retroos 4096 Aug 19 21:56 WINDOWS

I added initial OS2/WINDOWS support last evening, that's why those directories are there.

Then /home/retroos/BOOT

drwxrwsr-x 3 priv-gerben retroos   4096 Aug 19 21:09 .
drwxrwsr-x 8 priv-gerben retroos 4096 Aug 19 21:56 ..
-r-xrwxr-x 1 priv-gerben retroos 24144 Aug 19 21:09 COMMAND.COM
drwxrwsr-x 2 priv-gerben retroos 4096 Aug 19 21:09 DN
-r-xrwxr-x 1 priv-gerben retroos 437024 Aug 19 21:09 KERNEL.SYM
-r-xrwxr-x 1 priv-gerben retroos 2861 Aug 19 21:09 LOADFIX.CFG
-r-xrwxr-x 1 priv-gerben retroos 3428 Aug 19 21:09 SHELL.ELF

My /etc/grub.d/40_custom

cat /etc/grub.d/40_custom 
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "RetroOS (protected disk)" {
insmod part_gpt
insmod ext2
insmod multiboot
insmod efi_gop
set gfxmode=auto
set gfxpayload=keep
search --no-floppy --file /boot/retroos/kernel.elf --set=root
multiboot /boot/retroos/kernel.elf ram-overlay
boot
}

menuentry "RetroOS (writeable disk)" {
insmod part_gpt
insmod ext2
insmod multiboot
insmod efi_gop
set gfxmode=auto
set gfxpayload=keep
search --no-floppy --file /boot/retroos/kernel.elf --set=root
multiboot /boot/retroos/kernel.elf
boot
}

I recommend to start with the ram-overlay which causes disk writes to only affect the ram-overlay and not modify the hard disk. Maybe @inagy can tell in detail his setup, but he is booting from his raspberry pi.

Reply 41 of 45, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Tried building but not successful. I'm using the commands you mentioned in the "Build" section of README.md instead of the run.sh which I suppose is more for running compiled targets...

My host is Arch Linux based. Currently I'm using rustup and bazelisk packages from pacman.

Here's the build output with "--verbose_failures" added to bazelisk arguments regarding the error.

INFO: Analyzed target //:image (90 packages loaded, 5933 targets configured).
ERROR: /data/RetroOS/kernel/BUILD.bazel:171:12: Compiling Rust bin retroos-host (1 file) [for tool] failed: (Exit 1): process_wrapper failed: error executing Rustc command (from target //kernel:retroos-host)
(cd /home/user/.cache/bazel/_bazel_user/a7f4c046dc473b410a4dd4e0a0b103ef/sandbox/linux-sandbox/515/execroot/_main && \
exec env - \
CARGO_CFG_TARGET_ARCH=x86_64 \
CARGO_CFG_TARGET_OS=linux \
CARGO_CRATE_NAME=retroos_host \
CARGO_MANIFEST_DIR='${pwd}/kernel' \
CARGO_PKG_AUTHORS='' \
CARGO_PKG_DESCRIPTION='' \
CARGO_PKG_HOMEPAGE='' \
CARGO_PKG_NAME=retroos-host \
CARGO_PKG_VERSION=0.0.0 \
CARGO_PKG_VERSION_MAJOR=0 \
CARGO_PKG_VERSION_MINOR=0 \
CARGO_PKG_VERSION_PATCH=0 \
CARGO_PKG_VERSION_PRE='' \
LD_LIBRARY_PATH='' \
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
REPOSITORY_NAME='' \
ZERO_AR_DATE=1 \
bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~/util/process_wrapper/process_wrapper --arg-file bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__libc-0.2.186/_bs.linksearchpaths --subst 'pwd=${pwd}' --subst 'exec_root=${exec_root}' --subst 'output_base=${output_base}' -- bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~rust~rust_linux_x86_64__x86_64-unknown-linux-gnu__nightly_tools/rust_toolchain/bin/rustc kernel/src/main.rs '--crate-name=retroos_host' '--crate-type=bin' '--error-format=human' '--out-dir=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel' '--codegen=opt-level=3' '--codegen=debuginfo=0' '--codegen=strip=debuginfo' '--remap-path-prefix=${pwd}=.' '--remap-path-prefix=${exec_root}=.' '--remap-path-prefix=${output_base}=.' '--emit=link=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel/retroos-host' '--emit=dep-info' '--color=always' '--target=x86_64-unknown-linux-gnu' -L bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~rust~rust_linux_x86_64__x86_64-unknown-linux-gnu__nightly_tools/rust_toolchain/lib/rustlib/x86_64-unknown-linux-gnu/lib '--edition=2024' '-Cembed-bitcode=no' '--codegen=linker=/usr/sbin/gcc' '--codegen=link-arg=-fuse-ld=lld' '--codegen=link-arg=-B/usr/sbin' '--codegen=link-arg=-Wl,-no-as-needed' '--codegen=link-arg=-Wl,-z,relro,-z,now' '--codegen=link-arg=-pass-exit-codes' '--codegen=link-arg=-Wl,--gc-sections' '--codegen=link-arg=-Wl,--push-state,-as-needed' '--codegen=link-arg=-lstdc++' '--codegen=link-arg=-Wl,--pop-state' '--codegen=link-arg=-Wl,--push-state,-as-needed' '--codegen=link-arg=-lm' '--codegen=link-arg=-Wl,--pop-state' '-Lnative=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/unicorn/unicorn/lib' '-Lnative=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~lwext4' '-lstatic=unicorn' '-Clink-arg=-lunicorn' '-lstatic=lwext4_host' '-Clink-arg=-llwext4_host' '--extern=kernel=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel/libkernel-345816794.rlib' '--extern=retroos_arch_interp=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/arch-interp/libretroos_arch_interp-391651502.rlib' '--extern=lib=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/lib/liblib-386233736.rlib' '--extern=vga=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/lib/libvga-505772366.rlib' '--extern=sound=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/lib/libsound-542287918.rlib' '--extern=lwext4=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/lwext4/liblwext4-861921465.rlib' '--extern=lwext4_sys=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/lwext4/liblwext4_sys-731513127.rlib' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/klog' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/lib' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~nuked_opl3' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/lwext4' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__bytemuck_derive-1.12.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__bytemuck-1.25.2' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__cfg-if-1.0.4' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__embedded-io-0.7.1' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__zerocopy-derive-0.8.56' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-fixed-2.0.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-io-2.0.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-path-2.0.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__noalloc-0.0.1' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__zerocopy-0.8.56' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__endian-num-0.2.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-macros-2.0.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__scopeguard-1.2.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__lock_api-0.4.14' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__bitflags-2.13.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-common-2.0.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-part-2.0.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__spin-0.12.2' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~bitflags' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~log' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/arch-abi' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/voodoo' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-iso-2.0.0' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~fatfs' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__rustc-demangle-0.1.27' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__unicorn-engine-sys-2.1.5' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__libc-0.2.186' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__unicorn-engine-2.1.5' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel' '-Ldependency=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/arch-interp' '--sysroot=bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~rust~rust_linux_x86_64__x86_64-unknown-linux-gnu__nightly_tools/rust_toolchain' '-Cpanic=abort' '-Crelocation-model=static')
# Configuration: 9750c3709d99419e4c56edd72750e9f13bcc9895c954ae6e73a969df2f902206
# Execution platform: @@platforms//host:host

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
error: linking with `/usr/sbin/gcc` failed: exit status: 1
|
= note: "/usr/sbin/gcc" "-m64" "/home/user/.cache/bazel/_bazel_user/a7f4c046dc473b410a4dd4e0a0b103ef/sandbox/linux-sandbox/515/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel/rustcrQE2HF/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "-lunicorn" "-llwext4_host" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort-*.rlib" "/home/user/.cache/bazel/_bazel_user/a7f4c046dc473b410a4dd4e0a0b103ef/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel/libkernel-345816794.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~fatfs/libfatfs-1269675949.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~bitflags/libbitflags-2296606973.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~log/liblog-192684875.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/lwext4/liblwext4-861921465.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/voodoo/libvoodoo-409010663.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/lwext4/liblwext4_sys-731513127.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-iso-2.0.0/libhadris_iso-1173291256.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__bitflags-2.13.0/libbitflags-426805593.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-io-2.0.0/libhadris_io-3428972955.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__embedded-io-0.7.1/libembedded_io-400402238.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-common-2.0.0/libhadris_common-1965804352.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-path-2.0.0/libhadris_path-1453752966.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__zerocopy-0.8.56/libzerocopy-239233032.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__noalloc-0.0.1/libnoalloc-1333964645.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__hadris-fixed-2.0.0/libhadris_fixed-778759671.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__bytemuck-1.25.2/libbytemuck-3676478283.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/lib/libsound-542287918.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~nuked_opl3/libnuked_opl3-1202259879.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__spin-0.12.2/libspin-16997579.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__lock_api-0.4.14/liblock_api-1800404391.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__scopeguard-1.2.0/libscopeguard-2096412608.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/lib/{libvga-505772366,liblib-386233736}.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/klog/libklog-1506101342.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__rustc-demangle-0.1.27/librustc_demangle-1873733380.rlib" "/home/user/.cache/bazel/_bazel_user/a7f4c046dc473b410a4dd4e0a0b103ef/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/arch-interp/libretroos_arch_interp-391651502.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__libc-0.2.186/liblibc-4078536105.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__unicorn-engine-2.1.5/libunicorn_engine-323025378.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~crate~crates__unicorn-engine-sys-2.1.5/libunicorn_engine_sys-616523268.rlib" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/arch-abi/libarch_abi-79344026.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/home/user/.cache/bazel/_bazel_user/a7f4c046dc473b410a4dd4e0a0b103ef/sandbox/linux-sandbox/515/execroot/_main/bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel/rustcrQE2HF/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/unicorn/unicorn/lib" "-L" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/_main~_repo_rules~lwext4" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "bazel-out/k8-opt-exec-ST-d57f47055a04/bin/kernel/retroos-host" "-Wl,--gc-sections" "-no-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "-fuse-ld=lld" "-B/usr/sbin" "-Wl,-no-as-needed" "-Wl,-z,relro,-z,now" "-pass-exit-codes" "-Wl,--gc-sections" "-Wl,--push-state,-as-needed" "-lstdc++" "-Wl,--pop-state" "-Wl,--push-state,-as-needed" "-lm" "-Wl,--pop-state" "-lunicorn" "-llwext4_host"
= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: ld.lld: error: undefined symbol: __atomic_compare_exchange_16
>>> referenced by cputlb.c
>>> cputlb.c.o:(helper_atomic_cmpxchgo_le_mmu_x86_64) in archive bazel-out/k8-opt-exec-ST-d57f47055a04/bin/third_party/unicorn/unicorn/lib/libunicorn.a
collect2: error: ld returned 1 exit status


error: aborting due to 1 previous error

Target //:image failed to build
INFO: Elapsed time: 2.741s, Critical Path: 1.13s
INFO: 2 processes: 2 internal.
ERROR: Build did NOT complete successfully

BTW: Before this error I had another set of errors including this following one, which went away after adding "--repo_env=BAZEL_CONLYOPTS="-std=gnu17"" into bazelisk args according to this comment. Perhaps toolchains from Arch Linux is too new for the purpose requiring some additional efforts to make workflows compatible.

goption.c:169:14: error: two or more data types in declaration specifiers
169 | gboolean bool;
| ^~~~
goption.c:169:18: warning: declaration does not declare anything
169 | gboolean bool;
| ^
goption.c: In function 'free_changes_list':
goption.c:1603:60: error: expected identifier before 'bool'
1603 | *(gboolean *)change->arg_data = change->prev.bool;

Reply 42 of 45, by gsos

User metadata
Rank Newbie
Rank
Newbie

Hmm thanks for the report, maybe try "bazelisk build //:image --host_linkopt=-latomic " .

Reply 43 of 45, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
gsos wrote on Today, 16:11:

Hmm thanks for the report, maybe try "bazelisk build //:image --host_linkopt=-latomic " .

Thanks. Build process went through. However, it seems there's something not right with the finalization part, ending with errors.

Regarding the error, it tried to run "tools/dosrt/interp_tcc.sh" which involves building a COMMAND.COM with... "TCC.EXE", using "retroos-host" which I think is compiled in the previous steps.

And the process was aborted (core dumped). The "run.log" (which I cannot find a physical copy of) printed on the console says:

---- run.log ---- Storage: ata0 (1312 MB) Block devices initialized Platform: host=Interp vga_passthrough=false firmware=Substit […]
Show full quote

---- run.log ----
Storage: ata0 (1312 MB)
Block devices initialized
Platform: host=Interp vga_passthrough=false firmware=Substitute audio=EmulatedSilent hostfs=true debug=HostStdout
Disk writes: PERSISTENT — pass `ram-overlay` to protect the disk
Threading initialized
ext4 root (1280 MB)

thread 'main' (10) panicked at kernel/src/kernel/startup.rs:359:23:
ext4 mount failed: ext4_mount failed
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Does this step of the build process require root privileges (sudo)? I'm currently running the command as normal user... though I'm afraid I need to be privileged to be able to mount or umount.

Reply 44 of 45, by gsos

User metadata
Rank Newbie
Rank
Newbie

I attached command.com so you can just restrict to compiling kernel.elf and use command.com from attachment

Reply 45 of 45, by gsos

User metadata
Rank Newbie
Rank
Newbie

Hmm maybe your new version of ext4 tools use new features, the dormant lwext4 lib i use not support. I pushed a branch claude/ext4-mkfs-feature-pinning , that has some updates around not using newer features