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
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