Commit Graph

367 Commits

Author SHA1 Message Date
Jeremy Soller
c43d5ce261
Ensure build/filesystem exists while building build/filesystem.bin 2022-08-30 08:14:31 -06:00
Jeremy Soller
fd45421a30 Fix disk creation on i686 2022-08-28 15:40:01 -06:00
Jeremy Soller
68c91c801f Support booting both BIOS and UEFI from the same image 2022-08-28 15:24:34 -06:00
Jeremy Soller
801f921c3d
Undo accidental setting of ARCH to i686 2022-08-26 17:44:53 -06:00
Jeremy Soller
cf1695fba4 Update bootloader 2022-08-26 12:34:23 -06:00
Jeremy Soller
231d10a83c
Always use live disk for aarch64 2022-08-26 11:30:14 -06:00
Jeremy Soller
1f339004d6
Support distinct filesystem configs for each architecture 2022-08-26 11:26:05 -06:00
Jeremy Soller
6db193a439
Use minimum x86_64 CPU when not using KVM 2022-08-26 08:29:14 -06:00
Jeremy Soller
b6b0854f4c
Support multi-core x86 2022-08-26 08:25:46 -06:00
Jeremy Soller
15a79f5f84
List i686 as supported arch 2022-08-24 07:39:33 -06:00
Jeremy Soller
723d862a0c Disable efi on i686 2022-08-24 06:26:27 -06:00
Jeremy Soller
d0bcec9c65 Fix swapped harddrive and livedisk 2022-08-24 06:23:57 -06:00
Jeremy Soller
6a7daa8891 Simplify qemu recipes 2022-08-24 06:22:40 -06:00
Jeremy Soller
fefa5b2117 Support higher RAM sizes for x86 2022-08-23 15:42:50 -06:00
Jeremy Soller
c565b323d6 Enable kvm and use q35 for i686 2022-08-21 14:57:56 -06:00
Jeremy Soller
e2c362ea17 Use bootloader package 2022-08-17 07:44:03 -06:00
Jeremy Soller
a99e4904ec Build lld support for rust 2022-08-16 17:09:46 -06:00
Jeremy Soller
dcf706bfd9
Copy key after running installer 2022-08-16 11:40:38 -06:00
4lDO2
ce83e7b46d
Move initfs.mk to a regular cookbook recipe. 2022-08-10 12:14:34 +02:00
Jeremy Soller
1a0afdca45
Remove no-reboot from qemu flags 2022-08-04 10:21:52 -06:00
Jeremy Soller
5cb8411166
Get QEMU to run UEFI aarch64 2022-07-29 12:13:32 -06:00
Jeremy Soller
c34750b50e
Fix syntax issues in qemu makefile 2022-07-29 10:15:18 -06:00
Jeremy Soller
ff83cf6013
Support i686 QEMU 2022-07-29 10:11:32 -06:00
Jeremy Soller
80c192b5a8
Remove extra space from host arch 2022-07-26 13:01:08 -06:00
Jeremy Soller
3d41e23043
Ensure that rustc supports the host target correctly 2022-07-26 12:26:44 -06:00
Jeremy Soller
85d75b7681
Use HOST_CARGO variable for compiling binaries on the host 2022-07-26 12:06:12 -06:00
Jeremy Soller
d97d841c18
mk/prefix.mk: Use correct host target 2022-07-26 07:38:01 -06:00
Jeremy Soller
5b0822f893
Move kernel to cookbook recipe 2022-07-24 09:02:48 -06:00
Jeremy Soller
0a63f024e9
Fix virtualbox log paths 2022-05-02 12:49:48 -06:00
Jeremy Soller
23894f52dc
Use drivers-initfs for smaller initfs 2022-04-13 09:50:30 -06:00
Jeremy Soller
faaed356a3
Merge branch '4lDO2/redox-external-initfs' 2022-04-11 15:16:30 -06:00
Jeremy Soller
0ebdbae622
Create kernel.all file that has both code and debugging symbols 2022-04-11 14:55:31 -06:00
4lDO2
34d9d49ae6
Make prefix before other dependencies. 2022-04-11 22:54:05 +02:00
4lDO2
6df94dde59
Do not rebuild kernel when initfs changes 2022-04-08 14:12:30 +02:00
4lDO2
150253bfbc
Update toolchain to 2022-03-18 2022-03-27 13:30:27 +02:00
Jeremy Soller
7ac5196528
Add files needed for installation to filesystem, do not copy dynamic linking files 2022-03-23 13:54:48 -06:00
Jeremy Soller
1f6e1c9676
Remove pkg directory from initfs 2022-03-23 13:53:35 -06:00
Jeremy Soller
e844d3edab
Allow redoxfs mkfs flags to be set 2022-03-09 10:50:02 -07:00
Jeremy Soller
e779848fdd
Adjust initfs removed binaries, copy bootloader to filesystem 2022-02-28 17:38:21 -07:00
Jeremy Soller
72ba48fee5
Temporarily remove usb-tablet device from qemu 2022-02-14 10:40:27 -07:00
Jeremy Soller
7bfb223b74
Re-enable xhcid and drivers, update kernel 2022-02-14 10:29:33 -07:00
Jeremy Soller
ed5d2783a2
Move live disk support from kernel to bootloader 2022-02-10 15:52:15 -07:00
Jeremy Soller
061cee89e1
Cleanup filesystem-live build target 2022-02-10 13:32:05 -07:00
Jeremy Soller
2731354a9b
Add livedisk-efi.bin target, remove unsupported livedisk-efi.iso target 2022-02-10 12:12:38 -07:00
Jeremy Soller
ecccc8ba22
Fix guest_errors debugging overriding cpu_reset 2022-02-09 10:33:28 -07:00
Jeremy Soller
b0958d492f
Update bootloader, remove bootloader-efi 2022-02-08 14:17:39 -07:00
Jeremy Soller
42cc61803c
Fix live disk and ISO 2022-02-07 20:20:03 -07:00
Jeremy Soller
35cd0b2ab0
WIP changes for rust bootloader 2022-02-07 17:13:28 -07:00
Jeremy Soller
17bf88b390
Ensure that REDOXER_TOOLCHAIN is set for all makefile targets 2021-07-18 20:48:01 -06:00
Jeremy Soller
db157bc963
Attempt to build HOST_TARGET in rust-install 2021-07-12 07:29:29 -06:00
Jeremy Soller
b35a91576d
Workarounds for compilation issues 2021-06-18 13:54:40 -06:00
Jeremy Soller
848c3f9ec1
Fix incorrect path when copying from rust install to relibc install 2021-06-18 13:44:00 -06:00
4lDO2
97cab676c1
Update toolchain to nightly-2021-06-15. 2021-06-18 09:28:35 +02:00
Jeremy Soller
b2b49fbd77
Update kernel and makefiles to enable use of GS segment 2021-02-23 09:23:37 -07:00
Jeremy Soller
f644c0d883
Use /sbin/parted to call parted. This might need to be improved with automatic detection of the parted location later 2021-01-21 15:49:22 -07:00
Jeremy Soller
d32d94c796
Fix EFI variable, update CI to use 20.04 2020-12-24 15:30:01 -07:00
Jeremy Soller
1d01a7bd01
Also remove unused initfs bins from coreboot and live initfs 2020-12-23 10:00:36 -07:00
Jeremy Soller
2ecd6ac473
Hack for smaller initfs 2020-12-22 10:47:00 -07:00
Jeremy Soller
23adc0ddc7
Remove old EFI harddrive target 2020-11-22 21:12:32 -07:00
Jeremy Soller
1b7fe5e233
Make default image use MBR partition table 2020-11-22 21:08:43 -07:00
Robin Randhawa
b9f43dd529 Switch kernel builds away from using xargo
Use cargo's 'build-std=core,alloc' instead.

Also: Cargo is now given the complete path to the target specific JSON file.
This forces the use of the JSON file (the file is silently ignored if
the target in question was built into the rust compiler).
2020-10-06 14:00:30 +01:00
Jeremy Soller
d7e52b5238
Use CPU with all required features when kvm=no is specified 2020-09-09 10:39:28 -06:00
Wren Turkal
8f20770117 Allow logging serial from qemu to a file.
Setting the qemu_serial_logfile variable in your .config to a file path
will cause the serial output from qemu to be mirrored to that file.

Signed-off-by: Wren Turkal <wt@penguintechs.org>
2020-07-23 21:45:13 -07:00
Jeremy Soller
8703773f76
Undo CFLAGS hack after finding cause 2020-07-17 14:16:43 -06:00
Jeremy Soller
abe99bba7c
Set march to x86-64 in CFLAGS and CXXFLAGS when compiling prefix 2020-07-15 15:41:14 -06:00
Jeremy Soller
1b3ded69be
Attempt to compile binutils and gcc for generic x86_64 2020-07-15 13:10:16 -06:00
Wren Turkal
a930d6672e Add a file to hold a local make config.
This file can be used to set make variables to override defaults
without checking such changes into git. This is useful for settings
such as the filesystem size generated for qemu images.

Signed-off-by: Wren Turkal <wt@penguintechs.org>
2020-07-11 17:20:29 -07:00
jD91mZM2
1e524c44f8
Add gdbserver + fix net=redir 2020-06-19 09:47:39 +02:00
Jeremy Soller
14b048c34e
Unset RUSTUP_TOOLCHAIN when checking for Rust depends 2020-06-18 20:15:03 -06:00
Mark Harris
3f3c8a23a3
Fix build of rust-install 2020-06-12 09:16:36 -07:00
Jeremy Soller
c7c2e89c3f
Require rustup and nasm 2020-06-06 21:35:35 -06:00
Jeremy Soller
f5e83779e0
Require cargo-config 2020-06-06 21:32:28 -06:00
Jeremy Soller
03e6618a10
Require xargo 0.3.20 2020-06-06 21:29:53 -06:00
Jeremy Soller
52982d83a4
Fix relibc-freestanding path 2020-06-06 21:12:15 -06:00
Jeremy Soller
b830f48d20 Update prefix.mk 2020-06-01 20:33:30 +00:00
Jeremy Soller
52b8045fc5
Use gcc-install as base of rust-install and fix compilation of relibc-freestanding-install 2020-05-28 16:39:56 -06:00
Jeremy Soller
34d4e2dcfd
Clean up prefix and fix PREFIX_BINARY=0 build 2020-05-28 14:55:57 -06:00
Jeremy Soller
0b5de37c1c
Update cookbook and build cookbook binary 2020-05-25 21:53:12 -06:00
Jeremy Soller
1e269d9fab
Add INSTALLER variable 2020-05-22 19:56:04 -06:00
Jeremy Soller
92b9c3892f
Set RUSTUP_TOOLCHAIN to rust-install by default 2020-05-22 19:54:57 -06:00
Jeremy Soller
33e425c95c
Set REDOXER_TOOLCHAIN in preperation for new cookbook 2020-05-22 16:04:13 -06:00
Jeremy Soller
621066cb53
Remove PREFIX_RUSTC 2020-05-22 16:00:40 -06:00
Jeremy Soller
5be4d46b50
Set relibc base depending on PREFIX_BINARY and PREFIX_RUSTC 2020-05-22 15:55:19 -06:00
Jeremy Soller
db8bc29994
Build redoxfs and installer outside of build environment 2020-05-22 15:45:34 -06:00
Jeremy Soller
5d6a610024
Download rust-install if PREFIX_BINARY is 1 2020-05-22 15:45:13 -06:00
Xavier L'Heureux
6fa84e73fa
Add dependencies for user-space programs on FreeBSD 2020-05-03 18:57:52 -04:00
Xavier L'Heureux
a622fc1001
Fix conditional target 2020-05-02 20:45:15 -04:00
Xavier L'Heureux
bed8fcc41a
Start adding basic support for FreeBSD 2020-05-02 20:13:21 -04:00
Jeremy Soller
f71d233cb0 Merge branch 'cbindgen' into 'master'
Simplify relibc install steps (submodule needs to be updated once relibc commit is in)

See merge request redox-os/redox!1232
2020-04-10 23:08:26 +00:00
Jeremy Soller
94a1e0d5b0
Use variable for qemu EFI firmware location 2020-03-29 20:02:37 -06:00
Graham MacDonald
cfc3d24fe5 Simplify relibc install steps 2020-03-29 10:41:51 +01:00
Jeremy Soller
1bac098cc0
Format harddrive-efi.bin target 2020-01-21 19:52:22 -07:00
Jeremy Soller
c91465dc1c
Make harddrive-efi.bin target run in a single shell instance 2020-01-21 19:50:15 -07:00
Jeremy Soller
6a2ac14550
Remove erroneous ONESHELL usage 2020-01-21 19:41:25 -07:00
Jeremy Soller
175039bded
Revert "Fix .partial paths"
This reverts commit 8cccf0edaa.
2020-01-21 19:39:28 -07:00
Jeremy Soller
ed5c8eb92c
Correctly determine size of MBR partition 2020-01-20 09:29:37 -07:00
Jeremy Soller
30a9278cfd Merge branch 'fix-1283' into 'master'
Fix .partial paths

Closes #1283

See merge request redox-os/redox!1229
2020-01-20 16:17:45 +00:00
Tibor Nagy
8cccf0edaa Fix .partial paths
Fixes #1283
2020-01-14 17:24:22 +01:00
4lDO2
f6276291ae Add the somehow-deleted qemu_no_build. 2020-01-14 21:56:09 +11:00
4lDO2
a66af97a99 Add make recipes for MBR-partitioned BIOS disks. 2020-01-14 21:50:16 +11:00
4lDO2
455dc29bc9 Change the format of harddrive-efi.bin to GPT. 2020-01-06 18:33:22 +11:00
Jeremy Soller
d05b0844aa
Add extra space for livedisk-efi.iso target 2019-10-05 10:04:42 -06:00
Jeremy Soller
f6d65aee63
Add target to mount extra and use livedisk with nvme 2019-10-05 10:01:44 -06:00
Jeremy Soller
d876f58b00
Switch extra.qcow2 to extra.bin 2019-09-15 13:41:21 -06:00
Jeremy Soller
29a66e716f
Add extra drive to qemu_nvme 2019-09-07 20:53:12 -06:00
Jeremy Soller
87bb9fc2f6
Fix use of GDB in QEMU 2019-09-07 20:01:03 -06:00
Jeremy Soller
ad6e8428ae
Fix compilation of EFI programs 2019-09-07 20:00:50 -06:00
Jeremy Soller
ddbdc5a5d1
Add EFI nvme target 2019-08-27 14:47:09 -06:00
Jeremy Soller
31dbd609d3
Use NVMe as root when running make qemu_nvme 2019-08-24 20:53:48 -06:00
jD91mZM2
fc39474f3f
Fix xargo deadlock 2019-08-10 18:01:42 +02:00
Jeremy Soller
c35d9e39f7
Link to stdcpp statically 2019-06-20 18:38:54 -06:00
Jeremy Soller
f4786da9be
Compile cargo statically 2019-06-20 18:37:26 -06:00
Jeremy Soller
2dd140995d
Remove freestanding rust files as much as possible from rust install, build cargo only 2019-06-19 21:19:59 -06:00
Jeremy Soller
c3be572aa5
Build rust toolchains with tools like cargo 2019-06-19 20:09:48 -06:00
Jeremy Soller
bd3726f719
Use binary prefix 2019-06-18 20:10:30 -06:00
jD91mZM2
99d181f13d
Remove nix-related patches and files
Everything has now been moved to
https://gitlab.redox-os.org/redox-os/redox-nix :)
2019-06-17 15:22:00 +02:00
Jeremy Soller
02574c26bd
Merge prefix changes from master 2019-06-16 19:37:40 -06:00
Jeremy Soller
907a162d5b
Fix build with new compiler-builtins, update kernel 2019-06-07 15:59:45 -06:00
Jeremy Soller
bd4a3ef82a
Improve prefix generation and fix build 2019-06-02 06:45:18 -06:00
Jeremy Soller
344f9b3044
Set use PREFIX_RUSTC when using PREFIX_BINARY 2019-04-20 10:37:26 -06:00
Jeremy Soller
f81513eb5a
Fix failure to statically link 2019-04-19 21:24:21 -06:00
Jeremy Soller
1c4797e16d
Copy relibc artifacts to filesystem 2019-04-15 21:27:59 -06:00
Jeremy Soller
bdf32d1873
Also strip libraries using --strip-unneeded 2019-04-15 21:19:54 -06:00
Jeremy Soller
bb2b3fa60b
Remove libtool files 2019-04-15 21:19:40 -06:00
Jeremy Soller
f903bc383b
Do not allow multilib 2019-04-15 21:07:50 -06:00
Jeremy Soller
185fd55884
Fix build of gcc-freestanding 2019-04-12 11:32:09 -06:00
Jeremy Soller
78d75cdc73
Fix prefix 2019-04-11 15:20:37 -06:00
Jeremy Soller
ea0e7fa0c2
Enable shared libraries 2019-04-10 20:49:09 -06:00
Jeremy Soller
13add4c0f8
Fix build of relibc-freestanding 2019-04-07 16:39:27 -06:00
Jeremy Soller
5c09549072
It looks like gcc-install still needs C libs 2019-04-07 11:27:20 -06:00
Jeremy Soller
137db4615a
Fix build of prefix 2019-04-07 10:12:28 -06:00
Jeremy Soller
ebee179b5b
Only build headers for relibc freestanding install 2019-04-07 09:55:45 -06:00
Jeremy Soller
d0eee110bd
Fix PREFIX_BASE_INSTALL definition 2019-03-31 15:55:14 -06:00
Jeremy Soller
2e9caf13d6
Fix bochs target 2019-03-31 15:05:52 -06:00
Jeremy Soller
41a7749c3e Build rustc prefix when aarch64 target is used 2019-03-30 14:08:57 -06:00
Jeremy Soller
6f6de7507b
Include custom Rust when compiling with PREFIX_RUSTC 2019-03-29 20:57:33 -06:00
Jeremy Soller
278478d42a
Add PREFIX_BASE variables that point to either binutils or rust 2019-03-29 20:50:38 -06:00
Jeremy Soller
f2a38f35af
Building rust does not require gcc freestanding 2019-03-29 20:46:23 -06:00
Robin Randhawa
a5d04a31e3 prefix: Fix RUSTUP_TOOLCHAIN spec
Needs full path to PREFIX_FREESTANDING_INSTALL.
2019-03-24 00:05:54 +00:00
Robin Randhawa
8c3241e7a6 prefix: Fix build breakage due to invalid prefix argument
Building a rust compiler for x86_64-unknown-redox using:

$ PREFIX_RUSTC=1 PREFIX_BINARY=0 make prefix

fails with a message citing 'could not canonicalize prefix path'. As
seen in rust/bootstrap/install.rs:

https://gitlab.redox-os.org/redox-os/rust/blob/redox/src/bootstrap/install.rs#L77

.. the expectation is that either the '--prefix' argument passed to
rust's configure script is a valid path or not specified at all (in
which case a correct default is used).

This patch uses the former approach resulting in a correct build.
2019-03-23 22:15:40 +00:00
Robin Randhawa
548b946f88 Fix incorrect path to rust's configure script
Needed to build rustc from source using:

$ PREFIX_RUSTC=1 PREFIX_BINARY=0 make prefix
2019-03-18 17:31:17 +00:00
Jeremy Soller
783f7354a4 Fix build of bootloader-efi 2019-03-17 13:56:10 -06:00
Jeremy Soller
2c4f853c4a
Fix issue with binutils missing libexec 2019-03-16 21:47:10 -06:00
Jeremy Soller
8a75b46e8a
Update prefix strip to prevent stripping libgcc 2019-03-16 21:37:06 -06:00
Jeremy Soller
68883b867d
Strip only host binaries 2019-03-16 21:29:33 -06:00
Jeremy Soller
7402f72531
Do not keep build directories 2019-03-16 21:20:02 -06:00
Jeremy Soller
6c6e989437
Strip all prefix binaries 2019-03-16 21:11:08 -06:00
Jeremy Soller
4105029d0d
Also create relibc toolchain tarball 2019-03-16 20:01:34 -06:00
Jeremy Soller
f947d2b0dd
Fix issue with not clearing out old gcc-install when extracting new one 2019-03-16 19:54:24 -06:00
Jeremy Soller
40d9117b17
Makefile cleanup, default to binary prefix 2019-03-16 19:50:08 -06:00