source: lliurex-grub-custom/trunk/fuentes/debian/lliurex-grub-custom.postinst @ 542

Last change on this file since 542 was 542, checked in by mabarracus, 4 years ago

wip

File size: 4.7 KB
Line 
1#!/bin/sh
2
3LLIUREX_GRUB_TOKENS_DIR="/etc/lliurex-grub-custom"
4TOKEN_DISTRIBUTOR="lliurex-distributor"
5TOKEN_GFXMODE="lliurex-gfxmode"
6TOKEN_GRUB_HIDDEN_TIMEOUT="lliurex-hiddent-timeout"
7TOKEN_GRUB_HIDDEN_TIMEOUT_2="lliurex-hiddent-timeout-2"
8TOKEN_GRUB_BACKGROUND="lliurex-grub-background"
9TOKEN_GRUB_RW="lliurex-grub-rw"
10TOKEN_GRUB_IFACES="lliurex-grub-ifaces"
11LLIUREX_GRUB_DEFAULT="/etc/lliurex-grub/grub.default"
12
13mkdir -p ${LLIUREX_GRUB_TOKENS_DIR}
14
15if [ -f /etc/default/grub ]; then
16        cp /etc/default/grub ${LLIUREX_GRUB_DEFAULT}
17        echo " [ LLiureX Grub Custom ] : Settings for LliureX Grub"
18        # Set distribution only one time
19        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_DISTRIBUTOR} ] ; then
20                echo " [ LLiureX Grub Custom ] : Setting DISTRIBUTION"
21                sed -i "s%^GRUB_DISTRIBUTOR=.*%GRUB_DISTRIBUTOR=\"LliureX Xenial\"%g"  ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
22                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_DISTRIBUTOR}
23        fi
24
25        # Set GFXMODE only one time
26        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GFXMODE} ] ; then
27                echo " [ LLiureX Grub Custom ] : Setting GFXMODE"
28                sed -i "s%^#GRUB_GFXMODE=.*%GRUB_GFXMODE=1024x768%g"  ${LLIUREX_GRUB_DEFAULT}  || echo "Not find the line"
29                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GFXMODE}
30        fi
31
32
33        # Set HIDDENT_TIMEOUT only one time
34        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT} ] ; then
35                echo " [ LLiureX Grub Custom ] : Setting HIDDENT_TIMEOUT"
36                sed -i "s%^GRUB_HIDDEN_TIMEOUT_QUIET=true%#GRUB_HIDDEN_TIMEOUT_QUIET=true%g"  ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
37                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT}
38        fi
39
40
41        # Set HIDDENT_TIMEOUT only one time
42        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT_2} ] ; then
43                echo " [ LLiureX Grub Custom ] : Setting HIDDENT_TIMEOUT"
44                sed -i "s%^GRUB_HIDDEN_TIMEOUT=.*%GRUB_HIDDEN_TIMEOUT=%g"  ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
45                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT_2}
46        fi
47       
48        # Set GRUB_BACKGROUND only one time
49       
50        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_BACKGROUND} ] ; then
51                echo " [ LLiureX Grub Custom ] : Setting GRUB_BACKGROUND"
52                echo 'GRUB_BACKGROUND="/usr/share/lliurex-grub-custom/backgrounds/trusty.png"' >> ${LLIUREX_GRUB_DEFAULT}
53                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_BACKGROUND}
54        fi
55       
56        # Set GRUB rw only one time
57       
58        #if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_RW} ] ; then
59        #       echo " [ LLiureX Grub Custom ] : Setting GRUB_RW"
60        #       sed -i "s%^GRUB_CMDLINE_LINUX_DEFAULT=.*%GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash rw\"%g" /etc/default/grub || echo "Not find the line"
61        #       date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_RW}
62        #fi
63       
64        # Set Default boot options for GRUB_CMDLINE_LINUX_DEFAULT
65        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_IFACES} ] ; then
66                echo " [ LLiureX Grub Custom ] : Setting default Linux cmdline"
67                sed -i "s%^GRUB_CMDLINE_LINUX_DEFAULT=.*%GRUB_CMDLINE_LINUX_DEFAULT=\"net.ifnames=0 quiet splash rw\"%g" ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
68                IFACES=`ls /sys/class/net|egrep -v '^lo$'`
69                I=0
70                for x in $IFACES; do
71                    echo " [ LLiureX Grub Custom ] : Fixing $x into /etc/network/interfaces"
72                    sed -i "s%$x%eth$I%g" /etc/network/interfaces || echo "Not found interface $x into /etc/network/interfaces"
73                    I=$(($I+1))
74                done
75                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_IFACES}
76        fi
77fi
78
79
80# Template for diversions
81ORIG_FILE="/etc/grub.d/10_linux"
82OUR_FILE="/etc/lliurex-grub/10_linux_lliurex"
83OUR_PACKAGE="lliurex-grub-custom"
84
85GRUB_DEFAULT_FILE="/etc/default/grub"
86case $1 in
87
88        configure)
89                mkdir -p  /etc/lliurex-grub/
90                if dpkg-divert --package ${OUR_PACKAGE} --add  --rename  --divert /etc/lliurex-grub/10_linux.real ${ORIG_FILE} ; then
91                        ln -fs ${OUR_FILE} ${ORIG_FILE}
92                else
93                        echo "Unabe to divert file ${ORIG_FILE}"
94                fi
95                if dpkg-divert --package ${OUR_PACKAGE}  --divert ${GRUB_DEFAULT_FILE}.ubuntu --rename ${GRUB_DEFAULT_FILE} ; then
96                        cp  ${LLIUREX_GRUB_DEFAULT} ${GRUB_DEFAULT_FILE}
97                        ucf --purge ${GRUB_DEFAULT_FILE}
98                        ucfr --purge --force grub-pc ${GRUB_DEFAULT_FILE}
99                        ucfr grub-pc ${GRUB_DEFAULT_FILE}
100                        ucfr ${OUR_PACKAGE} ${GRUB_DEFAULT_FILE}.ubuntu
101                        echo "Diverted ${GRUB_DEFAULT_FILE} file"
102                else
103                        echo "Unable to divert file ${ORIG_FILE}"
104                fi
105                ;;
106        *)
107                echo "Nothing to do"
108                ;;
109esac
110
111# Other Stuff #
112
113
114# To clean initramfs scripts
115if type update-initramfs >/dev/null 2>&1; then
116    update-initramfs -u || true
117fi
118
119
120#DEBHELPER#
121
122
123
124update-grub2 || true
125
126#DEBHELPER#
Note: See TracBrowser for help on using the repository browser.