blob: fc122307458cf74264a3bade32fa6edabda725f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# hook for compcache
# based on Ubuntu initramfs hook
#
#
if [ $TCOS_COMPCACHE ]; then
stat_before
tcos_manual_add_modules ramzswap
tcos_manual_add_modules zram
# need swapon for preference option (busybox swapon don't have it)
cpifexists /sbin/swapon /sbin/
[ -x /usr/sbin/rzscontrol ] && cpifexists /usr/sbin/rzscontrol /usr/sbin/
mkdir -p $DESTDIR/etc/udev/rules.d
cat << EOF > $DESTDIR/etc/udev/rules.d/80-compcache.rules
KERNEL=="ramzswap0", ACTION=="add", RUN+="/sbin/swapon -p 100 /dev/ramzswap0 2>/dev/null"
EOF
cat << EOF > $DESTDIR/scripts/init-top/compcache
#!/bin/sh
# new header not using prereqs
if [ "\$1" = "prereqs" ]; then
echo ""
exit 0
fi
quiet=n
. /conf/tcos.conf
. /conf/tcos-run-functions
# find total amount of available ram
TOTAL_RAM=\$(grep MemTotal /proc/meminfo |tr -d ': [A-Z][a-z]')
# Do not use compcache if we have more than 256M
if [ "\${TOTAL_RAM}" -gt 262144 ]; then
exit 0
fi
# add TCOS_COMPCACHE_PERCENT% of RAM (by default 20)
kbytes="\$((\$TOTAL_RAM * $TCOS_COMPCACHE_PERCENT / 100))"
AVALAIBLE_RAM=\$(grep 'Inactive:' /proc/meminfo |tr -d ': [A-Z][a-z]')
if [ "\${kbytes}" -gt "\${AVALAIBLE_RAM}" ]; then
kbytes=\$(( \${AVALAIBLE_RAM} - 500 ))
fi
if tcos_find_module "zram"; then
modprobe zram
echo \$((1024*\$kbytes)) > /sys/block/zram0/disksize
/sbin/mkswap /dev/zram0 >/dev/null 2>&1
/sbin/swapon -p 100 /dev/zram0 >/dev/null 2>&1
else
modprobe -q --ignore-install ramzswap
fi
EOF
chmod 0755 $DESTDIR/scripts/init-top/compcache
stat_after "Compcache support ($TCOS_COMPCACHE_PERCENT%)"
fi
|