Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/hakchi2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mods
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2017-01-07 19:18:29 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2017-01-07 19:18:29 +0300
commitbaebd293c5e8cc41ebcd11464868e73c0a8044db (patch)
treeee1ec4f7d85863099b3d1d7656935295973e352d /mods
First commit
Diffstat (limited to 'mods')
-rw-r--r--mods/mod_kernel/bin/busyboxbin0 -> 608480 bytes
-rw-r--r--mods/mod_kernel/bin/chrootbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/cpbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/ddbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/gzipbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/lsbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/mkdirbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/mvbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/poweroffbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/bin/rmbin0 -> 28 bytes
-rw-r--r--mods/mod_kernel/hakchi/init36
-rw-r--r--mods/mod_kernel/sbin/init39
-rw-r--r--mods/mod_transfer/bin/busyboxbin0 -> 608480 bytes
-rw-r--r--mods/mod_transfer/bin/chrootbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/cpbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/ddbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/gzipbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/lsbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/mkdirbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/mvbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/poweroffbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/bin/rmbin0 -> 28 bytes
-rw-r--r--mods/mod_transfer/hakchi/init79
-rw-r--r--mods/mod_transfer/hakchi/rootfs/etc/inittab16
-rw-r--r--mods/mod_transfer/hakchi/rootfs/etc/preinit8
-rw-r--r--mods/mod_transfer/hakchi/rootfs/etc/profile35
-rw-r--r--mods/mod_transfer/sbin/init39
27 files changed, 252 insertions, 0 deletions
diff --git a/mods/mod_kernel/bin/busybox b/mods/mod_kernel/bin/busybox
new file mode 100644
index 00000000..e71f5823
--- /dev/null
+++ b/mods/mod_kernel/bin/busybox
Binary files differ
diff --git a/mods/mod_kernel/bin/chroot b/mods/mod_kernel/bin/chroot
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/chroot
Binary files differ
diff --git a/mods/mod_kernel/bin/cp b/mods/mod_kernel/bin/cp
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/cp
Binary files differ
diff --git a/mods/mod_kernel/bin/dd b/mods/mod_kernel/bin/dd
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/dd
Binary files differ
diff --git a/mods/mod_kernel/bin/gzip b/mods/mod_kernel/bin/gzip
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/gzip
Binary files differ
diff --git a/mods/mod_kernel/bin/ls b/mods/mod_kernel/bin/ls
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/ls
Binary files differ
diff --git a/mods/mod_kernel/bin/mkdir b/mods/mod_kernel/bin/mkdir
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/mkdir
Binary files differ
diff --git a/mods/mod_kernel/bin/mv b/mods/mod_kernel/bin/mv
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/mv
Binary files differ
diff --git a/mods/mod_kernel/bin/poweroff b/mods/mod_kernel/bin/poweroff
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/poweroff
Binary files differ
diff --git a/mods/mod_kernel/bin/rm b/mods/mod_kernel/bin/rm
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_kernel/bin/rm
Binary files differ
diff --git a/mods/mod_kernel/hakchi/init b/mods/mod_kernel/hakchi/init
new file mode 100644
index 00000000..4389a71e
--- /dev/null
+++ b/mods/mod_kernel/hakchi/init
@@ -0,0 +1,36 @@
+init(){
+echo
+modname=hakchi
+mountpoint=/newroot
+installdir=$mountpoint/var/lib/$modname
+rootfs=$installdir/rootfs
+config=$installdir/config
+
+echo Starting $modname...
+
+mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs $mountpoint/var
+mkdir $mountpoint/var/lib
+mount -o defaults,nosuid,nodev,noatime /dev/nandc $mountpoint/var/lib
+
+if [ -f $config ]; then
+ echo $modname config found
+ . $config
+else
+ echo $modname config not found
+fi
+
+if [ "$hakchi_enabled" == "y" ]; then
+ echo Loading sandbox shell
+ . $rootfs/etc/preinit
+ preinit
+ return $?
+else
+ echo Loading stock shell
+ umount $mountpoint/var/lib
+ umount $mountpoint/var
+ return 0
+fi
+
+}
+
+init
diff --git a/mods/mod_kernel/sbin/init b/mods/mod_kernel/sbin/init
new file mode 100644
index 00000000..52cc5fa1
--- /dev/null
+++ b/mods/mod_kernel/sbin/init
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+/bin/mount -t proc proc /proc
+/bin/mount -t sysfs sys /sys
+
+for i in $(cat /proc/cmdline); do
+ if [ "$i" = "ro" ] ; then
+ READONLY="y"
+ elif [ "${i#root=}" != "$i" ] ; then
+ ROOTFS="${i#root=}"
+ elif [ "$i" = "decrypt" ] ; then
+ DECRYPT="y"
+ fi
+done
+
+MOUNT_OPTS="noatime"
+if [ "${DECRYPT}" = "y" ]; then
+ if [ "${READONLY}" == "y" ]; then
+ READONLY="--readonly"
+ else
+ READONLY=""
+ fi
+
+ /sbin/cryptsetup open ${ROOTFS} root-crypt ${READONLY} --type plain --cipher aes-xts-plain --key-file /key-file
+ /bin/mount -o "${MOUNT_OPTS}" /dev/mapper/root-crypt /newroot
+else
+ if [ "${READONLY}" == "y" ]; then
+ MOUNT_OPTS="ro,${MOUNT_OPTS}"
+ fi
+
+ /bin/mount -o "${MOUNT_OPTS}" ${ROOTFS} /newroot
+fi
+
+. /hakchi/init
+
+/bin/mount --move /dev /newroot/dev
+/bin/umount /proc
+/bin/umount /sys
+exec /sbin/switch_root /newroot /sbin/init
diff --git a/mods/mod_transfer/bin/busybox b/mods/mod_transfer/bin/busybox
new file mode 100644
index 00000000..e71f5823
--- /dev/null
+++ b/mods/mod_transfer/bin/busybox
Binary files differ
diff --git a/mods/mod_transfer/bin/chroot b/mods/mod_transfer/bin/chroot
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/chroot
Binary files differ
diff --git a/mods/mod_transfer/bin/cp b/mods/mod_transfer/bin/cp
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/cp
Binary files differ
diff --git a/mods/mod_transfer/bin/dd b/mods/mod_transfer/bin/dd
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/dd
Binary files differ
diff --git a/mods/mod_transfer/bin/gzip b/mods/mod_transfer/bin/gzip
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/gzip
Binary files differ
diff --git a/mods/mod_transfer/bin/ls b/mods/mod_transfer/bin/ls
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/ls
Binary files differ
diff --git a/mods/mod_transfer/bin/mkdir b/mods/mod_transfer/bin/mkdir
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/mkdir
Binary files differ
diff --git a/mods/mod_transfer/bin/mv b/mods/mod_transfer/bin/mv
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/mv
Binary files differ
diff --git a/mods/mod_transfer/bin/poweroff b/mods/mod_transfer/bin/poweroff
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/poweroff
Binary files differ
diff --git a/mods/mod_transfer/bin/rm b/mods/mod_transfer/bin/rm
new file mode 100644
index 00000000..74ec3196
--- /dev/null
+++ b/mods/mod_transfer/bin/rm
Binary files differ
diff --git a/mods/mod_transfer/hakchi/init b/mods/mod_transfer/hakchi/init
new file mode 100644
index 00000000..d725906e
--- /dev/null
+++ b/mods/mod_transfer/hakchi/init
@@ -0,0 +1,79 @@
+init(){
+echo
+
+modname=hakchi
+mountpoint=/newroot
+installdir=$mountpoint/var/lib/$modname
+rootfs=$installdir/rootfs
+config=$installdir/config
+
+echo Starting $modname...
+
+mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs $mountpoint/var
+mkdir $mountpoint/var/lib
+mount -o defaults,nosuid,nodev,noatime /dev/nandc $mountpoint/var/lib
+
+if [ ! -f $installdir/installed ]; then
+ echo Installing $modname...
+
+ rm -rf $installdir
+ mkdir -p $rootfs/usr/share/games/nes
+
+ echo 1>$installdir/installed
+ cp -a $mountpoint/bin $rootfs/
+ cp -a $mountpoint/etc $rootfs/
+
+ cp -a /$modname/rootfs/* $rootfs/
+ cp -a /bin/busybox $rootfs/bin/
+ cp -a /sbin/cryptsetup $rootfs/bin/
+
+ mkdir -p $rootfs/usr/share/games/nes/
+ cp -a $mountpoint/usr/share/games/nes/kachikachi $rootfs/usr/share/games/nes/
+
+ chroot $rootfs /bin/busybox --install -s /bin/
+else
+ echo $modname already installed
+fi
+
+if [ -f $modname/config ]; then
+ echo Updating config...
+ mkdir -p $installdir
+ cp -f /$modname/config $config
+ echo New config:
+ cat $config
+fi
+if [ -f $config ]; then
+ echo $modname config found
+ . $config
+else
+ echo $modname config not found
+fi
+
+if [ -d /transfer ]; then
+ echo Transferring data...
+ cp -a /transfer/* $installdir/
+fi
+
+if [ "$hakchi_remove_games" == "y" ]; then
+ echo Removing all games...
+ rm -rf $rootfs/usr/share/games/nes/kachikachi/CLV-*
+fi
+
+if [ "$hakchi_original_games" == "y" ]; then
+ echo Transfering original games...
+ cp -a $mountpoint/usr/share/games/nes/kachikachi $rootfs/usr/share/games/nes/
+fi
+
+if [ -d /games ]; then
+ echo Transferring new games...
+ cp -a /games/* $rootfs/usr/share/games/nes/kachikachi
+fi
+
+echo Shutting down...
+umount $mountpoint/var/lib
+umount $mountpoint/var
+poweroff -f
+return 0
+}
+
+init
diff --git a/mods/mod_transfer/hakchi/rootfs/etc/inittab b/mods/mod_transfer/hakchi/rootfs/etc/inittab
new file mode 100644
index 00000000..8bba3546
--- /dev/null
+++ b/mods/mod_transfer/hakchi/rootfs/etc/inittab
@@ -0,0 +1,16 @@
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mkdir -p /dev/pts /dev/shm
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/mkdir -p /var/cache /var/lock /var/log /var/spool
+null::sysinit:/bin/ln -s /tmp /var/tmp
+null::sysinit:/bin/ln -s /run /var/run
+
+null::sysinit:/bin/mkdir -p /var/cache/clover/reed-libs/tmp /var/lib/clover/profiles/0/home-menu /var/lib/clover/config/reed-libs
+
+null::sysinit:/etc/init.d/rcS
+
+null::respawn:/sbin/getty 115200 ttyS0
+
+null::ctrlaltdel:/sbin/reboot
+null::shutdown:/etc/init.d/rcK
+null::shutdown:/bin/umount -a -r
diff --git a/mods/mod_transfer/hakchi/rootfs/etc/preinit b/mods/mod_transfer/hakchi/rootfs/etc/preinit
new file mode 100644
index 00000000..f908ebc8
--- /dev/null
+++ b/mods/mod_transfer/hakchi/rootfs/etc/preinit
@@ -0,0 +1,8 @@
+preinit(){
+
+mount -o bind $rootfs/bin $mountpoint/bin
+mount -o bind $rootfs/etc $mountpoint/etc
+mount -o bind $rootfs/usr/share/games/nes/kachikachi $mountpoint/usr/share/games/nes/kachikachi
+
+return 0
+}
diff --git a/mods/mod_transfer/hakchi/rootfs/etc/profile b/mods/mod_transfer/hakchi/rootfs/etc/profile
new file mode 100644
index 00000000..b7197933
--- /dev/null
+++ b/mods/mod_transfer/hakchi/rootfs/etc/profile
@@ -0,0 +1,35 @@
+# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
+# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
+
+PATH="/usr/local/bin:/usr/bin:/bin"
+EDITOR="vi" # needed for packages like cron, git-commit
+test -z "$TERM" && TERM="vt100" # Basic terminal capab. For screen etc.
+
+if [ "$HOME" = "/root" ]; then
+ PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
+fi
+if [ "$PS1" ]; then
+# works for bash and ash (no other shells known to be in use here)
+ PS1='\u@\h:\w\$ '
+fi
+
+if [ -d /etc/profile.d ]; then
+ for i in /etc/profile.d/*.sh ; do
+ if [ -f $i -a -r $i ]; then
+ . $i
+ fi
+ done
+ unset i
+fi
+
+if [ -x /usr/bin/resize ] && termpath="`tty`"; then
+ # Make sure we are on a serial console (i.e. the device used starts with /dev/tty),
+ # otherwise we confuse e.g. the eclipse launcher which tries do use ssh
+ case "$termpath" in
+ /dev/tty*) resize >/dev/null
+ esac
+fi
+
+export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
+
+umask 022
diff --git a/mods/mod_transfer/sbin/init b/mods/mod_transfer/sbin/init
new file mode 100644
index 00000000..52cc5fa1
--- /dev/null
+++ b/mods/mod_transfer/sbin/init
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+/bin/mount -t proc proc /proc
+/bin/mount -t sysfs sys /sys
+
+for i in $(cat /proc/cmdline); do
+ if [ "$i" = "ro" ] ; then
+ READONLY="y"
+ elif [ "${i#root=}" != "$i" ] ; then
+ ROOTFS="${i#root=}"
+ elif [ "$i" = "decrypt" ] ; then
+ DECRYPT="y"
+ fi
+done
+
+MOUNT_OPTS="noatime"
+if [ "${DECRYPT}" = "y" ]; then
+ if [ "${READONLY}" == "y" ]; then
+ READONLY="--readonly"
+ else
+ READONLY=""
+ fi
+
+ /sbin/cryptsetup open ${ROOTFS} root-crypt ${READONLY} --type plain --cipher aes-xts-plain --key-file /key-file
+ /bin/mount -o "${MOUNT_OPTS}" /dev/mapper/root-crypt /newroot
+else
+ if [ "${READONLY}" == "y" ]; then
+ MOUNT_OPTS="ro,${MOUNT_OPTS}"
+ fi
+
+ /bin/mount -o "${MOUNT_OPTS}" ${ROOTFS} /newroot
+fi
+
+. /hakchi/init
+
+/bin/mount --move /dev /newroot/dev
+/bin/umount /proc
+/bin/umount /sys
+exec /sbin/switch_root /newroot /sbin/init