diff --git a/BUILDING.md b/BUILDING.md index b00d0510..cd1a4778 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -9,9 +9,6 @@ $ make env ``` Once you've run `make env`, you should have a correctly configured build environment, and you should be ready to build SOS. -**NOTE:** right now, there are only automatic install scripts for macOS. This is because the setup process on macOS is the most complex, and so providing scripts to automate it is a priority. Automatic setup scripts for Linux are coming soon. - - If you'd rather install and configure everything yourself, or your system isn't supported by the automatic install scripts, you can follow these instructions to set up a suitable environment for building SOS: installing Rust @@ -41,7 +38,6 @@ installing build dependencies ----------------------------- Once you have Rust installed, you will need the following additional dependencies: -+ `nasm` + `ld` + `grub-mkrescue` & `xorriso` + `qemu` for running the kernel under emulation @@ -54,25 +50,25 @@ Depending on your OS, you'll want to install these dependencies somewhat differe On Debian you can install them with ``` -$ sudo apt-get install nasm xorriso qemu mtools build-essential +$ sudo apt-get install xorriso qemu mtools build-essential ``` On Arch Linux you can install them with ``` -$ sudo pacman -S --needed binutils grub libisoburn nasm qemu mtools +$ sudo pacman -S --needed binutils grub libisoburn qemu mtools ``` And on Fedora with ``` -$ sudo dnf install nasm xorriso qemu +$ sudo dnf instal xorriso qemu ``` On Gentoo it's ``` -$ sudo emerge app-emulation/qemu dev-lang/nasm dev-libs/libisoburn sys-boot/grub +$ sudo emerge app-emulation/qemu dev-libs/libisoburn sys-boot/grub ``` -You will also need `x86_64-elf-objcopy` and `x86_64-elf-strip`. +You will also need `x86_64-elf-objcopy` and `x86_64-elf-strip` executables. On x86_64 Linux you can simply symlink them to your regular `objcopy` and `strip`. -If you are on Gentoo but on another architecture you can build a cross-compiled version of `binutils` (which contains `objcopy` and `strip`) with +If you are using Gentoo but on another architecture you can build a cross-compiled version of `binutils` (which contains `objcopy` and `strip`) with ``` $ sudo emerge sys-devel/crossdev $ sudo crossdev -s0 --target x86_64-elf diff --git a/Brewfile b/Brewfile index 8e389757..c7215616 100644 --- a/Brewfile +++ b/Brewfile @@ -1,6 +1,3 @@ -# for assembling x86 -brew 'nasm' - # for making a bootable ISO brew 'xorriso' diff --git a/scripts/install-env-linux.sh b/scripts/install-env-linux.sh index e040d0fc..bfba4e9f 100755 --- a/scripts/install-env-linux.sh +++ b/scripts/install-env-linux.sh @@ -39,7 +39,7 @@ case $distro in exit fi - sudo apt-get install nasm xorriso qemu build-essential mtools | sed "s/^/${bold}apt-get:${normal} /" + sudo apt-get install xorriso qemu build-essential mtools | sed "s/^/${bold}apt-get:${normal} /" ;; Arch | ManjaroLinux) echo "${bold}install-env-linux:${normal} Installing with pacman." @@ -56,7 +56,7 @@ case $distro in exit fi - sudo pacman -S --needed binutils grub libisoburn nasm qemu mtools | sed "s/^/${bold}pacman:${normal} /" + sudo pacman -S --needed binutils grub libisoburn qemu mtools | sed "s/^/${bold}pacman:${normal} /" ;; esac # todo: support non-x86_64 architectures here (later)