Progress
This commit is contained in:
parent
7041513932
commit
aead6389d9
|
@ -2,6 +2,7 @@ disk.img
|
||||||
etc_syndicate.tar.gz
|
etc_syndicate.tar.gz
|
||||||
initramfs-syndicate-system
|
initramfs-syndicate-system
|
||||||
newroot/
|
newroot/
|
||||||
|
preserves-tool
|
||||||
syndicate-server
|
syndicate-server
|
||||||
synit-pid1
|
synit-pid1
|
||||||
vmlinuz-virt
|
vmlinuz-virt
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
all: run
|
all: run
|
||||||
|
|
||||||
.PHONY: syndicate-server synit-pid1
|
.PHONY: syndicate-server synit-pid1 preserves-tool
|
||||||
.PHONY: all run clean veryclean veryveryclean
|
.PHONY: all run clean veryclean veryveryclean
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -9,7 +9,7 @@ clean:
|
||||||
|
|
||||||
veryclean: clean
|
veryclean: clean
|
||||||
rm -f disk.img
|
rm -f disk.img
|
||||||
rm -f syndicate-server synit-pid1
|
rm -f syndicate-server synit-pid1 preserves-tool
|
||||||
|
|
||||||
veryveryclean: veryclean
|
veryveryclean: veryclean
|
||||||
sudo rm -rf newroot
|
sudo rm -rf newroot
|
||||||
|
@ -17,6 +17,7 @@ veryveryclean: veryclean
|
||||||
ALPINE_VERSION=v3.14
|
ALPINE_VERSION=v3.14
|
||||||
SYNDICATE_RS=~/src/syndicate-rs
|
SYNDICATE_RS=~/src/syndicate-rs
|
||||||
SYNIT_PID1=$(CURDIR)/../../synit-pid1
|
SYNIT_PID1=$(CURDIR)/../../synit-pid1
|
||||||
|
PRESERVES_TOOLS=~/src/preserves/implementations/rust
|
||||||
|
|
||||||
# vmlinuz-lts:
|
# vmlinuz-lts:
|
||||||
# wget http://dl-cdn.alpinelinux.org/alpine/$(ALPINE_VERSION)/releases/aarch64/netboot/vmlinuz-lts
|
# wget http://dl-cdn.alpinelinux.org/alpine/$(ALPINE_VERSION)/releases/aarch64/netboot/vmlinuz-lts
|
||||||
|
@ -26,7 +27,7 @@ SYNIT_PID1=$(CURDIR)/../../synit-pid1
|
||||||
disk.img:
|
disk.img:
|
||||||
qemu-img create -f qcow2 $@ 8G
|
qemu-img create -f qcow2 $@ 8G
|
||||||
|
|
||||||
initramfs-syndicate-system: pack-image.sh init.sh package-list syndicate-server synit-pid1 etc_syndicate.tar.gz
|
initramfs-syndicate-system: pack-image.sh init.sh package-list syndicate-server synit-pid1 preserves-tool etc_syndicate.tar.gz
|
||||||
sudo PACKAGES="$$(cat package-list)" ./pack-image.sh
|
sudo PACKAGES="$$(cat package-list)" ./pack-image.sh
|
||||||
|
|
||||||
etc_syndicate.tar.gz: etc_syndicate/*
|
etc_syndicate.tar.gz: etc_syndicate/*
|
||||||
|
@ -36,6 +37,10 @@ syndicate-server:
|
||||||
$(MAKE) -C $(SYNDICATE_RS) aarch64-binary-release
|
$(MAKE) -C $(SYNDICATE_RS) aarch64-binary-release
|
||||||
rsync -av $(SYNDICATE_RS)/target/aarch64-unknown-linux-musl/release/syndicate-server .
|
rsync -av $(SYNDICATE_RS)/target/aarch64-unknown-linux-musl/release/syndicate-server .
|
||||||
|
|
||||||
|
preserves-tool:
|
||||||
|
$(MAKE) -C $(PRESERVES_TOOLS) aarch64-binary-release
|
||||||
|
rsync -av $(PRESERVES_TOOLS)/target/aarch64-unknown-linux-musl/release/preserves-tool .
|
||||||
|
|
||||||
synit-pid1:
|
synit-pid1:
|
||||||
$(MAKE) -C $(SYNIT_PID1) aarch64-binary-release
|
$(MAKE) -C $(SYNIT_PID1) aarch64-binary-release
|
||||||
rsync -av $(SYNIT_PID1)/target/aarch64-unknown-linux-musl/release/synit-pid1 .
|
rsync -av $(SYNIT_PID1)/target/aarch64-unknown-linux-musl/release/synit-pid1 .
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
<require-service <daemon core-packages>>
|
<require-service <daemon core-packages>>
|
||||||
<depends-on <daemon core-packages> <service-state <milestone network> ready>>
|
<depends-on <daemon core-packages> <service-state <milestone network> ready>>
|
||||||
<daemon core-packages "flock /var/lock/synit/apk /sbin/apk add $(cat /package-list) >>/var/log/apk.log 2>&1">
|
<daemon core-packages "flock /var/lock/synit/apk /sbin/apk add $(cat /package-list)">
|
||||||
|
|
|
@ -8,6 +8,6 @@
|
||||||
}>
|
}>
|
||||||
|
|
||||||
<depends-on <daemon ssh-host-keys> <service-state <daemon <install openssh>> complete>>
|
<depends-on <daemon ssh-host-keys> <service-state <daemon <install openssh>> complete>>
|
||||||
<daemon ssh-host-keys "ssh-keygen -A >>/var/log/ssh.log 2>&1">
|
<daemon ssh-host-keys "ssh-keygen -A">
|
||||||
|
|
||||||
<daemon <install openssh> "flock /var/lock/synit/apk /sbin/apk add openssh >>/var/log/apk.log 2>&1">
|
<daemon <install openssh> "flock /var/lock/synit/apk /sbin/apk add openssh">
|
||||||
|
|
|
@ -59,7 +59,7 @@ then
|
||||||
--root ${NEWROOT} --initdb add $(cat /package-list)
|
--root ${NEWROOT} --initdb add $(cat /package-list)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for f in /etc/apk/repositories /init /package-list /sbin/syndicate-server /sbin/synit-pid1
|
for f in /etc/apk/repositories /init /package-list /sbin/syndicate-server /sbin/synit-pid1 /usr/bin/preserves-tool
|
||||||
do
|
do
|
||||||
echo "Updating $f."
|
echo "Updating $f."
|
||||||
cp -a $f ${NEWROOT}$f
|
cp -a $f ${NEWROOT}$f
|
||||||
|
|
|
@ -95,6 +95,7 @@ EOF
|
||||||
|
|
||||||
cp -a syndicate-server ${MOUNTPOINT}/sbin/.
|
cp -a syndicate-server ${MOUNTPOINT}/sbin/.
|
||||||
cp -a synit-pid1 ${MOUNTPOINT}/sbin/.
|
cp -a synit-pid1 ${MOUNTPOINT}/sbin/.
|
||||||
|
cp -a preserves-tool ${MOUNTPOINT}/usr/bin/.
|
||||||
cp -a etc_syndicate.tar.gz ${MOUNTPOINT}/.
|
cp -a etc_syndicate.tar.gz ${MOUNTPOINT}/.
|
||||||
|
|
||||||
cat > ${MOUNTPOINT}/etc/apk/repositories <<EOF
|
cat > ${MOUNTPOINT}/etc/apk/repositories <<EOF
|
||||||
|
|
|
@ -4,8 +4,17 @@
|
||||||
- mount of the /proc-like things
|
- mount of the /proc-like things
|
||||||
- mount -a
|
- mount -a
|
||||||
- dhcp
|
- dhcp
|
||||||
|
- read /usr/share/udhcpc/default.script, it's very interesting and useful!
|
||||||
- modprobes
|
- modprobes
|
||||||
- getty
|
- getty
|
||||||
- ssh-keygen
|
- ssh-keygen -A
|
||||||
- sshd
|
- /usr/sbin/sshd -D
|
||||||
- check for updates
|
- check for updates
|
||||||
|
- randomness load/save/initialize/wait
|
||||||
|
- assertion of whether a defaultroute exists or not
|
||||||
|
- assertion of whether internet connectivity exists or not
|
||||||
|
- something syslog compatible
|
||||||
|
- hardware clock load/save
|
||||||
|
- udev
|
||||||
|
- sysctl -p
|
||||||
|
- set up sound (pulseaudio?)
|
||||||
|
|
|
@ -357,6 +357,15 @@ dependencies = [
|
||||||
"hashbrown",
|
"hashbrown",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "instant"
|
||||||
|
version = "0.1.11"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "716d3d89f35ac6a34fd0eed635395f4c3b76fa889338a4632e5231a8684216bd"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itoa"
|
name = "itoa"
|
||||||
version = "0.4.8"
|
version = "0.4.8"
|
||||||
|
@ -375,6 +384,15 @@ version = "0.2.101"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21"
|
checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lock_api"
|
||||||
|
version = "0.4.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109"
|
||||||
|
dependencies = [
|
||||||
|
"scopeguard",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "log"
|
name = "log"
|
||||||
version = "0.4.14"
|
version = "0.4.14"
|
||||||
|
@ -556,6 +574,31 @@ version = "3.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6acbef58a60fe69ab50510a55bc8cdd4d6cf2283d27ad338f54cb52747a9cf2d"
|
checksum = "6acbef58a60fe69ab50510a55bc8cdd4d6cf2283d27ad338f54cb52747a9cf2d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "parking_lot"
|
||||||
|
version = "0.11.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
|
||||||
|
dependencies = [
|
||||||
|
"instant",
|
||||||
|
"lock_api",
|
||||||
|
"parking_lot_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "parking_lot_core"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"instant",
|
||||||
|
"libc",
|
||||||
|
"redox_syscall",
|
||||||
|
"smallvec",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-project"
|
name = "pin-project"
|
||||||
version = "1.0.8"
|
version = "1.0.8"
|
||||||
|
@ -590,9 +633,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "preserves"
|
name = "preserves"
|
||||||
version = "2.0.0"
|
version = "2.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cb9b4e6da51a363e60d03c2e5a2c6fd2cc501f52415c72779fd2238f28c95fc1"
|
checksum = "c604be1e4ddac999d7c3d81ca9f7912a33a1234f5394fb902315f8cee25645cd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64",
|
"base64",
|
||||||
"dtoa",
|
"dtoa",
|
||||||
|
@ -604,9 +647,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "preserves-schema"
|
name = "preserves-schema"
|
||||||
version = "2.0.0"
|
version = "2.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b7fa4b81122d3bf688629f1b9c97af5061b6a1410eb805f69a836bdd1095b8ed"
|
checksum = "e1e7d339a003cb3e6852e6793b34d34c811f134d0b54b839d6b360f7c692b924"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"convert_case",
|
"convert_case",
|
||||||
"glob",
|
"glob",
|
||||||
|
@ -671,6 +714,15 @@ dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "redox_syscall"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex"
|
name = "regex"
|
||||||
version = "1.5.4"
|
version = "1.5.4"
|
||||||
|
@ -703,6 +755,12 @@ version = "1.0.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "scopeguard"
|
||||||
|
version = "1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.130"
|
version = "1.0.130"
|
||||||
|
@ -848,6 +906,7 @@ dependencies = [
|
||||||
"getrandom",
|
"getrandom",
|
||||||
"hmac",
|
"hmac",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
|
"parking_lot",
|
||||||
"preserves",
|
"preserves",
|
||||||
"preserves-schema",
|
"preserves-schema",
|
||||||
"sha2",
|
"sha2",
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
cargo-features = ["strip"]
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "synit-pid1"
|
name = "synit-pid1"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
|
@ -9,6 +11,9 @@ homepage = "https://syndicate-lang.org/synit/"
|
||||||
repository = "https://git.syndicate-lang.org/syndicate-lang/syndicate-system"
|
repository = "https://git.syndicate-lang.org/syndicate-lang/syndicate-system"
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
|
|
||||||
|
[profile.release]
|
||||||
|
strip = true
|
||||||
|
|
||||||
[patch.crates-io]
|
[patch.crates-io]
|
||||||
#
|
#
|
||||||
# Use a bind mount for localdev:
|
# Use a bind mount for localdev:
|
||||||
|
|
Loading…
Reference in New Issue