diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 75d4b0e82..575e6b538 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ # The GitLab Continuous Integration configuration -image: "ubuntu:22.04" +image: "ubuntu:24.04" variables: GIT_STRATEGY: "clone" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9b0e48f9f..e34370b6a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,76 @@ Please review the `LICENSE` file for the project you are contributing to. ## Chat -Join us on [Matrix Chat](https://doc.redox-os.org/book/chat.html) to discuss issues or ask questions. +You can join in our chat platforms to discuss development, issues or ask questions. + +### [Matrix](https://matrix.to/#/#redox-join:matrix.org) + +Matrix is the official way to talk with Redox OS team and community (these rooms are English-only, we don't accept other languages because we don't understand them). + +Matrix has several different clients. [Element](https://element.io/) is a commonly used choice, it works on web browsers, Linux, MacOSX, Windows, Android and iOS. + +If you have problems with Element, try [Fractal](https://gitlab.gnome.org/World/fractal). + +- Join the [Join Requests](https://matrix.to/#/#redox-join:matrix.org) room and send a message requesting for an invite to the Redox Matrix space (the purpose of this is to avoid spam and bots). +- #redox-join:matrix.org (Use this Matrix room address if you don't want to use the external Matrix link) + +(We recommend that you leave the "Join Requests" room after your entry on Redox space) + +If you want to have a big discussion in our rooms, you should use a Element thread, it's more organized and easy to keep track if more discussions happen on the same room. + +You cand find more information on the [Chat](https://doc.redox-os.org/book/chat.html) page. + +### [Discord](https://discord.gg/JfggvrHGDY) + +We have a Discord server as an alternative for Matrix, open the #join-requests channel and send a message requesting to be a member (the purpose of this is to avoid spam and bots) + +The Matrix messages are sent to Discord and vice-versa using a bot, but sometimes some Discord messages aren't sent to Matrix (if this happens to you join in our Matrix space above) + +## [GitLab](https://gitlab.redox-os.org/redox-os/redox) + +A slightly more formal way of communication with fellow Redox developers, but a little less quick and convenient like the chat. Submit an issue when you run into problems compiling or testing. Issues can also be used if you would like to discuss a certain topic: be it features, code style, code inconsistencies, minor changes and fixes, etc. + +If you want to create an account, read the [Signing in to GitLab](https://doc.redox-os.org/book/signing-in-to-gitlab.html) page. + +Once you create an issue don't forget to post the link on the Dev or Support rooms of the chat, because the GitLab email notifications have distractions (service messages or spam) and most developers don't left their GitLab pages open to receive desktop notifications from the web browser (which require a custom setting to receive issue notifications). + +By doing this you help us to pay attention to your issues and avoid them to be accidentally forgotten. + +If you have ready MRs (merge requests) you must send the links in the [MRs](https://matrix.to/#/#redox-mrs:matrix.org) room. To join this room, you will need to request an invite in the [Join Requests](https://matrix.to/#/#redox-join:matrix.org) room. + +By sending a message in the room, your MR will not be forgotten or accumulate conflicts. + +## Best Practices and Guidelines + +You can read the best practices and guidelines on the [Best practices and guidelines](https://doc.redox-os.org/book/best-practices.html) chapter. + +## Style Guidelines + +### Rust + +Since **Rust** is a relatively small and new language compared to others like C and C++, there's really only one standard. Just follow the official Rust standards for formatting, and maybe run `rustfmt` on your changes, until we setup the CI system to do it automatically. + +### Git + +Please follow our [Git style](https://doc.redox-os.org/book/creating-proper-pull-requests.html) for pull requests. + +## GitLab + +### Identity + +Once your GitLab account is created, you should add your Matrix or Discord username (the name after the `@` symbol) on the "About" section of your profile, that way we recognize you properly. + +### Issues + +To know how to create issues on the Redox GitLab, read the [Filing Issues](https://doc.redox-os.org/book/filing-issues.html) page. + +Once you create an issue don't forget to post the link on the Dev or Support rooms of the chat, because the GitLab email notifications have distractions (service messages or spam) and most developers don't left their GitLab pages open to receive desktop notifications from the web browser (which require a custom setting to receive issue notifications). + +By doing this you help us to pay attention to your issues and avoid them to be accidentally forgotten. + +### Pull Requests + +Please follow [our process](https://doc.redox-os.org/book/creating-proper-pull-requests.html) for creating proper pull requests. ## Important Places to Contribute @@ -40,7 +109,9 @@ You can contribute to the Redox documentation and code on the following reposito - [libredox](https://gitlab.redox-os.org/redox-os/libredox) - Redox System Library - [netstack](https://gitlab.redox-os.org/redox-os/netstack) - Network Stack - [Bootloader](https://gitlab.redox-os.org/redox-os/bootloader) +- [RedoxFS](https://gitlab.redox-os.org/redox-os/redoxfs) - Default filesystem - [Drivers](https://gitlab.redox-os.org/redox-os/drivers) - Device Drivers +- [Base](https://gitlab.redox-os.org/redox-os/base) - Essential system daemons - [Kernel](https://gitlab.redox-os.org/redox-os/kernel) To see all Redox repositories open the [redox-os group](https://gitlab.redox-os.org/redox-os). @@ -49,8 +120,11 @@ To see all Redox repositories open the [redox-os group](https://gitlab.redox-os. If you don't know programming: -- Write documentation -- Use and test Redox, and file issues for bugs or needed features (please check for duplicates first etc.) +- Test the [daily images](https://static.redox-os.org/img/) on your computer and add the report on the [Hardware Compatibility](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/HARDWARE.md) list +- Monitor and warn developers if the [daily images](https://static.redox-os.org/img/) are outdated +- Use and test Redox, and file issues for bugs or needed features (please check for duplicates first) +- Fix and write documentation +- Find or fix typos in configuration If you don't know how to code in Rust, but know other programming languages: @@ -152,38 +226,6 @@ We maintain a list of wikis, articles and videos to learn Rust, OS development a If you are skilled there's a possibility that they could improve your knowledge in some way. -## Best Practices and Guidelines - -You can read the best practices and guidelines on the [Best practices and guidelines](https://doc.redox-os.org/book/best-practices.html) chapter. - -## Style Guidelines - -### Rust - -Since **Rust** is a relatively small and new language compared to others like C and C++, there's really only one standard. Just follow the official Rust standards for formatting, and maybe run `rustfmt` on your changes, until we setup the CI system to do it automatically. - -### Git - -Please follow our [Git style](https://doc.redox-os.org/book/creating-proper-pull-requests.html) for pull requests. - -## GitLab - -### Identity - -Once your GitLab account is created, you should add your Matrix or Discord username (the name after the `@` symbol) on the "About" section of your profile, that way we recognize you properly. - -### Issues - -To know how to create issues on the Redox GitLab, read the [Filing Issues](https://doc.redox-os.org/book/filing-issues.html) page. - -Once you create an issue don't forget to post the link on the Dev or Support rooms of the chat, because the GitLab email notifications have distractions (service messages or spam) and most developers don't left their GitLab pages open to receive desktop notifications from the web browser (which require a custom setting to receive issue notifications). - -By doing this you help us to pay attention to your issues and avoid them to be accidentally forgotten. - -### Pull Requests - -Please follow [our process](https://doc.redox-os.org/book/creating-proper-pull-requests.html) for creating proper pull requests. - ## Other Ways to Contribute If you aren't good on coding, but you still want to help keep the project going, you can contribute and support in a variety of ways! We'll try to find a way to use anything you have to offer. diff --git a/Makefile b/Makefile index e0de2def9..cbc345cb0 100644 --- a/Makefile +++ b/Makefile @@ -10,22 +10,22 @@ all: $(BUILD)/harddrive.img live: -$(FUMOUNT) $(BUILD)/filesystem/ || true -$(FUMOUNT) /tmp/redox_installer/ || true - rm -f $(BUILD)/livedisk.iso - $(MAKE) $(BUILD)/livedisk.iso + rm -f $(BUILD)/redox-live.iso + $(MAKE) $(BUILD)/redox-live.iso -popsicle: $(BUILD)/livedisk.iso - popsicle-gtk $(BUILD)/livedisk.iso +popsicle: $(BUILD)/redox-live.iso + popsicle-gtk $(BUILD)/redox-live.iso image: -$(FUMOUNT) $(BUILD)/filesystem/ || true -$(FUMOUNT) /tmp/redox_installer/ || true - rm -f $(BUILD)/harddrive.img $(BUILD)/livedisk.iso + rm -f $(BUILD)/harddrive.img $(BUILD)/redox-live.iso $(MAKE) all rebuild: -$(FUMOUNT) $(BUILD)/filesystem/ || true -$(FUMOUNT) /tmp/redox_installer/ || true - rm -rf $(BUILD)/repo.tag $(BUILD)/harddrive.img $(BUILD)/livedisk.iso + rm -rf $(BUILD)/repo.tag $(BUILD)/harddrive.img $(BUILD)/redox-live.iso $(MAKE) all clean: $(CONTAINER_TAG) diff --git a/README.md b/README.md index 443440c80..c60d33485 100644 --- a/README.md +++ b/README.md @@ -34,21 +34,23 @@ Redox _is not_ just a kernel, it's a **full-featured operating system**, providi Some of the key repositories on the Redox GitLab: -| Essential Repos | Maintainer -|--------------------------------------------------------------------------------------|--------------------------- -| [Kernel](https://gitlab.redox-os.org/redox-os/kernel) | **@jackpot51** -| [RedoxFS (default filesystem)](https://gitlab.redox-os.org/redox-os/redoxfs) | **@jackpot51** -| [Drivers](https://gitlab.redox-os.org/redox-os/drivers) | **@jackpot51** -| [Orbital (display server and window manager)](https://gitlab.redox-os.org/redox-os/orbital) | **@jackpot51** -| [pkgutils (current package manager)](https://gitlab.redox-os.org/redox-os/pkgutils) | **@jackpot51** -| [relibc (C POSIX library written in Rust)](https://gitlab.redox-os.org/redox-os/relibc) | **@jackpot51** -| [netstack (network stack)](https://gitlab.redox-os.org/redox-os/netstack) | **@jackpot51** -| [Ion (defauilt shell)](https://gitlab.redox-os.org/redox-os/ion) | **@jackpot51** -| [Termion (terminal library)](https://gitlab.redox-os.org/redox-os/termion) | **@jackpot51** -| This repo - the root of the Build System | **@jackpot51** -| [cookbook (Build system for system components and programs)](https://gitlab.redox-os.org/redox-os/cookbook) | **@jackpot51** **@hatred_45** -| [Redoxer (Tool for Redox development testing)](https://gitlab.redox-os.org/redox-os/redoxer) | **@jackpot51** -| [The Redox Book](https://gitlab.redox-os.org/redox-os/book) | **@hatred_45** +| Essential Repositories | Maintainer +|-------------------------------------------------------------------------------------------------------------|--------------------------- +| [Kernel](https://gitlab.redox-os.org/redox-os/kernel) | **@jackpot51** +| [Base (essential system components)](https://gitlab.redox-os.org/redox-os/base) | **@jackpot51** +| [RedoxFS (default filesystem)](https://gitlab.redox-os.org/redox-os/redoxfs) | **@jackpot51** +| [Drivers](https://gitlab.redox-os.org/redox-os/drivers) | **@jackpot51** +| [relibc (C POSIX library written in Rust)](https://gitlab.redox-os.org/redox-os/relibc) | **@jackpot51** +| [Ion (defauilt shell)](https://gitlab.redox-os.org/redox-os/ion) | **@jackpot51** +| [Termion (terminal library)](https://gitlab.redox-os.org/redox-os/termion) | **@jackpot51** +| [netstack (network stack)](https://gitlab.redox-os.org/redox-os/netstack) | **@jackpot51** +| [pkgutils (current package manager)](https://gitlab.redox-os.org/redox-os/pkgutils) | **@jackpot51** +| [Orbital (display server and window manager)](https://gitlab.redox-os.org/redox-os/orbital) | **@jackpot51** +| This repo - the root of the Build System | **@jackpot51** +| [Cookbook (build system for system components and programs)](https://gitlab.redox-os.org/redox-os/cookbook) | **@jackpot51** **@hatred_45** +| [Redoxer (tool for easy Redox development on Linux)](https://gitlab.redox-os.org/redox-os/redoxer) | **@jackpot51** +| [The Redox Book](https://gitlab.redox-os.org/redox-os/book) | **@jackpot51** **@hatred_45** +| [Website](https://gitlab.redox-os.org/redox-os/website) | **@jackpot51** **@hatred_45** ## What it looks like diff --git a/build.sh b/build.sh index 72249adc9..da48a43f3 100755 --- a/build.sh +++ b/build.sh @@ -34,7 +34,7 @@ usage() echo " config/ARCH/CONFIG.toml" echo " If you specify both CONFIG and FILESYSTEM_CONFIG, it is not" echo " necessary that they match, but it is recommended." - echo " Examples: ./build.sh -c demo live - make build/x86_64/demo/livedisk.iso" + echo " Examples: ./build.sh -c demo live - make build/x86_64/demo/redox-live.iso" echo " ./build.sh -6 qemu - make build/i686/desktop/harddrive.img and" echo " and run it in qemu" echo " NOTE: If you do not change ARCH or CONFIG very often, edit mk/config.mk" diff --git a/config/aarch64/ci.toml b/config/aarch64/ci.toml index 5ae783740..b27a2788a 100644 --- a/config/aarch64/ci.toml +++ b/config/aarch64/ci.toml @@ -23,6 +23,7 @@ installer = {} installer-gui = {} ion = {} kernel = {} +libgcc = {} #nano = {} # error compiling ncurses netdb = {} #netsurf = {} # error building openssl1 diff --git a/config/desktop.toml b/config/desktop.toml index 152371b1e..2d354bb0d 100644 --- a/config/desktop.toml +++ b/config/desktop.toml @@ -29,8 +29,10 @@ patchelf = {} path = "/usr/lib/init.d/20_orbital" data = """ audiod +export BROWSER /bin/netsurf-fb export VT 3 orbital orblogin launcher +unset BROWSER unset VT """ diff --git a/config/i686/ci.toml b/config/i686/ci.toml index 44b99e8a2..97e374613 100644 --- a/config/i686/ci.toml +++ b/config/i686/ci.toml @@ -23,6 +23,7 @@ installer = {} installer-gui = {} ion = {} kernel = {} +libgcc = {} nano = {} netdb = {} netsurf = {} diff --git a/config/riscv64gc/ci.toml b/config/riscv64gc/ci.toml index bd928a769..b383e7ac5 100644 --- a/config/riscv64gc/ci.toml +++ b/config/riscv64gc/ci.toml @@ -23,6 +23,7 @@ installer = {} #installer-gui = {} # redox_syscall 0.4 not working on riscv64gc? ion = {} kernel = {} +libgcc = {} #nano = {} # error compiling ncurses netdb = {} #netsurf = {} # error compiling nghttp2 diff --git a/config/x86_64/ci.toml b/config/x86_64/ci.toml index cfd2ae50c..e0cd3f1ca 100644 --- a/config/x86_64/ci.toml +++ b/config/x86_64/ci.toml @@ -84,6 +84,7 @@ kibi = {} lci = {} libc-bench = {} libffi = {} +libgcc = {} libgmp = {} libiconv = {} libjpeg = {} diff --git a/cookbook b/cookbook index 2dfe26c66..ab8e300cf 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 2dfe26c6682fa527f66c31c2a47a4b49f7305117 +Subproject commit ab8e300cf698eccf7a0fc7773c62980a87702a93 diff --git a/installer b/installer index 9e888c06f..2c3afb495 160000 --- a/installer +++ b/installer @@ -1 +1 @@ -Subproject commit 9e888c06fa8b5b28c053dc49bfc9a0a92c533a75 +Subproject commit 2c3afb4956f2238505cd7d1df56388af5c6ae8a9 diff --git a/mk/ci.mk b/mk/ci.mk index a8ae10f82..109807b1e 100644 --- a/mk/ci.mk +++ b/mk/ci.mk @@ -15,11 +15,11 @@ ci-img: FORCE # The name of the target must match the name of the filesystem config file minimal minimal-net server desktop demo: FORCE - rm -f "build/$(ARCH)/$@/harddrive.img" "build/$(ARCH)/$@/livedisk.iso" - $(MAKE) CONFIG_NAME=$@ build/$(ARCH)/$@/harddrive.img build/$(ARCH)/$@/livedisk.iso + rm -f "build/$(ARCH)/$@/harddrive.img" "build/$(ARCH)/$@/redox-live.iso" + $(MAKE) CONFIG_NAME=$@ build/$(ARCH)/$@/harddrive.img build/$(ARCH)/$@/redox-live.iso mkdir -p $(IMG_DIR) cp "build/$(ARCH)/$@/harddrive.img" "$(IMG_DIR)/redox_$(@)$(IMG_SEPARATOR)$(IMG_TAG)_harddrive.img" - cp "build/$(ARCH)/$@/livedisk.iso" "$(IMG_DIR)/redox_$(@)$(IMG_SEPARATOR)$(IMG_TAG)_livedisk.iso" + cp "build/$(ARCH)/$@/redox-live.iso" "$(IMG_DIR)/redox_$(@)$(IMG_SEPARATOR)$(IMG_TAG)_redox-live.iso" # CI packaging target ci-pkg: prefix $(FSTOOLS_TAG) $(CONTAINER_TAG) FORCE diff --git a/mk/disk.mk b/mk/disk.mk index f972c26b1..406d5909d 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -16,7 +16,7 @@ else mv $@.partial $@ endif -$(BUILD)/livedisk.iso: $(HOST_FSTOOLS) $(REPO_TAG) +$(BUILD)/livedisk.iso: $(HOST_FSTOOLS) $(REPO_TAG) redox.ipxe ifeq ($(PODMAN_BUILD),1) $(PODMAN_RUN) make $@ else @@ -28,9 +28,9 @@ else FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \ fi && \ truncate -s "$$FILESYSTEM_SIZE"m $@.partial - umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --live $@.partial + umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --write-bootloader="$(BUILD)/bootloader-live.efi" --live $@.partial mv $@.partial $@ -endif + cp redox.ipxe $(BUILD)/redox.ipxe $(BUILD)/filesystem.img: $(HOST_FSTOOLS) $(REPO_TAG) ifeq ($(PODMAN_BUILD),1) diff --git a/mk/prefix.mk b/mk/prefix.mk index 3a3078e23..4d0bb8840 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -76,6 +76,7 @@ $(PREFIX)/libtool: git clone \ --recurse-submodules \ + --shallow-submodules \ "https://gitlab.redox-os.org/redox-os/libtool/" \ --branch "v$(LIBTOOL_VERSION)-redox" \ --depth 2 \ @@ -87,7 +88,7 @@ $(PREFIX)/libtool: echo $(LIBTOOL_VERSION) > $@.partial/.tarball-version mv "$@.partial" "$@" -$(PREFIX)/libtool-build: $(PREFIX)/libtool $(CONTAINER_TAG) +$(PREFIX)/libtool-build: $(PREFIX)/libtool $(PREFIX)/rust-install ifeq ($(PODMAN_BUILD),1) $(PODMAN_RUN) make $@ else diff --git a/mk/qemu.mk b/mk/qemu.mk index 0a2a479a8..6036d0fcb 100644 --- a/mk/qemu.mk +++ b/mk/qemu.mk @@ -2,6 +2,7 @@ QEMU=SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-$(QEMU_ARCH) QEMUFLAGS=-d guest_errors -name "Redox OS $(ARCH)" +netboot?=no ifeq ($(ARCH),i686) audio?=ac97 @@ -107,7 +108,7 @@ ifneq ($(QEMU_KERNEL),) endif ifeq ($(live),yes) - DISK=$(BUILD)/livedisk.iso + DISK=$(BUILD)/redox-live.iso else DISK=$(BUILD)/harddrive.img endif @@ -148,14 +149,19 @@ else QEMUFLAGS+=-device e1000,netdev=net0,id=nic0 endif + EXTRANETARGS= + ifeq ($(netboot),yes) + EXTRANETARGS+=,tftp=$(BUILD),bootfile=redox.ipxe + endif + ifneq ($(bridge),) QEMUFLAGS+=-netdev bridge,br=$(bridge),id=net0 else ifeq ($(net),redir) # port 8080 and 8083 - webservers # port 64126 - our gdbserver implementation - QEMUFLAGS+=-netdev user,id=net0,hostfwd=tcp::8080-:8080,hostfwd=tcp::8083-:8083,hostfwd=tcp::64126-:64126 + QEMUFLAGS+=-netdev user,id=net0,hostfwd=tcp::8080-:8080,hostfwd=tcp::8083-:8083,hostfwd=tcp::64126-:64126$(EXTRANETARGS) else - QEMUFLAGS+=-netdev user,id=net0 -object filter-dump,id=f1,netdev=net0,file=$(BUILD)/network.pcap + QEMUFLAGS+=-netdev user,id=net0$(EXTRANETARGS) -object filter-dump,id=f1,netdev=net0,file=$(BUILD)/network.pcap endif endif diff --git a/mk/repo.mk b/mk/repo.mk index ff25563ee..1ad274210 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -51,6 +51,16 @@ else ./clean.sh $* endif +comma := , + +# Invoke clean.sh for multiple targets +cl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),c.$(target)) +endif + # Invoke fetch.sh for a single target f.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) @@ -62,6 +72,14 @@ else ./fetch.sh $* endif +# Invoke fetch.sh for multiple targets +fl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),f.$(target)) +endif + # Invoke repo.sh for a single target r.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) @@ -73,6 +91,14 @@ else ./repo.sh $* endif +# Invoke repo.sh for multiple targets +rl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),r.$(target)) +endif + # Invoke unfetch.sh for a single target u.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) @@ -84,20 +110,64 @@ else ./unfetch.sh $* endif +# Invoke unfetch.sh for multiple targets +ul.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),u.$(target)) +endif + # Invoke clean.sh, and repo.sh for a single target cr.%: $(FSTOOLS_TAG) FORCE $(MAKE) c.$* $(MAKE) r.$* +# Invoke clean.sh and repo.sh for multiple targets +crl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),c.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),r.$(target)) +endif + # Invoke unfetch.sh, clean.sh, and repo.sh for a single target ucr.%: $(FSTOOLS_TAG) FORCE $(MAKE) u.$* $(MAKE) cr.$* +# Invoke unfetch.sh, clean.sh and repo.sh for multiple targets +ucrl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),u.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),cr.$(target)) +endif + uc.%: $(FSTOOLS_TAG) FORCE $(MAKE) u.$* $(MAKE) c.$* +# Invoke unfetch.sh and clean.sh for multiple targets +ucl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),u.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),c.$(target)) +endif + ucf.%: $(FSTOOLS_TAG) FORCE $(MAKE) uc.$* $(MAKE) f.$* + +# Invoke unfetch, clean.sh and fetch.sh for multiple targets +ucfl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),uc.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),f.$(target)) +endif diff --git a/mk/virtualbox.mk b/mk/virtualbox.mk index 5f84fff69..414bf1f6e 100644 --- a/mk/virtualbox.mk +++ b/mk/virtualbox.mk @@ -31,7 +31,7 @@ virtualbox: $(BUILD)/harddrive.img $(VBM) modifyvm Redox --usb off # on $(VBM) modifyvm Redox --keyboard ps2 $(VBM) modifyvm Redox --mouse ps2 - $(VBM) modifyvm Redox --audio $(VB_AUDIO) + $(VBM) modifyvm Redox --audio-driver $(VB_AUDIO) $(VBM) modifyvm Redox --audiocontroller hda $(VBM) modifyvm Redox --audioout on $(VBM) modifyvm Redox --nestedpaging on diff --git a/redox.ipxe b/redox.ipxe new file mode 100644 index 000000000..99008dcbd --- /dev/null +++ b/redox.ipxe @@ -0,0 +1,5 @@ +#!ipxe + +kernel bootloader-live.efi +initrd http://${next-server}:8080/redox-live.iso +boot diff --git a/redoxfs b/redoxfs index 940b02751..066e5f6e8 160000 --- a/redoxfs +++ b/redoxfs @@ -1 +1 @@ -Subproject commit 940b027514506ec5d0437418c567aff510e91b83 +Subproject commit 066e5f6e8a98c2343082b4cac0746daaeb2c2b62 diff --git a/relibc b/relibc index be49c1936..63418095e 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit be49c1936a2dfed51050ac4ece1e4ae05b297208 +Subproject commit 63418095e578459452b341d6d3c084efabf7f574 diff --git a/scripts/category.sh b/scripts/category.sh index 933fab793..28e815d77 100755 --- a/scripts/category.sh +++ b/scripts/category.sh @@ -10,13 +10,22 @@ then exit 1 fi -set -x - action="${1#-}" +recipe_list="" +first=1 + for recipe in `find cookbook/recipes/"$2" -name "recipe.*"` do recipe_folder=`dirname "$recipe"` recipe_name=`basename "$recipe_folder"` - make "$action"."$recipe_name" -done \ No newline at end of file + if [ "$first" -eq 1 ]; then + recipe_list="$recipe_name" + first=0 + else + recipe_list="$recipe_list,$recipe_name" + fi +done + +set -x +make "$action"l."$recipe_list" diff --git a/scripts/ventoy.sh b/scripts/ventoy.sh index 8022f04be..e3ac3beda 100755 --- a/scripts/ventoy.sh +++ b/scripts/ventoy.sh @@ -24,7 +24,7 @@ for ARCH in "${ARCHS[@]}" do for CONFIG_NAME in "${CONFIGS[@]}" do - IMAGE="build/${ARCH}/${CONFIG_NAME}/livedisk.iso" + IMAGE="build/${ARCH}/${CONFIG_NAME}/redox-live.iso" make ARCH="${ARCH}" CONFIG_NAME="${CONFIG_NAME}" "${IMAGE}" cp -v "${IMAGE}" "${VENTOY}/redox-${CONFIG_NAME}-${ARCH}.iso" done