summaryrefslogtreecommitdiffstats
path: root/bootstrap-stage1-install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap-stage1-install.sh')
-rwxr-xr-xbootstrap-stage1-install.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/bootstrap-stage1-install.sh b/bootstrap-stage1-install.sh
new file mode 100755
index 0000000..40b2d34
--- /dev/null
+++ b/bootstrap-stage1-install.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+set -e
+
+ARCH=
+
+main()
+{
+ ARCH="$(cat /etc/proteanos_arch)"
+
+ cat <<-EOF
+ installing packages in stage 1...
+ =================================
+ EOF
+
+ install_packages
+}
+
+install_packages()
+{
+ local opk elf_interp
+
+ [ -d root ] && rm -Rf root
+ mkdir root
+ cd root
+
+ for opk in ../pkg/*_${ARCH}_${PLAT}.opk ../pkg/*_${ARCH}_all.opk \
+ ../pkg/*_all_${PLAT}.opk ../pkg/*_all_all.opk; do
+ [ -f "${opk}" ] || continue
+ tar -xzOf "${opk}" data.tar.gz | tar -xz
+ done
+
+ elf_interp="$(readelf -l bin/busybox | sed -n \
+ 's|^.*\[Requesting program interpreter: /\(.*\)\].*$|\1|p')"
+ mkdir -p "${elf_interp%/*}"
+ ln -sf "/lib/${ARCH}/${elf_interp##*/}" "${elf_interp}"
+
+ cd ..
+}
+
+main "${@}"