wok-tiny annotate custom-console/receipt @ rev 181
x86test: add a patch for NMOS 8088
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Sep 20 13:53:13 2023 +0000 (8 months ago) |
parents | 07306c98c4d7 |
children |
rev | line source |
---|---|
pascal@53 | 1 # SliTaz package receipt. |
pascal@53 | 2 |
pascal@53 | 3 PACKAGE="custom-console" |
pascal@108 | 4 VERSION="2.0" |
pascal@94 | 5 CATEGORY="meta" |
pascal@109 | 6 GROUP="system" |
pascal@108 | 7 SHORT_DESC="Configure the consoles" |
pascal@53 | 8 MAINTAINER="pascal.bellard@slitaz.org" |
pascal@90 | 9 LICENSE="BSD" |
pascal@55 | 10 WEB_SITE="http://tiny.slitaz.org/" |
pascal@53 | 11 DEPENDS="base-tiny" |
pascal@100 | 12 SUGGESTED="module-usbserial module-serial" |
pascal@181 | 13 CONFIG_FILES="/etc/init.d/tty.sh" |
pascal@53 | 14 |
pascal@53 | 15 # Rules to gen a SliTaz package suitable for Tazpkg. |
pascal@53 | 16 genpkg_rules() |
pascal@53 | 17 { |
pascal@108 | 18 mkdir -p $fs/etc/init.d |
pascal@53 | 19 } |
pascal@53 | 20 |
pascal@53 | 21 post_install() |
pascal@53 | 22 { |
pascal@109 | 23 respawn=respawn |
pascal@109 | 24 [ "$ASKFIRST" ] && respawn=askfirst |
pascal@142 | 25 [ "$KERNEL_TTY" = "none" ] || |
pascal@108 | 26 echo -n " console=tty0 console=$KERNEL_TTY,${SPEED_KERNEL_TTY}n8" \ |
pascal@108 | 27 >> $1/boot/cmdline |
pascal@108 | 28 TTY_LIST="" |
pascal@108 | 29 for i in $(seq 1 63); do |
pascal@108 | 30 eval n=\$TTY$i |
pascal@108 | 31 [ -n "$n" ] || continue |
pascal@108 | 32 TTY_LIST="$TTY_LIST tty$i:38400" |
pascal@108 | 33 done |
pascal@108 | 34 for i in $(seq 0 3 | sed 's/^/TTYS/' ; seq 0 3 | sed 's/^/TTYUSB/'); do |
pascal@108 | 35 eval n=\$$i |
pascal@108 | 36 [ -n "$n" ] || continue |
pascal@108 | 37 eval s=\$SPEED_$i |
pascal@108 | 38 TTY_LIST="$TTY_LIST ${i/TTY/tty}:$s" |
pascal@108 | 39 done |
pascal@108 | 40 [ -s $1/etc/init.d/tty.sh ] || cat > $1/etc/init.d/tty.sh <<EOT |
pascal@108 | 41 #!/bin/sh |
pascal@108 | 42 |
pascal@108 | 43 . /etc/init.d/rc.functions |
pascal@108 | 44 EOT |
pascal@108 | 45 chmod +x $1/etc/init.d/tty.sh |
pascal@108 | 46 cat >> $1/etc/init.d/tty.sh <<EOT |
pascal@108 | 47 |
pascal@108 | 48 sed -i '/^tty/d' /etc/inittab |
pascal@108 | 49 EOT |
pascal@108 | 50 [ -n "$TTY_LIST" ] || |
pascal@108 | 51 echo 'echo -n "Disable login console"' >> $1/etc/init.d/tty.sh |
pascal@108 | 52 [ -n "$TTY_LIST" ] && cat >> $1/etc/init.d/tty.sh <<EOT |
pascal@108 | 53 echo -n "Enable login console from " |
pascal@108 | 54 for i in$TTY_LIST; do |
pascal@109 | 55 dev=\${i%:*} |
pascal@109 | 56 major=4 |
pascal@109 | 57 minor=\$(echo \$dev | sed 's/[^0-9]*//') |
pascal@109 | 58 case "\$dev" in |
pascal@109 | 59 ttyUSB*) major=188 ;; |
pascal@109 | 60 ttyS*) minor=\$((64+\$minor)) ;; |
pascal@108 | 61 esac |
pascal@109 | 62 [ -e /dev/\$dev ] || mknod /dev/\$dev c \$major \$minor |
pascal@109 | 63 stty -F /dev/\$dev > /dev/null 2>&1 || continue |
pascal@109 | 64 echo -n "\$dev " |
pascal@109 | 65 echo "\$dev::$respawn:getty \${i#*:} /dev/\$dev" >> /etc/inittab |
pascal@108 | 66 done |
pascal@108 | 67 kill -1 1 |
pascal@108 | 68 status |
pascal@108 | 69 EOT |
pascal@108 | 70 grep tty.sh $1/etc/rcS.conf || |
pascal@109 | 71 sed -i 's/^RUN_SCRIPTS="/&tty.sh /' $1/etc/rcS.conf |
pascal@53 | 72 } |
pascal@53 | 73 |
pascal@53 | 74 config_form() |
pascal@53 | 75 { |
pascal@53 | 76 cat <<EOT |
pascal@108 | 77 <hr /> |
pascal@108 | 78 Virtual consoles |
pascal@53 | 79 <table> |
pascal@108 | 80 EOT |
pascal@108 | 81 for i in $(seq 1 63); do |
pascal@108 | 82 [ $(($i & 7)) -eq 1 ] && echo "<tr>" |
pascal@126 | 83 eval checked="\$TTY$i" |
pascal@108 | 84 cat <<EOT |
pascal@108 | 85 <td> |
pascal@126 | 86 <input type="checkbox" name="TTY$i" ${checked:+checked=checked }/> tty$i |
pascal@108 | 87 </td> |
pascal@108 | 88 EOT |
pascal@108 | 89 [ $(($i & 7)) -eq 0 ] && echo "</tr>" |
pascal@108 | 90 done |
pascal@108 | 91 cat <<EOT |
pascal@108 | 92 <td></td> |
pascal@108 | 93 </tr> |
pascal@108 | 94 </table> |
pascal@177 | 95 <p> |
pascal@177 | 96 <input type="checkbox" name="ASKFIRST" ${ASKFIRST:+checked=checked }/> |
pascal@177 | 97 Confirm console launch (spare some memory) |
pascal@177 | 98 </p> |
pascal@108 | 99 <hr /> |
pascal@108 | 100 Serial consoles |
pascal@108 | 101 <table> |
pascal@177 | 102 <tr> |
pascal@108 | 103 EOT |
pascal@108 | 104 for i in $(seq 0 3 | sed 's/^/TTYS/' ; seq 0 3 | sed 's/^/TTYUSB/'); do |
pascal@126 | 105 eval checked="\$$i" |
pascal@108 | 106 cat <<EOT |
pascal@177 | 107 <td><input type="checkbox" name="$i" ${checked:+checked=checked }/> ${i/TTY/tty} |
pascal@177 | 108 <select name="SPEED_$i"> |
pascal@108 | 109 EOT |
pascal@126 | 110 eval speed="\$SPEED_$i" |
pascal@108 | 111 for j in 115200 57600 38400 19200 9600 4800 2400 1200 600 300; do |
pascal@177 | 112 selected= |
pascal@127 | 113 case " ${speed:-9600} " in |
pascal@177 | 114 *\ $j\ *) selected=" selected=\"selected\"" |
pascal@126 | 115 esac |
pascal@177 | 116 echo " <option value=\"$j\"$selected>$j</option>" |
pascal@108 | 117 done |
pascal@177 | 118 echo "</select></td>" |
pascal@177 | 119 [ "$i" = "TTYS3" ] && echo "</tr><tr>" |
pascal@108 | 120 done |
pascal@108 | 121 cat <<EOT |
pascal@177 | 122 </tr> |
pascal@108 | 123 </table> |
pascal@53 | 124 </tr> |
pascal@109 | 125 <p> |
pascal@108 | 126 Kernel serial console |
pascal@108 | 127 <select name="KERNEL_TTY"> |
pascal@108 | 128 <option>none</option> |
pascal@53 | 129 EOT |
pascal@108 | 130 for i in $(seq 0 3); do |
pascal@126 | 131 echo -n "<option" |
pascal@142 | 132 [ "$KERNEL_TTY" = "ttyS$i" ] && echo -n ' selected="selected"' |
pascal@126 | 133 echo ">ttyS$i</option>" |
pascal@108 | 134 done |
pascal@108 | 135 cat <<EOT |
pascal@108 | 136 </select> |
pascal@177 | 137 <select name="SPEED_KERNEL_TTY" id="SPEED_KERNEL_TTY"> |
pascal@108 | 138 EOT |
pascal@108 | 139 for i in 115200 57600 38400 19200 9600 4800 2400 1200 600 300; do |
pascal@126 | 140 echo -n "<option" |
pascal@142 | 141 [ "$SPEED_KERNEL_TTY" = "$i" ] && echo -n ' selected="selected"' |
pascal@126 | 142 echo ">$i</option>" |
pascal@108 | 143 done |
pascal@109 | 144 echo -e "</select>\n</p>" |
pascal@53 | 145 } |
pascal@177 | 146 |
pascal@177 | 147 config_note() |
pascal@177 | 148 { |
pascal@177 | 149 cat <<EOT |
pascal@177 | 150 <script type="text/javascript"> |
pascal@177 | 151 function update_form() |
pascal@177 | 152 { |
pascal@177 | 153 for (var i = 0; i < document.forms.length; i++) { |
pascal@177 | 154 for (var j = 0; j < document.forms[i].elements.length; j++) { |
pascal@177 | 155 var obj = document.forms[i].elements[j] |
pascal@177 | 156 if (obj.name.startsWith("TTYS") || obj.name.startsWith("TTYUSB")) { |
pascal@177 | 157 var speed = document.getElementsByName("SPEED_"+obj.name)[0] |
pascal@177 | 158 speed.disabled = !obj.checked |
pascal@177 | 159 } |
pascal@177 | 160 if (obj.name == "KERNEL_TTY") { |
pascal@177 | 161 var speed = document.getElementsByName("SPEED_"+obj.name)[0] |
pascal@177 | 162 speed.disabled = (obj.value == "none") |
pascal@177 | 163 } |
pascal@177 | 164 } |
pascal@177 | 165 } |
pascal@177 | 166 } |
pascal@177 | 167 update_form() |
pascal@177 | 168 window.onchange = update_form |
pascal@177 | 169 //--> |
pascal@177 | 170 </script> |
pascal@177 | 171 EOT |
pascal@177 | 172 } |