Compare commits
22 Commits
4cf9db4e12
...
5e39ab0609
Author | SHA1 | Date |
---|---|---|
Jeremy Soller | 5e39ab0609 | |
Jeremy Soller | d32d94c796 | |
Jeremy Soller | ecb4c97966 | |
Jeremy Soller | 8d81df2e3f | |
Jeremy Soller | bc0925e499 | |
Jeremy Soller | 92a522d088 | |
Jeremy Soller | 1099ff1ce3 | |
Jeremy Soller | 8d024eb405 | |
Jeremy Soller | a5e352ec28 | |
Jeremy Soller | 46282ed9ed | |
Jeremy Soller | ce44ede67e | |
Jeremy Soller | 60ff234d1b | |
Jeremy Soller | f20f95ca0a | |
Jeremy Soller | 28d09dff49 | |
Jeremy Soller | f3e2fd20e2 | |
Jeremy Soller | d2be17ad22 | |
Jeremy Soller | f6d4e0d257 | |
Jeremy Soller | 16ef1ebb3a | |
Jeremy Soller | 1d01a7bd01 | |
Jeremy Soller | 290fc5bbaf | |
Jeremy Soller | b2d2929510 | |
Jeremy Soller | 2ecd6ac473 |
|
@ -1,4 +1,4 @@
|
||||||
image: "ubuntu:18.04"
|
image: "ubuntu:20.04"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: "pull"
|
GIT_STRATEGY: "pull"
|
||||||
|
@ -7,6 +7,7 @@ variables:
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- |
|
- |
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get update -qq &&
|
apt-get update -qq &&
|
||||||
apt-get install -qq \
|
apt-get install -qq \
|
||||||
bison \
|
bison \
|
||||||
|
@ -20,6 +21,7 @@ before_script:
|
||||||
gnupg \
|
gnupg \
|
||||||
libfuse-dev \
|
libfuse-dev \
|
||||||
nasm \
|
nasm \
|
||||||
|
parted \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
software-properties-common \
|
software-properties-common \
|
||||||
syslinux \
|
syslinux \
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -67,14 +67,12 @@ include mk/virtualbox.mk
|
||||||
# CI image target
|
# CI image target
|
||||||
ci-img: FORCE
|
ci-img: FORCE
|
||||||
$(MAKE) INSTALLER_FLAGS= \
|
$(MAKE) INSTALLER_FLAGS= \
|
||||||
build/coreboot.elf.gz \
|
|
||||||
build/harddrive.bin.gz \
|
build/harddrive.bin.gz \
|
||||||
build/livedisk.iso.gz \
|
build/livedisk.iso.gz \
|
||||||
build/harddrive-efi.bin.gz \
|
build/harddrive-efi.bin.gz \
|
||||||
build/livedisk-efi.iso.gz
|
build/livedisk-efi.iso.gz
|
||||||
rm -rf build/img
|
rm -rf build/img
|
||||||
mkdir -p build/img
|
mkdir -p build/img
|
||||||
cp "build/coreboot.elf.gz" "build/img/redox_$(IMG_TAG)_coreboot.elf.gz"
|
|
||||||
cp "build/harddrive.bin.gz" "build/img/redox_$(IMG_TAG)_harddrive.bin.gz"
|
cp "build/harddrive.bin.gz" "build/img/redox_$(IMG_TAG)_harddrive.bin.gz"
|
||||||
cp "build/livedisk.iso.gz" "build/img/redox_$(IMG_TAG)_livedisk.iso.gz"
|
cp "build/livedisk.iso.gz" "build/img/redox_$(IMG_TAG)_livedisk.iso.gz"
|
||||||
cp "build/harddrive-efi.bin.gz" "build/img/redox_$(IMG_TAG)_harddrive-efi.bin.gz"
|
cp "build/harddrive-efi.bin.gz" "build/img/redox_$(IMG_TAG)_harddrive-efi.bin.gz"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 97bd2f68464b5a266e50cadfc30405ce3802127f
|
Subproject commit e147b413eeb9eb7d01c85cfe1b6b6eea39c47a57
|
39
bootstrap.sh
39
bootstrap.sh
|
@ -187,7 +187,7 @@ freebsd()
|
||||||
archLinux()
|
archLinux()
|
||||||
{
|
{
|
||||||
echo "Detected Arch Linux"
|
echo "Detected Arch Linux"
|
||||||
packages="cmake fuse git gperf perl-html-parser nasm wget texinfo bison flex"
|
packages="cmake fuse git gperf perl-html-parser nasm wget texinfo bison flex po4a"
|
||||||
if [ "$1" == "qemu" ]; then
|
if [ "$1" == "qemu" ]; then
|
||||||
packages="$packages qemu"
|
packages="$packages qemu"
|
||||||
elif [ "$1" == "virtualbox" ]; then
|
elif [ "$1" == "virtualbox" ]; then
|
||||||
|
@ -286,7 +286,7 @@ fedora()
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Use rpm -q <package> to check if it's already installed
|
# Use rpm -q <package> to check if it's already installed
|
||||||
PKGS=$(for pkg in gcc gcc-c++ glibc-devel.i686 nasm make fuse-devel cmake texinfo gettext-devel bison flex perl-HTML-Parser; do rpm -q $pkg > /dev/null || echo $pkg; done)
|
PKGS=$(for pkg in gcc gcc-c++ glibc-devel.i686 nasm make fuse-devel cmake texinfo gettext-devel bison flex perl-HTML-Parser po4a; do rpm -q $pkg > /dev/null || echo $pkg; done)
|
||||||
# If the list of packages is not empty, install missing
|
# If the list of packages is not empty, install missing
|
||||||
COUNT=$(echo $PKGS | wc -w)
|
COUNT=$(echo $PKGS | wc -w)
|
||||||
if [ $COUNT -ne 0 ]; then
|
if [ $COUNT -ne 0 ]; then
|
||||||
|
@ -422,10 +422,10 @@ usage()
|
||||||
# Looks for and installs a cargo-managed binary or subcommand
|
# Looks for and installs a cargo-managed binary or subcommand
|
||||||
#############################################################
|
#############################################################
|
||||||
cargoInstall() {
|
cargoInstall() {
|
||||||
if [[ "`cargo install --list`" != *"$1"* ]]; then
|
if [[ "`cargo install --list`" != *"$1 v$2"* ]]; then
|
||||||
cargo install $1
|
cargo install --force --version "$2" "$1"
|
||||||
else
|
else
|
||||||
echo "You have $1 installed already!"
|
echo "You have $1 version $2 installed already!"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -449,8 +449,6 @@ rustInstall() {
|
||||||
echo "Please manually uninstall multirust and any other versions of rust, then re-run bootstrap."
|
echo "Please manually uninstall multirust and any other versions of rust, then re-run bootstrap."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo "Old multirust not installed, you are good to go."
|
|
||||||
fi
|
fi
|
||||||
# If rustup is not installed we should offer to install it for them
|
# If rustup is not installed we should offer to install it for them
|
||||||
if [ -z "$(which rustup)" ]; then
|
if [ -z "$(which rustup)" ]; then
|
||||||
|
@ -467,7 +465,6 @@ rustInstall() {
|
||||||
echo "export PATH=\"\$HOME/.cargo/bin:\$PATH\"" >> ~/.bashrc
|
echo "export PATH=\"\$HOME/.cargo/bin:\$PATH\"" >> ~/.bashrc
|
||||||
# source the variables so that we can execute rustup commands in the current shell
|
# source the variables so that we can execute rustup commands in the current shell
|
||||||
source ~/.cargo/env
|
source ~/.cargo/env
|
||||||
rustup default nightly
|
|
||||||
else
|
else
|
||||||
echo "Rustup will not be installed!"
|
echo "Rustup will not be installed!"
|
||||||
fi
|
fi
|
||||||
|
@ -479,22 +476,8 @@ rustInstall() {
|
||||||
echo "or install rustc nightly manually (not recommended) via:"
|
echo "or install rustc nightly manually (not recommended) via:"
|
||||||
echo "\#curl -sSf https://static.rust-lang.org/rustup.sh | sh -s -- --channel=nightly"
|
echo "\#curl -sSf https://static.rust-lang.org/rustup.sh | sh -s -- --channel=nightly"
|
||||||
exit
|
exit
|
||||||
fi
|
|
||||||
# If the system has rustup installed then update rustc to the latest nightly
|
|
||||||
if hash 2>/dev/null rustup; then
|
|
||||||
rustup update nightly
|
|
||||||
rustup default nightly
|
|
||||||
fi
|
|
||||||
# Check to make sure that the default rustc is the nightly
|
|
||||||
if echo "$(rustc --version)" | grep -viq "nightly" ;then
|
|
||||||
echo "It appears that you have rust installed, but it"
|
|
||||||
echo "is not the nightly version, please either install"
|
|
||||||
echo "the nightly manually (not recommended) or run this"
|
|
||||||
echo "script again, accepting the rustup install"
|
|
||||||
echo
|
|
||||||
else
|
else
|
||||||
echo "Your rust install looks good!"
|
echo "Your rust install looks good!"
|
||||||
echo
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -538,9 +521,6 @@ boot()
|
||||||
{
|
{
|
||||||
echo "Cloning gitlab repo..."
|
echo "Cloning gitlab repo..."
|
||||||
git clone https://gitlab.redox-os.org/redox-os/redox.git --origin upstream --recursive
|
git clone https://gitlab.redox-os.org/redox-os/redox.git --origin upstream --recursive
|
||||||
rustInstall
|
|
||||||
cargoInstall cargo-config
|
|
||||||
cargoInstall xargo
|
|
||||||
echo "Cleaning up..."
|
echo "Cleaning up..."
|
||||||
rm bootstrap.sh
|
rm bootstrap.sh
|
||||||
echo
|
echo
|
||||||
|
@ -592,6 +572,12 @@ do
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
banner
|
||||||
|
|
||||||
|
rustInstall
|
||||||
|
cargoInstall cargo-config 0.1.1
|
||||||
|
cargoInstall xargo 0.3.20
|
||||||
|
|
||||||
if [ "$update" == "true" ]; then
|
if [ "$update" == "true" ]; then
|
||||||
git pull upstream master
|
git pull upstream master
|
||||||
git submodule update --recursive --init
|
git submodule update --recursive --init
|
||||||
|
@ -599,7 +585,6 @@ if [ "$update" == "true" ]; then
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
banner
|
|
||||||
if [ "Darwin" == "$(uname -s)" ]; then
|
if [ "Darwin" == "$(uname -s)" ]; then
|
||||||
osx "$emulator"
|
osx "$emulator"
|
||||||
else
|
else
|
||||||
|
@ -635,3 +620,5 @@ fi
|
||||||
if [ "$dependenciesonly" = false ]; then
|
if [ "$dependenciesonly" = false ]; then
|
||||||
boot
|
boot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "Redox bootstrap complete!"
|
||||||
|
|
1
ci.toml
1
ci.toml
|
@ -137,6 +137,7 @@ ptyd = {}
|
||||||
#python = {} # getaddrinfo
|
#python = {} # getaddrinfo
|
||||||
#qemu = {}
|
#qemu = {}
|
||||||
randd = {}
|
randd = {}
|
||||||
|
ramfs = {}
|
||||||
readline = {}
|
readline = {}
|
||||||
redoxerd = {}
|
redoxerd = {}
|
||||||
redoxfs = {}
|
redoxfs = {}
|
||||||
|
|
2
cookbook
2
cookbook
|
@ -1 +1 @@
|
||||||
Subproject commit d553dbc09dafa31579741608642dd2156c933934
|
Subproject commit 84535c9062c8f977e0d7c76ade8a3c751982b4d6
|
|
@ -9,8 +9,8 @@ prompt = false
|
||||||
[packages]
|
[packages]
|
||||||
drivers = {}
|
drivers = {}
|
||||||
init = {}
|
init = {}
|
||||||
#pciids = {}
|
|
||||||
nulld = {}
|
nulld = {}
|
||||||
|
#pciids = {}
|
||||||
ramfs = {}
|
ramfs = {}
|
||||||
randd = {}
|
randd = {}
|
||||||
redoxfs = {}
|
redoxfs = {}
|
||||||
|
|
|
@ -11,6 +11,7 @@ drivers = {}
|
||||||
init = {}
|
init = {}
|
||||||
nulld = {}
|
nulld = {}
|
||||||
#pciids = {}
|
#pciids = {}
|
||||||
|
ramfs = {}
|
||||||
randd = {}
|
randd = {}
|
||||||
redoxfs = {}
|
redoxfs = {}
|
||||||
zerod = {}
|
zerod = {}
|
||||||
|
@ -26,6 +27,7 @@ randd
|
||||||
vesad T T G
|
vesad T T G
|
||||||
stdio display:1
|
stdio display:1
|
||||||
ps2d us
|
ps2d us
|
||||||
|
ramfs logging
|
||||||
pcid /etc/pcid/initfs.toml
|
pcid /etc/pcid/initfs.toml
|
||||||
redoxfs disk/live: file
|
redoxfs disk/live: file
|
||||||
cd file:
|
cd file:
|
||||||
|
|
|
@ -11,6 +11,7 @@ drivers = {}
|
||||||
init = {}
|
init = {}
|
||||||
nulld = {}
|
nulld = {}
|
||||||
#pciids = {}
|
#pciids = {}
|
||||||
|
ramfs = {}
|
||||||
randd = {}
|
randd = {}
|
||||||
redoxfs = {}
|
redoxfs = {}
|
||||||
zerod = {}
|
zerod = {}
|
||||||
|
@ -26,6 +27,7 @@ randd
|
||||||
vesad T T G
|
vesad T T G
|
||||||
stdio display:1
|
stdio display:1
|
||||||
ps2d us
|
ps2d us
|
||||||
|
ramfs logging
|
||||||
pcid /etc/pcid/initfs.toml
|
pcid /etc/pcid/initfs.toml
|
||||||
redoxfs disk/live: file
|
redoxfs disk/live: file
|
||||||
cd file:
|
cd file:
|
||||||
|
|
2
kernel
2
kernel
|
@ -1 +1 @@
|
||||||
Subproject commit cff858b45560b529d95c5e0ec93c2accb5a7876a
|
Subproject commit 903390283066a988b74e86e3630106b12b4df806
|
|
@ -53,7 +53,7 @@ INSTALLER=\
|
||||||
installer/target/release/redox_installer $(INSTALLER_FLAGS)
|
installer/target/release/redox_installer $(INSTALLER_FLAGS)
|
||||||
|
|
||||||
## Bootloader variables
|
## Bootloader variables
|
||||||
EFI_TARGET=$(ARCH)-efi-pe
|
EFI_TARGET=$(ARCH)-unknown-uefi
|
||||||
|
|
||||||
## Cross compiler variables
|
## Cross compiler variables
|
||||||
AR=$(TARGET)-gcc-ar
|
AR=$(TARGET)-gcc-ar
|
||||||
|
|
14
mk/initfs.mk
14
mk/initfs.mk
|
@ -1,3 +1,5 @@
|
||||||
|
INITFS_RM_BINS=alxd e1000d ihdad ixgbed pcspkrd redoxfs-ar redoxfs-mkfs rtl8168d usbctl usbhidd usbscsid xhcid
|
||||||
|
|
||||||
build/initfs.tag: initfs.toml prefix
|
build/initfs.tag: initfs.toml prefix
|
||||||
cargo build --manifest-path cookbook/Cargo.toml --release
|
cargo build --manifest-path cookbook/Cargo.toml --release
|
||||||
cargo build --manifest-path installer/Cargo.toml --release
|
cargo build --manifest-path installer/Cargo.toml --release
|
||||||
|
@ -5,6 +7,10 @@ build/initfs.tag: initfs.toml prefix
|
||||||
rm -rf build/initfs
|
rm -rf build/initfs
|
||||||
mkdir -p build/initfs
|
mkdir -p build/initfs
|
||||||
$(INSTALLER) -c $< build/initfs/
|
$(INSTALLER) -c $< build/initfs/
|
||||||
|
#TODO: HACK FOR SMALLER INITFS, FIX IN PACKAGING
|
||||||
|
for bin in $(INITFS_RM_BINS); do \
|
||||||
|
rm -f build/initfs/bin/$$bin; \
|
||||||
|
done
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
build/initfs_coreboot.tag: initfs_coreboot.toml prefix
|
build/initfs_coreboot.tag: initfs_coreboot.toml prefix
|
||||||
|
@ -14,6 +20,10 @@ build/initfs_coreboot.tag: initfs_coreboot.toml prefix
|
||||||
rm -rf build/initfs_coreboot
|
rm -rf build/initfs_coreboot
|
||||||
mkdir -p build/initfs_coreboot
|
mkdir -p build/initfs_coreboot
|
||||||
$(INSTALLER) -c $< build/initfs_coreboot/
|
$(INSTALLER) -c $< build/initfs_coreboot/
|
||||||
|
#TODO: HACK FOR SMALLER INITFS, FIX IN PACKAGING
|
||||||
|
for bin in $(INITFS_RM_BINS); do \
|
||||||
|
rm -f build/initfs_coreboot/bin/$$bin; \
|
||||||
|
done
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
build/initfs_live.tag: initfs_live.toml prefix
|
build/initfs_live.tag: initfs_live.toml prefix
|
||||||
|
@ -23,4 +33,8 @@ build/initfs_live.tag: initfs_live.toml prefix
|
||||||
rm -rf build/initfs_live
|
rm -rf build/initfs_live
|
||||||
mkdir -p build/initfs_live
|
mkdir -p build/initfs_live
|
||||||
$(INSTALLER) -c $< build/initfs_live/
|
$(INSTALLER) -c $< build/initfs_live/
|
||||||
|
#TODO: HACK FOR SMALLER INITFS, FIX IN PACKAGING
|
||||||
|
for bin in $(INITFS_RM_BINS); do \
|
||||||
|
rm -f build/initfs_live/bin/$$bin; \
|
||||||
|
done
|
||||||
touch $@
|
touch $@
|
||||||
|
|
2
relibc
2
relibc
|
@ -1 +1 @@
|
||||||
Subproject commit 07ec3b6591878f23f3c4be80c26cbfc584abfe43
|
Subproject commit 1a0edd8eeb2e3aae407a91795696461f475b445e
|
Reference in New Issue