diff --git a/Makefile b/Makefile
index bdfcd050..aba49764 100644
--- a/Makefile
+++ b/Makefile
@@ -9,12 +9,12 @@ LIMINEDIR=$(JINX_DIR)/host-pkgs/limine/usr/local/share/limine/
KERNEL=$(JINX_DIR)/builds/astral/astral
QEMUFLAGS=-M q35 -m 2g -smp cpus=4 -no-shutdown -no-reboot -debugcon file:/dev/stdout -serial stdio -netdev user,id=net0 -device virtio-net,netdev=net0 -object filter-dump,id=f1,netdev=net0,file=netdump.dat
QEMUISOFLAGS=-cdrom $(ISO)
-QEMUDISKFLAGS=-drive file=$(DISKNAME),if=none,id=nvme -device virtio-blk,serial=deadc0ff,drive=nvme -boot order=dc
+QEMUDISKFLAGS=-drive file=$(DISKNAME),if=none,id=nvme -device nvme,serial=deadc0ff,drive=nvme -boot order=dc
QEMUIMGFLAGS=-drive file=$(IMG),if=none,id=usb -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=usb,removable=on
INITRD=$(JINX_DIR)/initrds/initrd
DISTROTYPE=full
-MINIMALPACKAGES=mlibc bash coreutils init distro-files vim nano mount netd shadow sudo neofetch
+MINIMALPACKAGES=mlibc bash coreutils init distro-files vim nano mount shadow sudo xbps net-base neofetch
.PHONY: all kernel clean clean-kernel iso img initrd full minimal disk distro-minimal distro-full
diff --git a/kernel-src/Makefile b/kernel-src/Makefile
index 6bf65325..3300a3bc 100644
--- a/kernel-src/Makefile
+++ b/kernel-src/Makefile
@@ -22,7 +22,7 @@ all:
echo "#ifndef _BUILD_H" > include/build.h
echo "#define _BUILD_H" >> include/build.h
echo " #define BUILD_DATE \"$(shell date -u)\"" >> include/build.h
- echo " #define BUILD_TARGET \"$(TARGET)\"" >> include/build.h
+ echo " #define BUILD_TARGET \"$(JINX_ARCH)\"" >> include/build.h
echo "#endif" >> include/build.h
make astral
diff --git a/patches/mlibc/jinx-working-patch.patch b/patches/mlibc/jinx-working-patch.patch
index bb51cd07..5b18f87d 100644
--- a/patches/mlibc/jinx-working-patch.patch
+++ b/patches/mlibc/jinx-working-patch.patch
@@ -84,13 +84,20 @@ index d5ba7b2..a86353f 100644
long error = syscall(SYSCALL_ARCHCTL, &ret, func, (uint64_t)arg);
if(error)
diff --git mlibc-clean/sysdeps/astral/generic/generic.cpp mlibc-workdir/sysdeps/astral/generic/generic.cpp
-index bb85dba..5f12e17 100644
+index bb85dba..be7ad9e 100644
--- mlibc-clean/sysdeps/astral/generic/generic.cpp
+++ mlibc-workdir/sysdeps/astral/generic/generic.cpp
-@@ -40,6 +40,31 @@ namespace mlibc {
+@@ -40,6 +40,38 @@ namespace mlibc {
return 0;
}
++ int sys_inet_configured(bool *ipv4, bool *ipv6) {
++ // there is no ipv6 support in the kernel currently and no way of checking for configured interfaces
++ *ipv4 = true;
++ *ipv6 = false;
++ return 0;
++ }
++
+ int sys_getcpu(int *cpu) {
+ long ret;
+ // can never fail
@@ -119,7 +126,7 @@ index bb85dba..5f12e17 100644
int sys_tgkill(int pid, int tid, int sig) {
long ret;
return syscall(SYSCALL_KILLTHREAD, &ret, pid, tid, sig);
-@@ -161,7 +186,18 @@ namespace mlibc {
+@@ -161,7 +193,18 @@ namespace mlibc {
*bytes_written = writec;
return error;
}
@@ -139,7 +146,7 @@ index bb85dba..5f12e17 100644
#ifndef MLIBC_BUILDING_RTLD
typedef struct {
-@@ -376,6 +412,12 @@ namespace mlibc {
+@@ -376,6 +419,12 @@ namespace mlibc {
return ret;
}
@@ -152,7 +159,7 @@ index bb85dba..5f12e17 100644
#ifndef MLIBC_BUILDING_RTLD
[[noreturn]] void sys_thread_exit() {
-@@ -771,7 +813,7 @@ namespace mlibc {
+@@ -771,7 +820,7 @@ namespace mlibc {
int sys_tcb_set(void *pointer) {
long r;
diff --git a/patches/xbps/jinx-working-patch.patch b/patches/xbps/jinx-working-patch.patch
index 7bc9ef75..829224a9 100644
--- a/patches/xbps/jinx-working-patch.patch
+++ b/patches/xbps/jinx-working-patch.patch
@@ -11,6 +11,49 @@ index 8e6b2db..7079ab8 100755
# Ensure that we do not inherit these from env
OS=
BUILD=
+diff --git xbps-workdir/data/58:87:8d:25:bd:62:da:57:bf:89:ec:7a:c7:dc:6f:85.plist xbps-workdir/data/58:87:8d:25:bd:62:da:57:bf:89:ec:7a:c7:dc:6f:85.plist
+new file mode 100644
+index 0000000..7ff24dc
+--- /dev/null
++++ xbps-workdir/data/58:87:8d:25:bd:62:da:57:bf:89:ec:7a:c7:dc:6f:85.plist
+@@ -0,0 +1,12 @@
++
++
++
++
++ public-key
++ LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFsN3pjNFdsWk0yY21jS2p2Q0pldQpRYlFsN3Y1M2N5MmJ0TDVvV0Q3c0l6eWNDTVNaRkY1OGdkTzFFK2VmcXlabTNCNFZ1d0k2UUZkOWY2T2FtNW12CkIrczVzR1FLZ2lxWlR5SHZaa005R3Nab1pjdnZGZHZHa0o2WEdBeCtjWHJDLzR6Sm9Dak5sWTVhb1ExeXMxRnUKUngzQ2RBTkNCa3NtRGxkdTQ1RFFJZnlYMXh0eXZ0S0FvRUM4NCtGOVhmdDBKOENDSllLeW43M0RRUkdIbThqawppZkhSYld4aEZCdTdKQmZJWDYzT0R1UG1wTHdLYmJjQ2g4dWMya3hzMVNzVHhaaG9Ia0NURlkzL0V0R2p6eW9NClpNaFRIbHl1MTBQTU54eEN2U2hyYW05UlVPVi80NkhNWWZudDU4YUtOM1R4cEFkR3ZHTU1rSVUxdnpienlJekMKandJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==
++ public-key-size
++ 2048
++ signature-by
++ Math
++
++
+diff --git xbps-clean/data/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist xbps-clean/data/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist
+deleted file mode 100644
+index c1e82a7..0000000
+--- xbps-clean/data/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist
++++ /dev/null
+@@ -1,12 +0,0 @@
+-
+-
+-
+-
+- public-key
+- LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF2clN6QlpNdmd2T0NJM0FYYk9qYQoycktSa0pTVE0zYy9FalRJZ0NnRFhndW05M0JQQ3RZOE1jRlZvQ1U0T2lYSEdmVG1xMzlCVk5wTHZMSEw5S2sxCnAyNzhTQmhYVk90YkIyRVZtREtudmZJREVUbGRMR3plN3JaTlJKZHR1TjJtWi9UVnJVQjlTMHlRYytJdWY0aHYKMytEOTdWSWRUSkhBN0FTcjA0MjhwcEVHSkd3U1NoWTJYSm05RDVJMEV1R1JXYzE0TUVHN2RJS0ppWWlNMG5FNAp0WW8yL3ZINElGVEhkblZBM2dZaVp5RG5idUNBUi84RVNmVVRVMTNTTkNPZGJ1ZGYzRDVCY3krVWlNREpJM1llCjRNRktCclQ5WmhaK0dzWEJaWTQ4MmxxaVppNkNMNXB0YzlJUUZmOC9lS1phOGphdGtpVkZWZ3JLZU5Sak9UeE4KZldTdTJua3hHTlgrYmhYWXRoaUdXbUpFWThjQ0FQeUZOK0x2NVJldEsyNTZnZGNiMnNrbUVxZWZ2MnpQQyt3VgpXQmJkSDViRDRiWmpuME42Wmw4MXJ2NVJ6RHZudmYrdkQxNGFGVWJaOFFGcXU3NVBiTDR3Nm1ZTTRsZE0vZzBSCjZOWEU4QXo5Qnd4MnREZlllS3V1dHcxRXBQbTJZdkZ5VFViMWNveUF1VEdSeUFhcDFVVEh2ZzlsaFBJSm1oRlEKSjVrQ2cxcUQ3QTMxV2wwUmxuZTZoZ0dvMFpaTko1Y0pNL3YvelNUS0pjdUZnd283SDBoT0dpbDZEZm84OUI0agpHOTZBQ3lQUytEVktQRlhSWXdqL0FrYkhwYVEyZjFGTUFvU3BCcXVEcUhoM3VrazcxS1g2ajE5dDBpRjhEUUxyCnZ0RlNTZElqREEwMmx3ZVY5TmFRcFdzQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo=
+- public-key-size
+- 4096
+- signature-by
+- Void Linux
+-
+-
+diff --git xbps-clean/data/repod-main.conf xbps-workdir/data/repod-main.conf
+index e1c99f1..c78164d 100644
+--- xbps-clean/data/repod-main.conf
++++ xbps-workdir/data/repod-main.conf
+@@ -1 +1 @@
+-repository=https://repo-default.voidlinux.org/current
++repository=https://astral-os.org/repository
diff --git xbps-clean/lib/fetch/ftp.c xbps-workdir/lib/fetch/ftp.c
index 877b70d..a303d18 100644
--- xbps-clean/lib/fetch/ftp.c
diff --git a/recipes/astral b/recipes/astral
index c1d1120d..ec616893 100644
--- a/recipes/astral
+++ b/recipes/astral
@@ -6,7 +6,7 @@ hostdeps="xgcc xbinutils limine"
build() {
cp -pr "${source_dir}"/* .
- CC="x86_64-astral-gcc" LD="x86_64-astral-gcc" AS="nasm" TARGET=x86-64 make -j${parallelism}
+ CC="x86_64-astral-gcc" LD="x86_64-astral-gcc" AS="nasm" TARGET=x86-64 JINX_ARCH=${JINX_ARCH} make -j${parallelism}
}
package() {
diff --git a/recipes/net-base b/recipes/net-base
new file mode 100644
index 00000000..6e07442e
--- /dev/null
+++ b/recipes/net-base
@@ -0,0 +1,4 @@
+name=net-base
+version=1
+revision=1
+deps="netd make-ca iana-etc openssl"
diff --git a/recipes/xbps b/recipes/xbps
index 1d4f2068..a6a0ac6e 100644
--- a/recipes/xbps
+++ b/recipes/xbps
@@ -3,7 +3,7 @@ revision=1
from_source=xbps
imagedeps="build-essential"
hostdeps="xgcc xbinutils pkgconfig"
-deps="base libarchive openssl zlib"
+deps="base libarchive openssl zlib zstd"
configure() {
cp -rp ${source_dir}/* .
@@ -17,5 +17,6 @@ build() {
package() {
make install DESTDIR=${dest_dir}
+ echo $JINX_ARCH
sed -i "s/ARCH_HERE/${JINX_ARCH}/g" "${dest_dir}${prefix}"/share/xbps.d/00-repository-main.conf
}
diff --git a/recipes/zstd b/recipes/zstd
new file mode 100644
index 00000000..75b73163
--- /dev/null
+++ b/recipes/zstd
@@ -0,0 +1,18 @@
+name=zstd
+revision=1
+from_source=zstd
+imagedeps="build-essential"
+hostdeps="xgcc xbinutils"
+deps="base"
+
+configure() {
+ cp -rp ${source_dir}/* .
+}
+
+build() {
+ make CC=x86_64-astral-gcc LD=x86_64-astral-ld -j${parallelism}
+}
+
+package() {
+ make install DESTDIR="${dest_dir}" PREFIX=/usr
+}
diff --git a/source-recipes/zstd b/source-recipes/zstd
new file mode 100644
index 00000000..47ff5fda
--- /dev/null
+++ b/source-recipes/zstd
@@ -0,0 +1,9 @@
+name=zstd
+version=1.5.7
+source_method=tarball
+tarball_url="https://github.com/facebook/zstd/archive/refs/tags/v${version}.tar.gz"
+tarball_sha512=26e441267305f6e58080460f96ab98645219a90d290a533410b1b0b1d2f870721c95f8384e342ee647c5e968385a5b7e30c2d04340c37f59b3e6d86762c3260c
+
+prepare() {
+ true
+}