Compare commits
No commits in common. "02535f98c71bd9010bcea5cfa8ae825b35496e29" and "aa76286e40158a8e473c5702b071b9afd1987f87" have entirely different histories.
02535f98c7
...
aa76286e40
67
bootstrap.sh
67
bootstrap.sh
@ -12,12 +12,12 @@ banner()
|
|||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
# This function takes care of installing a dependency via package manager of choice
|
# This function takes care of installing a dependency via package manager of choice
|
||||||
# for building redox on BSDs (MacOS, FreeBSD, etc.).
|
# for building redox on MacOS.
|
||||||
# @params: $1 package manager
|
# @params: $1 package manager
|
||||||
# $2 package name
|
# $2 package name
|
||||||
# $3 binary name (optional)
|
# $3 binary name (optional)
|
||||||
###################################################################################
|
###################################################################################
|
||||||
install_bsd_pkg()
|
install_macos_pkg()
|
||||||
{
|
{
|
||||||
PKG_MANAGER=$1
|
PKG_MANAGER=$1
|
||||||
PKG_NAME=$2
|
PKG_NAME=$2
|
||||||
@ -37,22 +37,17 @@ install_bsd_pkg()
|
|||||||
|
|
||||||
install_macports_pkg()
|
install_macports_pkg()
|
||||||
{
|
{
|
||||||
install_bsd_pkg "sudo port" "$1" "$2"
|
install_macos_pkg "sudo port" "$1" "$2"
|
||||||
}
|
}
|
||||||
|
|
||||||
install_brew_pkg()
|
install_brew_pkg()
|
||||||
{
|
{
|
||||||
install_bsd_pkg "brew" $@
|
install_macos_pkg "brew" $@
|
||||||
}
|
}
|
||||||
|
|
||||||
install_brew_cask_pkg()
|
install_brew_cask_pkg()
|
||||||
{
|
{
|
||||||
install_bsd_pkg "brew cask" $@
|
install_macos_pkg "brew cask" $@
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_pkg()
|
|
||||||
{
|
|
||||||
install_bsd_pkg "sudo pkg" $@
|
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -141,43 +136,6 @@ osx_homebrew()
|
|||||||
install_brew_pkg "redox-os/gcc_cross_compilers/x86_64-elf-gcc" "x86_64-elf-gcc"
|
install_brew_pkg "redox-os/gcc_cross_compilers/x86_64-elf-gcc" "x86_64-elf-gcc"
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# This function takes care of installing all dependencies using pkg
|
|
||||||
# for building redox on FreeBSD
|
|
||||||
# @params: $1 the emulator to install, virtualbox or qemu
|
|
||||||
###############################################################################
|
|
||||||
freebsd()
|
|
||||||
{
|
|
||||||
set -xe
|
|
||||||
echo "FreeBSD detected!"
|
|
||||||
echo "Installing missing packages..."
|
|
||||||
|
|
||||||
install_freebsd_pkg "git"
|
|
||||||
|
|
||||||
if [ "$1" == "qemu" ]; then
|
|
||||||
install_freebsd_pkg "qemu" "qemu-system-x86_64"
|
|
||||||
else
|
|
||||||
install_freebsd_pkg "virtualbox"
|
|
||||||
fi
|
|
||||||
|
|
||||||
install_freebsd_pkg "coreutils"
|
|
||||||
install_freebsd_pkg "findutils"
|
|
||||||
install_freebsd_pkg "gcc"
|
|
||||||
install_freebsd_pkg "nasm"
|
|
||||||
install_freebsd_pkg "pkgconf"
|
|
||||||
install_freebsd_pkg "fusefs-libs"
|
|
||||||
install_freebsd_pkg "cmake"
|
|
||||||
install_freebsd_pkg "gmake"
|
|
||||||
install_freebsd_pkg "wget"
|
|
||||||
install_freebsd_pkg "texinfo"
|
|
||||||
install_freebsd_pkg "python"
|
|
||||||
install_freebsd_pkg "automake"
|
|
||||||
install_freebsd_pkg "gettext"
|
|
||||||
install_freebsd_pkg "bison"
|
|
||||||
install_freebsd_pkg "gperf"
|
|
||||||
set +xe
|
|
||||||
}
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# This function takes care of installing all dependencies for building redox on
|
# This function takes care of installing all dependencies for building redox on
|
||||||
# Arch linux
|
# Arch linux
|
||||||
@ -548,13 +506,8 @@ boot()
|
|||||||
statusCheck
|
statusCheck
|
||||||
echo "Run the following commands to build redox:"
|
echo "Run the following commands to build redox:"
|
||||||
echo "cd redox"
|
echo "cd redox"
|
||||||
MAKE="make"
|
echo "make all"
|
||||||
if [[ "$(uname)" -eq FreeBSD ]]; then
|
echo "make virtualbox or qemu"
|
||||||
MAKE="gmake"
|
|
||||||
echo "kldload fuse.ko # This loads the kernel module for fuse"
|
|
||||||
fi
|
|
||||||
echo "$MAKE all"
|
|
||||||
echo "$MAKE virtualbox or qemu"
|
|
||||||
echo
|
echo
|
||||||
echo " Good luck!"
|
echo " Good luck!"
|
||||||
|
|
||||||
@ -621,12 +574,6 @@ else
|
|||||||
# Arch linux
|
# Arch linux
|
||||||
elif hash 2>/dev/null pacman; then
|
elif hash 2>/dev/null pacman; then
|
||||||
archLinux "$emulator"
|
archLinux "$emulator"
|
||||||
# FreeBSD
|
|
||||||
elif hash 2>/dev/null pkg; then
|
|
||||||
freebsd "$emulator"
|
|
||||||
# Unsupported platform
|
|
||||||
else
|
|
||||||
printf "\e[31;1mFatal error: \e[0;31mUnsupported platform, please open an issue\[0m"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
2
cookbook
2
cookbook
@ -1 +1 @@
|
|||||||
Subproject commit d0e33c53ef244272df3f81c3a7942870d72d1087
|
Subproject commit 50c3f8642cce2f541da9854a8e2c3bf677604269
|
2
kernel
2
kernel
@ -1 +1 @@
|
|||||||
Subproject commit 30b109d2880bf02fa35d7f623b2961e188b1e902
|
Subproject commit 582e3fd8eb6c77b6513bafa195ffa9aadeb2ff71
|
@ -15,21 +15,12 @@ UNAME := $(shell uname)
|
|||||||
ifeq ($(UNAME),Darwin)
|
ifeq ($(UNAME),Darwin)
|
||||||
FUMOUNT=sudo umount
|
FUMOUNT=sudo umount
|
||||||
export NPROC=sysctl -n hw.ncpu
|
export NPROC=sysctl -n hw.ncpu
|
||||||
export REDOX_MAKE=make
|
|
||||||
PREFIX_BINARY=0
|
PREFIX_BINARY=0
|
||||||
VB_AUDIO=coreaudio
|
VB_AUDIO=coreaudio
|
||||||
VBM=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage
|
VBM=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage
|
||||||
else ifeq ($(UNAME),FreeBSD)
|
|
||||||
FUMOUNT=sudo umount
|
|
||||||
export NPROC=sysctl -n hw.ncpu
|
|
||||||
export REDOX_MAKE=gmake
|
|
||||||
PREFIX_BINARY=0
|
|
||||||
VB_AUDIO=pulse # To check, will probaly be OSS on most setups
|
|
||||||
VBM=VBoxManage
|
|
||||||
else
|
else
|
||||||
FUMOUNT=fusermount -u
|
FUMOUNT=fusermount -u
|
||||||
export NPROC=nproc
|
export NPROC=nproc
|
||||||
export REDOX_MAKE=make
|
|
||||||
VB_AUDIO=pulse
|
VB_AUDIO=pulse
|
||||||
VBM=VBoxManage
|
VBM=VBoxManage
|
||||||
endif
|
endif
|
||||||
|
28
mk/prefix.mk
28
mk/prefix.mk
@ -38,8 +38,8 @@ $(PREFIX)/relibc-install: $(ROOT)/relibc | $(PREFIX)/gcc-install
|
|||||||
cd "$<" && \
|
cd "$<" && \
|
||||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
|
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
|
||||||
export CARGO="env -u CARGO xargo" && \
|
export CARGO="env -u CARGO xargo" && \
|
||||||
$(MAKE) -j `$(NPROC)` all && \
|
make -j `$(NPROC)` all && \
|
||||||
$(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
||||||
cd "$@.partial" && $(PREFIX_STRIP)
|
cd "$@.partial" && $(PREFIX_STRIP)
|
||||||
touch "$@.partial"
|
touch "$@.partial"
|
||||||
mv "$@.partial" "$@"
|
mv "$@.partial" "$@"
|
||||||
@ -67,9 +67,9 @@ $(PREFIX)/rust-install: $(ROOT)/rust | $(PREFIX)/relibc-install
|
|||||||
--tools=cargo \
|
--tools=cargo \
|
||||||
--target="$(TARGET)" \
|
--target="$(TARGET)" \
|
||||||
&& \
|
&& \
|
||||||
$(MAKE) -j `$(NPROC)` && \
|
make -j `$(NPROC)` && \
|
||||||
rm -rf "$(ROOT)/$@.partial/lib/rustlib" "$(ROOT)/$@.partial/share/doc/rust" && \
|
rm -rf "$(ROOT)/$@.partial/lib/rustlib" "$(ROOT)/$@.partial/share/doc/rust" && \
|
||||||
$(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
||||||
rm -rf "$(PREFIX)/rust-build"
|
rm -rf "$(PREFIX)/rust-build"
|
||||||
mkdir -p "$@.partial/lib/rustlib/x86_64-unknown-linux-gnu/bin"
|
mkdir -p "$@.partial/lib/rustlib/x86_64-unknown-linux-gnu/bin"
|
||||||
cd "$@.partial" && find . -name *.old -exec rm {} ';' && $(PREFIX_STRIP)
|
cd "$@.partial" && find . -name *.old -exec rm {} ';' && $(PREFIX_STRIP)
|
||||||
@ -122,8 +122,8 @@ $(PREFIX)/binutils-install: $(PREFIX)/binutils
|
|||||||
--prefix="" \
|
--prefix="" \
|
||||||
--disable-werror \
|
--disable-werror \
|
||||||
&& \
|
&& \
|
||||||
$(MAKE) -j `$(NPROC)` all && \
|
make -j `$(NPROC)` all && \
|
||||||
$(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
||||||
rm -rf "$<-build"
|
rm -rf "$<-build"
|
||||||
cd "$@.partial" && $(PREFIX_STRIP)
|
cd "$@.partial" && $(PREFIX_STRIP)
|
||||||
touch "$@.partial"
|
touch "$@.partial"
|
||||||
@ -155,8 +155,8 @@ $(PREFIX)/gcc-freestanding-install: $(PREFIX)/gcc | $(PREFIX)/binutils-install
|
|||||||
--enable-languages=c,c++ \
|
--enable-languages=c,c++ \
|
||||||
--without-headers \
|
--without-headers \
|
||||||
&& \
|
&& \
|
||||||
$(MAKE) -j `$(NPROC)` all-gcc && \
|
make -j `$(NPROC)` all-gcc && \
|
||||||
$(MAKE) -j `$(NPROC)` install-gcc DESTDIR="$(ROOT)/$@.partial"
|
make -j `$(NPROC)` install-gcc DESTDIR="$(ROOT)/$@.partial"
|
||||||
rm -rf "$<-freestanding-build"
|
rm -rf "$<-freestanding-build"
|
||||||
cd "$@.partial" && $(PREFIX_STRIP)
|
cd "$@.partial" && $(PREFIX_STRIP)
|
||||||
touch "$@.partial"
|
touch "$@.partial"
|
||||||
@ -176,8 +176,8 @@ $(PREFIX)/rust-freestanding-install: $(ROOT)/rust | $(PREFIX)/binutils-install
|
|||||||
--enable-llvm-static-stdcpp \
|
--enable-llvm-static-stdcpp \
|
||||||
--tools=cargo \
|
--tools=cargo \
|
||||||
&& \
|
&& \
|
||||||
$(MAKE) -j `$(NPROC)` && \
|
make -j `$(NPROC)` && \
|
||||||
$(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
||||||
rm -rf "$(PREFIX)/rust-freestanding-build"
|
rm -rf "$(PREFIX)/rust-freestanding-build"
|
||||||
mkdir -p "$@.partial/lib/rustlib/x86_64-unknown-linux-gnu/bin"
|
mkdir -p "$@.partial/lib/rustlib/x86_64-unknown-linux-gnu/bin"
|
||||||
cd "$@.partial" && $(PREFIX_STRIP)
|
cd "$@.partial" && $(PREFIX_STRIP)
|
||||||
@ -191,8 +191,8 @@ $(PREFIX)/relibc-freestanding-install: $(ROOT)/relibc | $(PREFIX_BASE_INSTALL) $
|
|||||||
export PATH="$(PREFIX_BASE_INSTALL):$(PREFIX_FREESTANDING_PATH):$$PATH" && \
|
export PATH="$(PREFIX_BASE_INSTALL):$(PREFIX_FREESTANDING_PATH):$$PATH" && \
|
||||||
export CARGO="env -u CARGO xargo" && \
|
export CARGO="env -u CARGO xargo" && \
|
||||||
export CC_$(subst -,_,$(TARGET))="$(TARGET)-gcc -isystem $(ROOT)/$@.partial/$(TARGET)/include" && \
|
export CC_$(subst -,_,$(TARGET))="$(TARGET)-gcc -isystem $(ROOT)/$@.partial/$(TARGET)/include" && \
|
||||||
$(MAKE) -j `$(NPROC)` all && \
|
make -j `$(NPROC)` all && \
|
||||||
$(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
||||||
cd "$@.partial" && $(PREFIX_STRIP)
|
cd "$@.partial" && $(PREFIX_STRIP)
|
||||||
touch "$@.partial"
|
touch "$@.partial"
|
||||||
mv "$@.partial" "$@"
|
mv "$@.partial" "$@"
|
||||||
@ -217,8 +217,8 @@ $(PREFIX)/gcc-install: $(PREFIX)/gcc | $(PREFIX)/relibc-freestanding-install
|
|||||||
--enable-shared \
|
--enable-shared \
|
||||||
--enable-threads=posix \
|
--enable-threads=posix \
|
||||||
&& \
|
&& \
|
||||||
$(MAKE) -j `$(NPROC)` all-gcc all-target-libgcc all-target-libstdc++-v3 && \
|
make -j `$(NPROC)` all-gcc all-target-libgcc all-target-libstdc++-v3 && \
|
||||||
$(MAKE) -j `$(NPROC)` install-gcc install-target-libgcc install-target-libstdc++-v3 DESTDIR="$(ROOT)/$@.partial" && \
|
make -j `$(NPROC)` install-gcc install-target-libgcc install-target-libstdc++-v3 DESTDIR="$(ROOT)/$@.partial" && \
|
||||||
rm $(ROOT)/$@.partial/$(TARGET)/lib/*.la
|
rm $(ROOT)/$@.partial/$(TARGET)/lib/*.la
|
||||||
rm -rf "$<-build"
|
rm -rf "$<-build"
|
||||||
cd "$@.partial" && $(PREFIX_STRIP)
|
cd "$@.partial" && $(PREFIX_STRIP)
|
||||||
|
@ -45,13 +45,8 @@ endif
|
|||||||
#,int,pcall
|
#,int,pcall
|
||||||
#-device intel-iommu
|
#-device intel-iommu
|
||||||
|
|
||||||
ifeq ($(UNAME),Linux)
|
|
||||||
build/extra.bin:
|
build/extra.bin:
|
||||||
fallocate --posix --length 1G $@
|
fallocate --posix --length 1G $@
|
||||||
else
|
|
||||||
build/extra.bin:
|
|
||||||
truncate -s 1g $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
qemu: build/harddrive.bin build/extra.bin
|
qemu: build/harddrive.bin build/extra.bin
|
||||||
$(QEMU) $(QEMUFLAGS) \
|
$(QEMU) $(QEMUFLAGS) \
|
||||||
|
Reference in New Issue
Block a user