Commit graph

337 commits

Author SHA1 Message Date
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
Jeremy Soller 7f9a82752d
Significant changes to prefix in order to generate path agnostic toolchain. Addition of ci-toolchain target 2019-03-16 19:09:43 -06:00
Jeremy Soller 8160d711ca
Configurable filesystem size and automatic FAT filesystem size 2019-03-16 15:18:30 -06:00
Jeremy Soller 2161c9586a
Update ci-img target to build all possible disk formats 2019-03-16 14:55:11 -06:00
Jeremy Soller ddb93aa4af
Update EFI image creation 2019-03-16 14:31:33 -06:00
Jeremy Soller 0f545ed1a9
Use serial for debugging by default 2019-03-11 19:55:10 -06:00
Jeremy Soller 84b66dba99
Use 0x402 for qemu debugging 2019-03-11 19:51:14 -06:00
Jeremy Soller 986aad930f Compile more things with LTO 2019-02-25 16:08:17 -07:00
Jeremy Soller 0c56ae16e8 Add support for building as a coreboot payload 2019-02-25 12:10:16 -07:00
Jeremy Soller df37d9eca1
Increase speed of kernel build when initfs changes 2019-01-13 17:01:34 -07:00
Jeremy Soller db2f5d8a6d
Enable LTO compilation 2018-12-22 16:45:16 -07:00
Jeremy Soller ad559bfec5
Update to add pthread support to gcc and c++ 2018-12-14 16:01:31 -07:00
Jeremy Soller 9d4a2650eb
Fix running qemu_live, update kernel 2018-12-02 19:26:16 -07:00
Jeremy Soller 878abd66d2
Cleanup for gcc make targets 2018-11-27 20:47:13 -07:00
Jeremy Soller 0fd0a2d895
Enable c++ 2018-11-27 20:36:09 -07:00
Jeremy Soller 7b461bd7e0
Set path where required 2018-11-27 20:17:56 -07:00
Jeremy Soller 373566aee5
Update prefix logic from aarch64 2018-11-27 19:55:15 -07:00
Jeremy Soller 9cece170b1
Backport prefix changes from aarch64 2018-11-27 19:45:52 -07:00
Jeremy Soller b2bfc74fe2
Improve definition of targets for prefix 2018-11-26 13:28:51 -07:00
Jeremy Soller 4e8015d89e
Use the same arguments for building live kernel 2018-11-25 08:26:02 -07:00
Jeremy Soller bba86d6a1c
Fix running qemu with EFI 2018-11-21 19:37:07 -07:00
Jeremy Soller ea4ac261cd
Build kernel when lock file changes 2018-11-16 20:09:26 -07:00
Jeremy Soller e1fc987ffa Update bootloader-efi 2018-11-12 21:00:11 -07:00
Jeremy Soller 5d256f4996
Use xargo to compile relibc, to allow patching of rust core and alloc 2018-11-11 08:14:01 -07:00
Jeremy Soller e1b7b0e8cb Merge branch 'relibc' 2018-10-14 16:41:00 -06:00
Jeremy Soller 0efb736d1c Update cookbook
Fix shadow permissions
2018-09-18 16:18:53 -06:00
Jeremy Soller e90ab78641 Fix incorrect clean in prefix build 2018-09-17 21:30:15 -06:00
Jeremy Soller 580287392b - Do not copy relibc before building
- Remove debug section from live kernel as well
2018-09-15 07:25:49 -06:00
Caleb Boylan a02d5d9ad1 Change reference to github in mk/kernel.mk 2018-08-26 09:27:35 -07:00
Jeremy Soller dea9942d27 Set path to include binutils when building freestanding gcc 2018-08-19 14:11:29 -06:00
MggMuggins a20585cc33 Update installer; Permissions changes
"Permissions changes" entail removing the chown/chmod calls in
mk/filesystem.mk since that has all been implemented in the correct
locations. I also moved /tmp creation from mk/filesystem.mk to
filesystem.toml, since the installer now supports creating directories
and handling permissions
2018-08-18 13:46:07 -05:00