Commit graph

267 commits

Author SHA1 Message Date
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
Jeremy Soller 233295bc17 Specify prefix as a dependency 2018-08-17 18:47:48 -06:00
Jeremy Soller 2027210677 Update relibc 2018-08-17 18:41:27 -06:00
Jeremy Soller dbc1c9676f Update gcc build with freestanding path 2018-08-17 15:48:55 -06:00
Jeremy Soller 3d2a3c0419 Path variables, prefix recipe 2018-08-17 15:32:43 -06:00
Jeremy Soller de4c9db524 Fix build for relibc 2018-08-17 15:21:55 -06:00
Jeremy Soller 9aaf4e3558 WIP: Build of cross compiler 2018-08-16 20:30:54 -06:00
Jeremy Soller e7375348e0 Make images in gitlab ci 2018-06-10 09:54:05 -06:00
Paul 67740defa8
Fix for qemu 2.12
They removed -net dump and replaced it with -object filter-dump
2018-05-26 13:42:05 -07:00
Jeremy Soller 0a834ca34d Reduce size of EFI livedisk 2018-04-26 20:35:59 -06:00
Jeremy Soller be2cfe69a1 Update EFI bootloader and add harddrive recipe 2018-04-20 20:47:40 -06:00
Jeremy Soller 4462e8654d Add EFI ISO 2018-04-12 21:24:07 -06:00
Jeremy Soller 52fead239f Fix build 2018-03-20 20:46:20 -06:00
Jeremy Soller d09edb4f83 Update cookbook, use release version of installer 2018-03-12 20:52:42 -06:00
Jeremy Soller 7980218cd9 Update kernel 2018-03-11 11:39:01 -06:00
Dan Robertson 804d0ad641
Keep debug info in a .sym file
- Compile time changes
   - Compile libkernel.a with debug info
   - Copy debug info to kernel.sym
   - Strip the kernel of debug symbols
 - Workflow changes
   - Add `debug` option to `make qemu`
2017-12-03 02:36:45 +00:00
Dan Robertson 48089fbb1f
Allow specifying a bridge for qemu to use
Allow `make qemu` to take an additional parameter `bridge` that
specifies the bridge interface to use for the netdev. This allows
`make qemu brige=br0` which would create a VM connected to br0.
2017-11-12 04:15:23 +00:00
Jeremy Soller 9fb3223dfa Update kernel.mk 2017-10-05 18:23:21 -06:00
Jeremy Soller 49cd5866ac Fix live filesystem by using a different initfs 2017-10-01 14:25:07 -06:00
Andre Richter 49867f754c
Fix missing build directory
Currently, `build/bootloader` is the first make target being executed
during `make all`. However, after a clean checkout, the `build`
directory does not yet exist. Create it accordingly.
2017-09-28 10:51:30 +02:00
Jeremy Soller 333ac88938 Copy filesystem configuration to filesystem 2017-09-27 21:08:02 -06:00
Jeremy Soller ba742d4ade Add qemu_extra target, update installer 2017-09-27 20:53:48 -06:00
Jeremy Soller b6fccc37ba Copy bootloader to filesystem 2017-09-27 20:30:19 -06:00
Jeremy Soller 158eeb81b5 Add rule for making detached bootloader 2017-09-27 20:24:45 -06:00
Jeremy Soller edf3ac0582 Update installer 2017-09-26 20:53:08 -06:00
Jeremy Soller 345c6bc434 New method of linking live filesystem
Downsize live filesystem to 256 MB
2017-09-19 20:36:44 -06:00
Jeremy Soller 7b58e44ea7 Do not use quiet on cargo build in filesystem target 2017-09-13 16:35:24 -06:00
Jeremy Soller 66b9452310 Change log names back to defaults 2017-09-04 14:52:36 -06:00
Jeremy Soller 25ae3ad4e8 Do not include kernel in bootloader 2017-07-21 20:44:45 -06:00
Jeremy Soller c8d7b6d773 Clean initfs before installing 2017-07-20 20:04:34 -06:00
Jeremy Soller 3c395f11f8 Clean kernel on initfs regen 2017-07-20 19:47:59 -06:00
Jose Narvaez 8a43b5a3e5 Small fixes to Makefiles to be able to build the kernel on
macOS again.

Details

- We are using the toolchain compiler and archiver in order
to generate a proper ELF file when building the 'raw-cpuid'
crate C code which is currently being compiled by the macOS
toolchain.

- I added the 'findutils' and 'coreutils' Homebrew/MacPorts
packages to the bootstrap script in order to setup the proper
environment for the cookbook scripts (as the assume GNU tools).
This should be temporary until the cookbook scripts get migrated
to Rust.
2017-07-13 21:09:47 +01:00
Jeremy Soller cb0dd7ffd5 Make travis build use packages from static.redox-os.org 2017-06-29 20:06:16 -06:00
Jeremy Soller e9a1765311 Move installer/redoxfs submodule to redoxfs 2017-06-29 18:14:28 -06:00
Jeremy Soller 672f8b8297 Upgrade cookbook, revert Rust, clean cookbook in make clean, put xargo build in subfolder 2017-06-19 20:15:56 -06:00
Jeremy Soller 88800adc26 Add all recipes to filesystem.toml, commented out where not default.
Update cookbook
Increase VirtualBox RAM, use Intel HDA for audio
2017-06-18 15:11:25 -06:00
Jeremy Soller 3af4415a4a Add audio to makefile 2017-06-17 16:59:01 -06:00
Jeremy Soller 1aeec04da7 Increase qemu memory size 2017-06-17 14:33:22 -06:00
Jeremy Soller cc8b991b99 Reduce size to 512 2017-06-17 14:33:08 -06:00
Jeremy Soller 913687d1fb Move kernel into filesystem 2017-06-17 13:23:12 -06:00
Jeremy Soller 2158be3aee Update kernel and bootloader 2017-06-13 21:43:57 -06:00
Ian Douglas Scott 84a2580eb3 Merge branch 'master' into filesystem 2017-06-02 19:50:41 -07:00
Ian Douglas Scott 008622844c
Increase filesystem size to 1024 MB
I needed to do this to fit gcc/binutils.
2017-06-02 19:22:39 -07:00
Jeremy Soller aaa96bf329 Disable a few packages in default build, use partial filesystem to avoid incomplete build 2017-05-12 20:37:59 -06:00
Jeremy Soller 737b9c4c60 Update recipes 2017-05-11 21:19:31 -06:00
Jeremy Soller c9950beec2 Convert to cookbook based build 2017-05-10 21:39:05 -06:00
Jeremy Soller aba92d0528 Update dependencies and submodules 2017-05-03 22:09:58 -06:00
Jeremy Soller 98e7a35630 Update to break tar into library and utility 2017-04-22 20:06:56 -06:00
Jeremy Soller 07f3659f55 Quieter filesystem generation 2017-04-17 20:37:06 -06:00
Jeremy Soller 66e090b943 Increase FS size
Update list of crates in workspace
2017-04-17 19:25:15 -06:00
Jeremy Soller c4d652b1de Add timeout example 2017-04-08 22:02:38 -06:00
Jeremy Soller 0059276741 Do not include games or binutils by default 2017-04-07 21:25:16 -06:00
Jeremy Soller ae4bcb43e7 Add gunzip/gzip 2017-04-06 21:43:02 -06:00
Jeremy Soller 29e6283840 Update submodules 2017-04-05 20:11:30 -06:00
Jeremy Soller 4a20c8f6c0 Use patched termion, add resize executable, update rust nightly version 2017-03-27 18:55:06 -06:00
Jeremy Soller ed161c2e58 Merge pull request #896 from NickeZ/virtualbox-absolut-paths
Use absolute paths to virtualbox options
2017-03-27 11:38:27 -06:00
Niklas Claesson 63779b5df7 Use absolute paths to virtualbox options 2017-03-27 17:13:06 +02:00
n0npax c5cd11cd80 add ln command to coreutils.mk 2017-03-23 07:01:58 +01:00
Jeremy Soller dea4ec0953 Fix detection of initfs changes 2017-03-19 16:46:15 -06:00
Jeremy Soller f37f4bb4fd Add shutdown support 2017-03-19 16:45:51 -06:00
Jeremy Soller a4ae555b2b Enable test command 2017-03-09 20:37:13 -07:00
Ian Douglas Scott 9a536df40c
Correction to pkgutils.mk 2017-03-04 21:36:23 -08:00
Ian Douglas Scott a0ec4212ca
Set $(RUSTC) to full path
This fixes builds of crates that use rustc_version to test the Rust
version in their build scripts.
2017-02-28 11:14:47 -08:00
Jeremy Soller 71eb8ef3e0 Merge branch 'kernel_standalone' of https://github.com/kolipka/redox into kolipka-kernel_standalone 2017-02-27 11:23:39 -07:00
Jeremy Soller c4c8d6c357 WIP: NVME support 2017-02-18 14:05:24 -07:00
Konrad Lipner 4987b70e97 Change way to generate initfs for kernel
this change should be merged along with corresponding PR in kernel
2017-02-15 22:47:10 +01:00
Jeremy Soller 9de8be3c04 Virtualbox fix 2017-02-07 22:18:13 -07:00
Jeremy Soller 1346d8a181 Fixes for build - do not use LTO on kernel 2017-02-07 20:03:32 -07:00
Jeremy Soller 2d25d58482 Fix kernel output 2017-02-07 19:48:50 -07:00
Jeremy Soller 20f0003e01 Incremental compilation 2017-02-04 16:13:44 -07:00
Jeremy Soller 1097edcab7 Add nproc fix for macOS 2017-02-01 14:15:48 -07:00