Commit Graph

538 Commits

Author SHA1 Message Date
bjorn3
ccb1509f00 Rename redox-live.img to redox-live.iso 2025-06-22 20:13:59 +02:00
Petr Hrdina
42b1a1c14a
Add make recipe commands for multiple targets 2025-06-22 12:34:42 +02:00
Wildan Mubarok
5ebd0729f9 Make libtool cloning works for older git 2025-06-13 02:16:00 +00:00
Jeremy Soller
691d845d4b Merge branch 'virtualbox-deprecated-audio-switch' into 'master'
vbox: --audio is deprecated/removed

See merge request redox-os/redox!1586
2025-06-12 11:03:05 -06:00
Jeremy Soller
05e7695761 Merge branch 'faster-libtool-clone' into 'master'
Speedup cloning libtool

See merge request redox-os/redox!1584
2025-06-12 10:54:46 -06:00
Josh Megnauth
e352fe6bfd
vbox: --audio is deprecated/removed
--audio-driver is the replacement switch.
2025-06-06 23:54:29 -04:00
Wildan Mubarok
ed0da0981b Speedup cloning libtool 2025-06-03 18:35:10 +00:00
bjorn3
41b51f692a Add support for netboot
This includes building a tftp root and using it with qemu.
2025-06-01 20:54:56 +02:00
zinzaguras
9a3866e758 Fix non podman build.
1. Export version for libtool cause some packages checks for it;
2. Set PATH variable to include redox toolchain before sysroot been created,
as it's required by libtool and relibc.
2025-05-12 23:05:35 +00:00
Jeremy Soller
a874fe29e4
Add target for finding recipe 2025-05-09 10:23:05 -06:00
Jeremy Soller
8a3948e181
Use gnulib github mirror 2025-05-07 10:22:22 -06:00
Jeremy Soller
a162e93e79
ci-toolchain should depend on container tag 2025-05-06 20:00:34 -06:00
Jeremy Soller
38e0f178fb
Build minimal and minimal-net images 2025-04-24 17:19:22 -06:00
Ron Williams
daf4a0f730 Fix typo 2025-04-23 21:34:02 -07:00
Ron Williams
cf9a0085be Improve host vs container separation of fstools 2025-04-24 04:28:15 +00:00
Jeremy Soller
d8a3052f88 Use podman compiled list_packages for ci-pkg 2025-04-23 19:21:34 -06:00
Jeremy Soller
eb474e6858 Remove docgen 2025-04-23 19:19:45 -06:00
Jeremy Soller
198f665c0d Fix installer path 2025-04-23 19:18:42 -06:00
Jeremy Soller
490b7d7f3a Add fstools and container dependencies to ci-pkg target 2025-04-23 19:11:58 -06:00
Jeremy Soller
5e2bc43891
Build installer and redoxfs for host outside of podman 2025-04-23 17:40:56 -06:00
Jeremy Soller
b580423f76
Make image directory for server/desktop/demo targets 2025-04-23 15:42:09 -06:00
Jeremy Soller
058b402bfc
Set sysroot date after finishing build 2025-04-23 15:38:46 -06:00
Jeremy Soller
5e4d5af2f9
Revert "Make sure repo.tag is built before harddrive.img and livedisk.iso in ci-img"
This reverts commit d6f1dbf284.
2025-04-23 15:38:21 -06:00
Jeremy Soller
cecae079fc
Fix repo build with podman 2025-04-23 15:38:03 -06:00
Jeremy Soller
d6f1dbf284
Make sure repo.tag is built before harddrive.img and livedisk.iso in ci-img 2025-04-23 15:29:33 -06:00
Jeremy Soller
d4626b6f1e
Do not use podman for image recipes 2025-04-23 10:21:18 -06:00
Jeremy Soller
f4fe37478f
Minor cleanup of fstools 2025-04-23 09:33:25 -06:00
Jeremy Soller
dd484d3767
Disable appstream generation for CI until fixed inside podman 2025-04-21 14:58:30 -06:00
Jeremy Soller
a75fc7ea77
Drop PREFER_STATIC from makefiles 2025-04-18 10:44:49 -06:00
Jeremy Soller
eb00e7db8c
Fix ci targets when using podman 2025-04-18 09:11:36 -06:00
Jeremy Soller
5e3bcaee08
Add custom target for compiling relibc-freestanding for riscv64gc 2025-04-17 10:10:29 -06:00
bjorn3
35b9b69c6d Fix qemu config for multi-head gpu
The old config would create two separate VGA compatible graphics
adapters. Redox currently only supports this when the firmware
initializes both graphics adapters as boot framebuffers. Only UEFI
supports this however. Using a single multi-head virtio-gpu graphics
adapter makes it work on BIOS too.
2025-03-02 20:43:51 +01:00
Vincent Berthier
4573edcc16 Add shell and build environment for NixOS 2025-02-18 22:23:42 +00:00
Leandro Santiago
dcb884549a Allow building when SELinux is not used
Add `USE_SELINUX` variable to `make all`
2025-02-12 20:30:06 +01:00
Anhad Singh
78a2aa75dd
fix(mk/ci.mk): set COOKBOOK_HOST_SYSROOT and COOKBOOK_PREFER_STATIC
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-02-05 02:33:19 +11:00
Ron Williams
bd772d5b97 Add path to fetch.tag 2025-01-26 22:32:37 +00:00
Jeremy Soller
2e8196ae5e Merge branch 'dynamic_linking' into 'master'
fear(repo.mk): PREFER_STATIC

See merge request redox-os/redox!1540
2025-01-20 19:55:22 +00:00
Anhad Singh
cd911d16df
fear(repo.mk): PREFER_STATIC
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-20 23:15:19 +11:00
Jeremy Soller
cde151ccb7
Drop rust freestanding step 2025-01-14 12:28:58 -07:00
Jeremy Soller
74f0a0eea1 Merge branch 'dynamic_linking' into 'master'
feat(prefix): set default hash style to GNU

See merge request redox-os/redox!1537
2025-01-11 18:39:40 +00:00
Ron Williams
0bf3a56fea Add 'touch sysroot' after copy of relibc-install 2025-01-09 16:15:58 -08:00
Anhad Singh
48ca562cf1
feat(prefix): set default hash style to GNU
Our dynamic linker supports it.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-09 20:20:21 +11:00
Anhad Singh
34153db14d
fix(prefix.mk): gcc-freestanding
Build libgcc (relibc needs it) and disable shared.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-27 23:23:31 +11:00
Jeremy Soller
b812780a54 Merge branch 'dynamic_linking' into 'master'
fix(mk/prefix.mk): fix libtool build

See merge request redox-os/redox!1531
2024-12-22 02:21:36 +00:00
Anhad Singh
a7c06e9b72
fix(mk/prefix.mk): fix libtool build
Worked for me before as I had the old sources. Now the ltversion should
be correct and libtool should be correctly built.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-21 20:28:11 +11:00
Jeremy Soller
0be6bddbb8 Merge branch 'dynamic_linking' into 'master'
fix(libtool): correct ltversion

See merge request redox-os/redox!1530
2024-12-20 14:25:52 +00:00
Anhad Singh
f8d2c7ed4b
fix(mk/prefix.mk): correct ltversion
The script `build-aux/git-version-gen` needs sufficient depth to
correctly determine the version. Also it has to be in tree, otherwise
the version is reported as 'UNKNOWN', breaking some packages.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-21 01:09:52 +11:00
Jeremy Soller
01737d8537 Merge branch 'qemu-rasp' into 'master'
Fix make qemu rasperry pi 3b emulation

See merge request redox-os/redox!1528
2024-12-18 18:19:07 +00:00
Andrey Turkin
6205eafd4c Fix make qemu rasperry pi 3b emulation 2024-12-16 06:50:21 +03:00
Anhad Singh
6450defff0
fix(repo.mk): set COOKBOOK_HOST_SYSROOT
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-12 00:13:27 +11:00
Anhad Singh
008160036d
feat(prefix): libtool
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-02 22:21:45 +11:00
Ron Williams
e9628b64d8 Fix CI, add packages to ci.toml so desktop can build from binaries 2024-11-21 15:06:54 +00:00
Jeremy Soller
9d789178be
Make it possible to set qemu machine for aarch64 2024-10-29 08:52:10 -06:00
Jeremy Soller
ac8efee64a Build docgen and pkgar as part of fstools 2024-10-19 16:53:33 -06:00
Jeremy Soller
d79cc14f6a
Generate appstream data when building repo via CI 2024-10-15 21:14:30 -06:00
Andrey Turkin
03633046cc Riscv64gc support in the build scripts
This architecture is different from x86/aarch because its rust triplet (riscv64gc-...) differs from gcc/llvm/binutils triplet (more general riscv64-...). Therefore the build scripts have to bridge that mismatch.

This introduces new build-time environment variable GNU_TARGET which corresponds to a target used by C world utilities whereas existing TARGET now describes rust target.
2024-09-30 10:28:37 +03:00
Ribbon
56b3efa7b6 Enable Podman by default 2024-09-20 21:00:16 +00:00
IncompententPirate
ad7733c7a1 Clarify error message by adding double quotes around 'just' to reduce confusion in mk/depends.mk 2024-09-06 09:40:41 +00:00
Ron Williams
fd40776d35 Fix CI to avoid RedoxFS/FUSE/tar problems 2024-08-28 12:55:25 -07:00
Ron Williams
f51dee2ea1 Make installer compile on host, list_packages compile in Podman when PODMAN_BUILD=1 2024-08-17 23:59:37 +00:00
Ron Williams
c0ccfc1572 Don't run fetch if rebuildinga 2024-08-05 11:46:18 -07:00
Ribbon
8cd0b1af0f Rename two make options to a correct name 2024-07-20 00:47:36 +00:00
Ribbon
49102f6332 Add explanation comments on the build system files 2024-07-09 12:58:07 +00:00
Jeremy Soller
db2da8206e
Clarify qemu argument for ata disk 2024-06-14 08:59:39 -06:00
bjorn3
1448667c3d Replace separate targets for each disk kind with a make flag
A command like `make qemu_nvme` will become `make qemu disk=nvme` with
this change.

Also add support for selecting a virtio-blk disk and remove the
*_no_build targets as they didn't do anything different from the regular
targets anyway.
2024-06-13 17:17:57 +02:00
Jeremy Soller
50c9d3d2ce
Use separate copy of relibc for freestanding 2024-05-11 15:42:00 -06:00
Jeremy Soller
f9823473e2
Use target-specific folder for relibc source for freestanding build 2024-05-11 14:37:47 -06:00
Jeremy Soller
a393103334
use usb-tablet instead of usb-mouse for qemu aarch64 2024-05-08 13:08:54 -06:00
Jeremy Soller
f474b4cfb9
Disable binary prefix when not building on x86_64 Linux 2024-05-06 11:35:23 -06:00
Ron Williams
b5f22bd20f Make QEMU smp and mem options configurable 2024-04-04 13:08:10 +00:00
Jeremy Soller
ff74ae6681
Use qemu-xhci for usb on aarch64 2024-03-25 14:29:10 -06:00
bjorn3
40305c7980 Use U-Boot with QEMU again if efi=no is used
Also add a nicer error message when the firmware package is not
installed.
2024-03-20 15:43:53 +01:00
Jeremy Soller
0e892b725f
Use AAVMF for qemu virt 2024-03-19 20:28:48 -06:00
bjorn3
7043e9e932 Prevent the build cache for the installer getting clobbered
Previously it was getting built by two different toolchains (nightly
from rustup and the relibc prefix) Also some env vars differed between
both invocations causing blake3 and sodiumoxide to get rebuilt.
2024-03-17 18:54:24 +01:00
Jeremy Soller
c959953e0a Use REPO_NONSTOP in ci.mk 2024-01-28 16:17:07 +00:00
bjorn3
69364ba176 Only enable -d cpu_reset for qemu when debugging
It is only useful when debugging and otherwise just throws a whole bunch
of logs on every boot.
2024-01-25 15:22:03 +01:00
Jeremy Soller
33769cd851 Allow any just version 2024-01-12 13:04:29 -07:00
bjorn3
aa7edc6ef1 Zstd compress all images
I tried gzip, bzip2, xz and xzstd. Xz 22s for a 128MB disk image. Out of
all other options zstd was both the fastest to compress (<1s) and
produced the smallest file (28MB).
2024-01-11 21:18:21 +01:00
Jeremy Soller
dac858b84e
Default to using kvm when arch is i686 and host is x86_64 2024-01-11 09:55:54 -07:00
Jeremy Soller
17e3c17c73
Do not use prefix rustc to determine host target 2024-01-10 11:08:31 -07:00
Jeremy Soller
7de457e022
Ensure lib/rustlib/HOST_TARGET/lib exists in prefix tarballs 2024-01-10 09:53:13 -07:00
bjorn3
34acc9cb04 Don't checkout rust submodule by default
It is no longer necessary for regular builds as of the previous commit.
This will drastically improve the time it takes to do the initial clone
of redox.
2024-01-10 15:19:06 +01:00
bjorn3
da380dd368 Don't rebuild lib/rustlib/src in the rust sysroot
The prebuilt tarball already contains it now
2024-01-09 11:05:06 +01:00
bjorn3
5ce30e6da6 Somewhat simplify config.mk
* nproc exists on FreeBSD too
* REDOX_MAKE is generally make, so use that as default with per-OS
  override if necessary.
* HOST_TARGET can be fetched directly from rustc.
2024-01-08 19:24:14 +01:00
bjorn3
cf04f50d86 Use sparse files for the generated disk images on all OSes
Rather than just on macOS. This can save quite a bit of space depending
on the amount of free space on the root filesystem of the disk image.
2024-01-08 19:09:51 +01:00
Jeremy Soller
0427420717
Use installer to resolve filesystem size 2024-01-04 12:22:43 -07:00
Jeremy Soller
27c3d69aed Merge branch 'sparse_extra' into 'master'
Use sparse allocation of extra.img on Linux too

See merge request redox-os/redox!1391
2024-01-03 19:23:46 +00:00
Ron Williams
6258becc3c add nonstop, uc and ucf to build, plus scripts include-recipes.sh and show-package.sh 2024-01-03 19:15:30 +00:00
bjorn3
ffd64a8703 Use sparse allocation of extra.img on Linux too
fallocate immediately allocates the full size of the file, even though
it likely won't end up being used.
2023-12-17 12:44:32 +01:00
Ivan Tan
097c6876bf add raspi3b config 2023-12-17 10:16:42 +08:00
Jeremy Soller
1afef4aef0 Merge branch 'ivan/board_var' into 'master'
aarch64: support building Redox for different motherboard.

See merge request redox-os/redox!1388
2023-12-15 23:18:38 +00:00
4lDO2
e3013ac40b
Add checks and install cbindgen in bootstrap.sh. 2023-12-14 15:32:54 +01:00
Ivan Tan
584e6fb548 aarch64: support building Redox for different motherboard. 2023-12-14 12:29:20 +00:00
Jeremy Soller
fb1478d9bf
Replace rebuild-recipe with make cr.recipe and make ucr.recipe 2023-12-13 14:41:38 -07:00
Jeremy Soller
7bec121856
Fix clean prefix build 2023-12-13 12:10:42 -07:00
Jeremy Soller
89749d3722
Copy relibc source to prefix to prevent problems when running multiple arch builds at once 2023-12-12 13:49:45 -07:00
Jeremy Soller
71406afe4f
Adjust i686 qemu parameters and allow kvm to be specified 2023-12-12 08:06:12 -07:00
Jeremy Soller
fc90fb9e0d Merge branch 'ivan/raspi3bp' into 'master'
add command to support qemu-arm64 and qemu-raspi3b

See merge request redox-os/redox!1385
2023-12-11 16:08:52 +00:00
Ivan Tan
636df55a51 add command to support qemu-arm64 and qemu-raspi3b 2023-12-08 23:51:12 +08:00
mattmadeofpasta
b86622d73b
Add just to the build dependencies 2023-11-23 21:40:00 +00:00
Ron Williams
5ad0f9900a Update config.mk to support changed option name for REPO_BINARY=1 2023-11-05 12:56:28 +00:00
bjorn3
3bea19f266 Switch qemu sound device from hda-duplex to hda-output
hda-duplex allows recording too. At least for XFCE this results in a
scary mic recording icon even when nothing inside the VM is actually
recording anything.
2023-10-18 22:51:41 +02:00
bjorn3
84bccb1d60 Build redoxfs and redoxfs-mkfs at the same time
This should be a bit faster.
2023-10-03 16:07:03 +02:00
Jeremy Soller
69183b3bd8
Clean relibc before build 2023-09-11 12:44:10 -06:00
Jeremy Soller
984823d22c
Change d.recipe to u.recipe 2023-09-11 11:22:27 -06:00
Jeremy Soller
4400396b09
Add d.package target for unfetching, update cookbook 2023-09-09 09:15:55 -06:00
Jeremy Soller
498deea753
Fix name of binutils tarball 2023-09-08 14:18:17 -06:00
Jeremy Soller
6f171b0ac0
Update binutils and gcc 2023-09-08 13:23:41 -06:00
Jeremy Soller
3a1b960bd4
Add option for virtio networking 2023-07-07 09:23:52 -06:00
Jeremy Soller
5e89a28c5a
Add vga=virtio qemu option 2023-07-07 08:47:44 -06:00
Jeremy Soller
287df06afe
Add QEMU option for rtl8139 2023-07-07 08:21:57 -06:00
uuuvn
5554ba3cd6
Allow KVM if host architecture is the same as a guest's one 2023-06-07 11:28:15 +00:00
uuuvn
28268bf703
Add support for non-x86 hosts 2023-06-06 15:31:47 +00:00
uuuvn
0da79d81b4
Build rustlib/src together with prefix 2023-05-22 08:42:41 +00:00
Jeremy Soller
b23109cec5
Name QEMU windows 2023-05-06 12:51:07 -06:00
Will Angenent
025cf84c86 Fix running qemu with aarch64 on MacOS 2023-04-29 15:27:20 +01:00
Will Angenent
2b1619c1e0 Unset CC and CXX before building prefix, since they could interfere 2023-04-15 18:33:35 +01:00
Jeremy Soller
8d53d7188a
Support aarch64 GUI 2023-04-04 08:14:43 -06:00
Will Angenent
09eca87a41 Fix missing ftruncate on MacOS 2023-04-02 11:16:09 +01:00
Will Angenent
9463599948 Remove unnecessary sudo from MacOS umount 2023-04-02 11:16:09 +01:00
Will Angenent
7b41f437a0 Use -u when unsetting env for better portability.
Fixes the MacOS build.
2023-04-02 11:16:09 +01:00
Will Angenent
b0feb1b423 Detect installed fusermount or fusermount3 binary 2023-03-21 03:02:07 +00:00
Jeremy Soller
ce9ce1b54b
Also build redoxfs-mkfs as part of fstools 2023-03-14 12:26:34 -06:00
Ron Williams
be957aa4d7 enable build from mixed source/binary packages 2023-03-09 23:30:33 -08:00
Jeremy Soller
7f40e64fde
Ensure build directory exists before touching fstools tag 2023-03-09 12:23:16 -07:00
Ron Williams
374e37d5b9 Improve dependencies on build tools 2023-03-06 12:41:45 -08:00
Jeremy Soller
383003220c
Add f.recipe target to fetch recipes 2023-02-25 08:48:08 -07:00
Jeremy Soller
3c63648d19
Remove all references to xargo 2023-02-21 11:53:37 -07:00
Jeremy Soller
0427f3ff8c
Update Rust to nightly-2023-01-21 2023-02-11 14:01:00 -07:00
Jeremy Soller
8f37e0deb5 Add vga=multi argument 2023-01-20 11:53:29 -07:00
Jeremy Soller
b42080deca Add clean target for individual recipes 2023-01-20 11:53:05 -07:00
Jeremy Soller
b199398c1d Fix qemu disk argument 2023-01-11 11:01:09 -07:00
Jeremy Soller
5b4ee80e10 Build Rust source tarball as part of rust-install 2022-12-18 08:06:28 -07:00
Ron Williams
1bc9362245 Add image and r.PACKAGE targets 2022-12-16 19:23:19 -08:00
Jeremy Soller
42acdf1089
Fix CI image build 2022-12-02 17:22:44 -07:00
Ron Williams
aea97d0a11 Update podman and bootstrap for Neverball 2022-11-26 21:07:04 -08:00
Jeremy Soller
c8634bd989
Fix ci-img 2022-11-23 13:58:56 -07:00
Jeremy Soller
13c5790bb6
Use ac97 by default on i686 2022-11-16 12:34:48 -07:00
Ron Williams
09bd6b1bc2 Move Rust install to build dir 2022-11-15 15:06:11 -08:00
Jeremy Soller
8b4707ade2 Merge branch 'rw_van_221117' into 'master'
move Rust install to a persistent container dir

See merge request redox-os/redox!1290
2022-11-15 22:18:07 +00:00
Ron Williams
e86794e500 Update podman.mk 2022-11-15 22:16:54 +00:00
Jeremy Soller
eb75853345
Allow selecting ac97 2022-11-15 15:11:38 -07:00
Ron Williams
2e42fbb6c8 move Rust install to a persistent container dir 2022-11-15 12:35:44 -08:00
Jeremy Soller
35832abf8a
Merge branch 'master' of https://gitlab.redox-os.org/redox-os/redox 2022-11-15 10:25:50 -07:00
Jeremy Soller
2809419d6b
Enable audio out in virtualbox 2022-11-15 10:25:44 -07:00
Ron Williams
edbea01093 fix podman colors, env target and netsurf build 2022-11-14 22:13:46 -08:00
Ron Williams
f312f466f6 add config name to .img or .iso 2022-11-12 07:01:25 -07:00
Ron Williams
1772f78aa9 Add podman build 2022-11-11 15:23:08 -08:00
Jeremy Soller
04286c49ac
Use local packages for ci images 2022-11-11 12:19:51 -07:00
Jeremy Soller
ab6d3c0a87
Move CI to arch-specific location 2022-11-10 15:40:32 -07:00