Linux biogene 3.16.0-11-amd64 #1 SMP Debian 3.16.84-1 (2020-06-09) x86_64
Apache
: 46.101.124.208 | : 3.12.136.98
Cant Read [ /etc/named.conf ]
5.6.40-0+deb8u12
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
bash
1005.49
KB
-rwxr-xr-x
bunzip2
30.42
KB
-rwxr-xr-x
busybox
625.34
KB
-rwxr-xr-x
bzcat
30.42
KB
-rwxr-xr-x
bzcmp
2.09
KB
-rwxr-xr-x
bzdiff
2.09
KB
-rwxr-xr-x
bzegrep
3.56
KB
-rwxr-xr-x
bzexe
4.76
KB
-rwxr-xr-x
bzfgrep
3.56
KB
-rwxr-xr-x
bzgrep
3.56
KB
-rwxr-xr-x
bzip2
30.42
KB
-rwxr-xr-x
bzip2recover
14.14
KB
-rwxr-xr-x
bzless
1.27
KB
-rwxr-xr-x
bzmore
1.27
KB
-rwxr-xr-x
cat
50.7
KB
-rwxr-xr-x
chacl
14.22
KB
-rwxr-xr-x
chgrp
58.66
KB
-rwxr-xr-x
chmod
54.63
KB
-rwxr-xr-x
chown
62.66
KB
-rwxr-xr-x
chvt
10.09
KB
-rwxr-xr-x
cp
147.29
KB
-rwxr-xr-x
cpio
138.12
KB
-rwxr-xr-x
dash
122.46
KB
-rwxr-xr-x
date
62.66
KB
-rwxr-xr-x
dd
58.73
KB
-rwxr-xr-x
df
99.48
KB
-rwxr-xr-x
dir
115.51
KB
-rwxr-xr-x
dmesg
51
KB
-rwxr-xr-x
dnsdomainname
14.3
KB
-rwxr-xr-x
domainname
14.3
KB
-rwxr-xr-x
dumpkeys
76.48
KB
-rwxr-xr-x
echo
30.48
KB
-rwxr-xr-x
egrep
29
B
-rwxr-xr-x
false
26.45
KB
-rwxr-xr-x
fgconsole
10.1
KB
-rwxr-xr-x
fgrep
29
B
-rwxr-xr-x
findmnt
44.16
KB
-rwxr-xr-x
fuser
34.98
KB
-rwxr-xr-x
getfacl
23.03
KB
-rwxr-xr-x
grep
198.18
KB
-rwxr-xr-x
gunzip
2.25
KB
-rwxr-xr-x
gzexe
5.79
KB
-rwxr-xr-x
gzip
95.85
KB
-rwxr-xr-x
hostname
14.3
KB
-rwxr-xr-x
ip
307.19
KB
-rwxr-xr-x
journalctl
214.25
KB
-rwxr-xr-x
kbd_mode
10.09
KB
-rwxr-xr-x
kill
22.42
KB
-rwxr-xr-x
kmod
154.88
KB
-rwxr-xr-x
less
161.42
KB
-rwxr-xr-x
lessecho
9.89
KB
-rwxr-xr-x
lessfile
7.58
KB
-rwxr-xr-x
lesskey
19.22
KB
-rwxr-xr-x
lesspipe
7.58
KB
-rwxr-xr-x
ln
54.67
KB
-rwxr-xr-x
loadkeys
108.97
KB
-rwxr-xr-x
login
50.98
KB
-rwxr-xr-x
loginctl
302.23
KB
-rwxr-xr-x
ls
115.51
KB
-rwxr-xr-x
lsblk
63.04
KB
-rwxr-xr-x
lsmod
154.88
KB
-rwxr-xr-x
machinectl
274.23
KB
-rwxr-xr-x
mkdir
78.85
KB
-rwxr-xr-x
mknod
62.79
KB
-rwxr-xr-x
mktemp
38.6
KB
-rwxr-xr-x
more
38.65
KB
-rwxr-xr-x
mount
39.06
KB
-rwsr-xr-x
mountpoint
10.08
KB
-rwxr-xr-x
mt
71.21
KB
-rwxr-xr-x
mt-gnu
71.21
KB
-rwxr-xr-x
mv
127.23
KB
-rwxr-xr-x
nano
191.42
KB
-rwxr-xr-x
nc
26.52
KB
-rwxr-xr-x
nc.traditional
26.52
KB
-rwxr-xr-x
netcat
26.52
KB
-rwxr-xr-x
netstat
117.38
KB
-rwxr-xr-x
nisdomainname
14.3
KB
-rwxr-xr-x
open
18.33
KB
-rwxr-xr-x
openvt
18.33
KB
-rwxr-xr-x
pax
115.23
KB
-rwxr-xr-x
paxcpio
115.23
KB
-rwxr-xr-x
paxtar
115.23
KB
-rwxr-xr-x
pidof
22.42
KB
-rwxr-xr-x
ping
43.07
KB
-rwxr-xr-x
ping6
43.51
KB
-rwxr-xr-x
ps
90.91
KB
-rwxr-xr-x
pwd
30.57
KB
-rwxr-xr-x
rbash
1005.49
KB
-rwxr-xr-x
readlink
38.51
KB
-rwxr-xr-x
rm
58.66
KB
-rwxr-xr-x
rmdir
42.54
KB
-rwxr-xr-x
rnano
191.42
KB
-rwxr-xr-x
run-parts
18.86
KB
-rwxr-xr-x
rzsh
709.53
KB
-rwxr-xr-x
sed
71.7
KB
-rwxr-xr-x
setfacl
35.34
KB
-rwxr-xr-x
setfont
38.79
KB
-rwxr-xr-x
setupcon
31.29
KB
-rwxr-xr-x
sh
122.46
KB
-rwxr-xr-x
sh.distrib
122.46
KB
-rwxr-xr-x
sleep
30.48
KB
-rwxr-xr-x
ss
76.16
KB
-rwxr-xr-x
stty
66.57
KB
-rwxr-xr-x
su
39.23
KB
-rwsr-xr-x
sync
26.48
KB
-rwxr-xr-x
systemctl
526.27
KB
-rwxr-xr-x
systemd
1.25
MB
-rwxr-xr-x
systemd-ask-password
38.24
KB
-rwxr-xr-x
systemd-escape
30.22
KB
-rwxr-xr-x
systemd-inhibit
234.24
KB
-rwxr-xr-x
systemd-machine-id-setup
34.23
KB
-rwxr-xr-x
systemd-notify
30.22
KB
-rwxr-xr-x
systemd-tmpfiles
86.23
KB
-rwxr-xr-x
systemd-tty-ask-password-agent
58.23
KB
-rwxr-xr-x
tailf
18.36
KB
-rwxr-xr-x
tar
353.68
KB
-rwxr-xr-x
tempfile
10.11
KB
-rwxr-xr-x
touch
58.73
KB
-rwxr-xr-x
true
26.45
KB
-rwxr-xr-x
udevadm
306.23
KB
-rwxr-xr-x
umount
26.77
KB
-rwsr-xr-x
uname
30.51
KB
-rwxr-xr-x
uncompress
2.25
KB
-rwxr-xr-x
unicode_start
2.7
KB
-rwxr-xr-x
vdir
115.51
KB
-rwxr-xr-x
wdctl
26.4
KB
-rwxr-xr-x
which
946
B
-rwxr-xr-x
ypdomainname
14.3
KB
-rwxr-xr-x
zcat
1.89
KB
-rwxr-xr-x
zcmp
1.74
KB
-rwxr-xr-x
zdiff
5.63
KB
-rwxr-xr-x
zegrep
140
B
-rwxr-xr-x
zfgrep
140
B
-rwxr-xr-x
zforce
2.08
KB
-rwxr-xr-x
zgrep
5.8
KB
-rwxr-xr-x
zless
1.99
KB
-rwxr-xr-x
zmore
1.87
KB
-rwxr-xr-x
znew
4.93
KB
-rwxr-xr-x
zsh
709.53
KB
-rwxr-xr-x
zsh4
755
B
-rwxr-xr-x
zsh5
709.53
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : setupcon
#!/bin/sh # setupcon -- setup the font and keyboard on the Linux console # Copyright (C) 2011 Anton Zinoviev <anton@lml.bas.bg> # Permission is hereby granted, free of charge, to any person # obtaining a copy of this file (the "Program"), to deal in the # Program without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, # sublicense, and/or sell copies of the Program, and to permit # persons to whom the Program is furnished to do so, subject to # the following conditions: The above copyright notice and this # permission notice shall be included in all copies or substantial # portions of the Program. # THE PROGRAM IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE PROGRAM OR THE USE OR # OTHER DEALINGS IN THE PROGRAM. ########################################################################### do_font=yes # configure font do_kbd=yes # configure keyboard do_check=yes # test whether we are on the console do_verbose='' # explain what is being doing do_save='' # save the required files in /etc/console-setup savekbdfile='' # save the keyboard map in $savekbdfile setupdir='' # directory for --setup-dir SETUP='' # The same as /usr/bin/which - in order to make "which" available before # /usr is mounted which () { local IFS IFS=: for i in $PATH; do if [ -f "$i/$1" -a -x "$i/$1" ]; then echo "$i/$1" return 0 fi done return 1 } # Create a temporary file name and set TMPFILE to its name. Early in # the boot process /tmp is mounted read-only, so lets have some other # options... I am not sure all non-GNU versions of mktemp understand # the -q option so redirections of stderr are used instead. tempfiles='' trap 'rm -f $tempfiles >/dev/null 2>&1' 0 trap "exit 2" 1 2 3 13 15 tempfile () { if \ TMPFILE=`mktemp /tmp/tmpkbd.XXXXXX 2>/dev/null` \ || TMPFILE=`mktemp /run/tmpkbd.XXXXXX 2>/dev/null` \ || TMPFILE=`mktemp /dev/.tmpkbd.XXXXXX 2>/dev/null` \ || TMPFILE=`mktemp /lib/init/rw/tmpkbd.XXXXXX 2>/dev/null` \ || TMPFILE=`mktemp 2>/dev/null` then tempfiles="$tempfiles $TMPFILE" return 0 else TMPFILE='' return 1 fi } # Print the arguments to stderr if $do_verbose is yes report () { local nl case "$1" in -n) shift nl='' ;; *) nl=' ' ;; esac if [ "$do_verbose" ]; then echo -n "$@" "$nl" >&2 fi } # Execute a command on every console terminal screen specified in # $ACTIVE_CONSOLES. # # 1st argument: plain=execute only once with no tty change, # out=execute with standard output redirected to the tty, in=the same # but the standard input is being redirected, 'other argument'=do not # redirect the standard input or output but use this as a tty option. # # 2nd argument: option(s) for verbose output. NONE=no output, # FORK=run the command in background, 'other argument'=give this # option to the executed command. # # 3rd argument: command to run; other arguments: other options # # Example 1: run '-C ' -v setfont font.psf # If ACTIVE_CONSOLES='/dev/tty1 /dev/tty2 /dev/tty3', then this results in # # setfont -C /dev/tty1 font.psf -v # setfont -C /dev/tty2 font.psf -v # setfont -C /dev/tty3 font.psf -v # # or # # setfont -C /dev/tty1 font.psf >/dev/null 2>&1 # setfont -C /dev/tty2 font.psf >/dev/null 2>&1 # setfont -C /dev/tty3 font.psf >/dev/null 2>&1 # # depending on the value of $do_verbose # # Example 2: `run plain FORK echo hello` results in `echo hello` # regardless of the value of $do_verbose. # # Example 3: `run plain NONE echo hello` results in `echo hello` or # `echo hello >/dev/null 2>&1` depending on the value of $do_verbose. run () { local ttyarg cmd verbose tty x ttyarg="$1" verbose="$2" cmd="$3" shift; shift; shift if [ -z "$ACTIVE_CONSOLES" ]; then ttyarg=plain fi case "$ttyarg" in plain) if [ "$setupdir" ]; then SETUP="$SETUP$cmd $@ " elif [ "$do_verbose" ]; then case "$verbose" in NONE) report executing $cmd "$@". $cmd "$@" ;; FORK) # no arguments to suppress '\033%%@' and '\033%%G' report executing $cmd. $cmd "$@" & ;; *) report executing $cmd "$@". $cmd "$@" $verbose ;; esac else case "$verbose" in NONE) report executing $cmd "$@". $cmd "$@" >/dev/null 2>&1 ;; FORK) # no arguments to suppress '\033%%@' and '\033%%G' report executing $cmd. $cmd "$@" & ;; *) report executing $cmd "$@". $cmd "$@" ;; esac fi ;; in) for tty in $ACTIVE_CONSOLES; do if [ "$setupdir" ]; then # keep the space between < and $tty SETUP="$SETUP$cmd $@ < $tty " elif [ -r $tty ]; then report -n on $tty '' run plain "$verbose" "$cmd" "$@" <$tty else report No read access from $tty. Can not execute $cmd. fi done ;; out) for tty in $ACTIVE_CONSOLES; do if [ "$setupdir" ]; then # keep the space between > and $tty SETUP="$SETUP$cmd $@ > $tty " elif [ -w $tty ]; then report -n on $tty '' run plain "$verbose" "$cmd" "$@" >$tty else report No write access to $tty. Can not execute $cmd. fi done ;; *) for tty in $ACTIVE_CONSOLES; do x="${ttyarg}$tty" run plain "$verbose" "$cmd" $x "$@" done ;; esac } # Search a file and return the full file name if found. # The filename may include wildcards and may not include space. # Example: findfile share/consolefonts Uni3-*.psf.gz # Result: /usr/share/consolefonts/Uni3-Fixed13.psf.gz findfile () { local x case "$2" in /*) if [ -f "$2" ]; then echo "$2" return 0 fi ;; esac x=`(ls "$installdir"/$1/$2 \ /usr/local/$1/$2 \ /usr/$1/$2 \ /etc/console-setup/cached_$2 \ /etc/console-setup/$2 \ "$installdir"/etc/console-setup/cached_$2 \ "$installdir"/etc/console-setup/$2) 2>/dev/null` x=`echo $x` [ "${x%% *}" ] || report Unable to find "$2". echo "${x%% *}" } # Return code 0: we are on the console; 1: we are not on the console test_console () { local ok ok=0 if which tty >/dev/null; then case "`tty`" in /dev/tty[1-9]*|/dev/vc/[0-9]*|/dev/console|/dev/ttyv[0-9]*) return 0 ;; esac ok=1 fi if which kbd_mode >/dev/null; then mode="`(LC_ALL=C; export LC_ALL; kbd_mode) 2>&1`" mode=${mode#The keyboard is in } case "$mode" in Unicode*|default*|xlate*) return 0 ;; esac ok=1 fi if which vidcontrol >/dev/null; then if vidcontrol -i adapter >&- 2>&-; then return 0 fi ok=1 fi return $ok } ########################################################################### ### PROCESS THE COMMAND LINE ARGUMENTS ########################################################################### while [ "$1" ]; do case "$1" in -k|--keyboard-only) do_font='' ;; -f|--font-only) do_kbd='' ;; -v|--verbose) do_verbose=yes ;; --force) do_check='' ;; --save) do_save=yes ;; --save-only) do_save=yes do_kbd='' do_font='' do_check='' ;; --save-keyboard) shift savekbdfile="$1" do_kbd='' do_font='' do_check='' ;; --setup-dir) shift setupdir="$1" do_check='' ;; -h|--help) cat >&2 <<EOF Usage: setupcon [OPTION] [VARIANT] Sets up the font and the keyboard on Linux console. -k, --keyboard-only setup the keyboard only, do not setup the font -f, --font-only setup the font only, do not setup the keyboard --force do not check whether we are on the console -v, --verbose explain what is being doing, try it if s.t. goes wrong --save copy the font and the console map in /etc/console-setup, update /etc/console-setup/cached.* --save-only only save; don't setup keyboard/font immediately (implies --force) --save-keyboard FILE, --setup-dir DIR options for initrd builders -h, --help display this help and exit If VARIANT is not specified setupcon looks for the configuration files (in this order) ~/.console-setup and if this doesn't exist then the combination /etc/default/keyboard + /etc/default/console-setup. When a VARIANT is specified then setupcon looks for the configuration files ~/.console-setup.VARIANT and /etc/default/console-setup.VARIANT. EOF exit 0 ;; -*) echo "setupcon: Unrecognised option $1" >&2 exit 1 ;; *) if [ -z "$VARIANT" ]; then VARIANT="$1" else echo "setupcon: Two variants specified: $VARIANT and $1" >&2 exit 1 fi ;; esac shift done # installdir installdir=${0%/*} case "$installdir" in */bin) installdir=${installdir%/bin} ;; *) installdir=$installdir/.. ;; esac [ -n "$installdir" -a -d "$installdir"/bin ] || installdir=/usr case "$installdir" in /*) ;; *) installdir="`pwd`\$installdir" ;; esac ########################################################################### ### READ THE CONFIGURATION FILES ########################################################################### if [ "$VARIANT" ]; then VARIANT=".$VARIANT" fi USER_CONFIG=${HOME}/.console-setup"$VARIANT" USER_CONFIG2=${HOME}/.keyboard"$VARIANT" MAIN_CONFIG=/etc/default/keyboard"$VARIANT" [ -f "$MAIN_CONFIG" ] \ || [ ! -f "$installdir"/etc/default/keyboard"$VARIANT" ] \ || MAIN_CONFIG="$installdir"/etc/default/keyboard"$VARIANT" MAIN_CONFIG2=/etc/default/console-setup"$VARIANT" [ -f "$MAIN_CONFIG2" ] \ || [ ! -f "$installdir"/etc/default/console-setup"$VARIANT" ] \ || MAIN_CONFIG2="$installdir"/etc/default/console-setup"$VARIANT" if [ -f "$USER_CONFIG" -o -f "$USER_CONFIG2" ]; then CONFIG="$USER_CONFIG" CONFIG2="$USER_CONFIG2" elif [ -f "$MAIN_CONFIG" -o -f "$MAIN_CONFIG2" ]; then CONFIG="$MAIN_CONFIG" CONFIG2="$MAIN_CONFIG2" else echo "setupcon: None of $MAIN_CONFIG, $MAIN_CONFIG2, $USER_CONFIG, $USER_CONFIG2 exists." >&2 exit 1 fi if [ -f "$CONFIG2" ]; then . "$CONFIG2" else # in order to permit "if [ cached.kmap.gz -ot $CONFIG2 ]; then ... fi" CONFIG2="$CONFIG" fi if [ -f "$CONFIG" ]; then . "$CONFIG" fi ########################################################################### ### INITIALIZATION AND DEFAULT VALUES ########################################################################### # do_verbose # The variable VERBOSE_OUTPUT is obsoleted in favour of the option --verbose if [ "$VERBOSE_OUTPUT" = yes ]; then do_verbose=yes fi # kernel kernel=unknown if which uname >/dev/null; then case "`uname`" in *Linux*) kernel=linux ;; *FreeBSD*) kernel=freebsd ;; *) echo 'Unknown kernel (only Linux and FreeBSD are supported).' >&2 exit 1 ;; esac fi # do_save if [ -n "$do_save" ]; then if [ ! -d /usr/share ]; then echo It seems /usr is not mounted. Will not save files in /etc. >&2 do_save='' fi fi # ACTIVE_CONSOLES # When ACTIVE_CONSOLES=guess the following will result in ACTIVE_CONSOLES='' ACTIVE_CONSOLES=$( for tty in $ACTIVE_CONSOLES; do if [ -e $tty ]; then echo $tty fi done ) if [ -z "$ACTIVE_CONSOLES" ]; then # Some crude guess # Conf. files: # BSD: /etc/ttys # Sys V init: /etc/inittab # Upstart: /etc/init/* # Devices: # Linux: /dev/tty[1-9][0-9]* # FreeBSD: /dev/ttyv[0-9a-f] for tty in \ $(cat /etc/inittab /etc/init/* /etc/ttys 2>/dev/null \ | grep getty \ | egrep '([[:blank:]]|^)tty([1-9][0-9]*|v[0-9a-f])([[:blank:]]|$)' \ | sed -e '/^ *#/d' \ -e 's/.*[[:blank:]]\(tty[1-9][0-9]*\).*/\1/' \ -e 's/.*[[:blank:]]\(ttyv[0-9a-f]\).*/\1/') do if [ -e /dev/$tty ]; then ACTIVE_CONSOLES="$ACTIVE_CONSOLES /dev/$tty" fi done fi if [ -z "$ACTIVE_CONSOLES" ]; then case "$kernel" in linux) ACTIVE_CONSOLES=$(ls /dev/tty[1-6] 2>/dev/null) ;; freebsd) ACTIVE_CONSOLES=$(ls /dev/ttyv[0-3] 2>/dev/null) ;; esac report Can not find the active virtual consoles, \ assuming ACTIVE_CONSOLES=\"$ACTIVE_CONSOLES\" >&2 else report Configuring $ACTIVE_CONSOLES fi # CHARMAP if [ "$CHARMAP" = guess -o -z "$CHARMAP" ]; then CHARMAP='' if which locale >/dev/null; then CHARMAP=`locale charmap` fi fi CHARMAP=${CHARMAP:-UTF-8} # FreeBSD uses ISO8859-1, GNU uses ISO-8859-1, we use the GNU names case "$CHARMAP" in ISO8859-*) CHARMAP="ISO-8859-${CHARMAP#ISO8859-}" ;; US-ASCII|ANSI*) CHARMAP=ISO-8859-1 ;; esac report The charmap is $CHARMAP # unicode if \ [ "$CHARMAP" = UTF-8 ] then unicode=yes else unicode='' fi # do_font if [ "$do_font" ]; then case "$kernel" in linux) if which consolechars >/dev/null ; then do_font=linuxct elif which setfont >/dev/null ; then do_font=linuxkbd else echo "Neither setfont nor consolechars is accessible. No font will be configured." >&2 do_font='' fi ;; freebsd) if which vidcontrol >/dev/null ; then do_font=freebsd else echo "vidcontrol is not accessible. No font will be configured." >&2 do_font='' fi ;; esac fi # Due to bug in splashy and usplash: do not load fonts (#540314) if which pidof >/dev/null; then if pidof splashy > /dev/null || pidof usplash > /dev/null; then do_font='' fi fi # CODESET [ "$CODESET" != guess ] || CODESET='' if [ -z "$CODESET" ]; then case "$CHARMAP" in UTF-8) CODESET=Uni2;; ARMSCII-8) CODESET=Armenian ;; CP1251) CODESET=CyrSlav ;; CP1255) CODESET=Hebrew ;; CP1256) CODESET=Arabic ;; GEORGIAN-ACADEMY) CODESET=Georgian ;; GEORGIAN-PS) CODESET=Georgian ;; IBM1133) CODESET=Lao ;; ISIRI-3342) CODESET=Arabic ;; ISO-8859-1) CODESET=Lat15 ;; ISO-8859-2) CODESET=Lat2 ;; ISO-8859-3) CODESET=Lat38 ;; ISO-8859-4) CODESET=Lat7 ;; # sometimes Lat15 ISO-8859-5) CODESET=CyrSlav ;; ISO-8859-6) CODESET=Arabic ;; ISO-8859-7) CODESET=Greek ;; ISO-8859-8) CODESET=Hebrew ;; ISO-8859-9) CODESET=Lat15 ;; ISO-8859-10) CODESET=Lat15 ;; ISO-8859-11) CODESET=Thai ;; ISO-8859-13) CODESET=Lat7 ;; ISO-8859-14) CODESET=Lat38 ;; ISO-8859-15) CODESET=Lat15 ;; ISO-8859-16) CODESET=Lat2 ;; KOI8-R) CODESET=CyrKoi ;; KOI8-U) CODESET=CyrKoi ;; TIS-620) CODESET=Thai ;; VISCII) CODESET=Vietnamese ;; *) if [ "$do_font" ]; then echo Unsupported charmap $CHARMAP >&2 exit 1 fi ;; esac if [ "$kernel" = freebsd ]; then # 512 character fonts are not supported on FreeBSD case "$CODESET" in Uni*|Vietnamese|Arabic|Ethiopian) CODESET=Lat15 ;; esac fi fi if [ "$CHARMAP" != UTF-8 -a "$kernel" = freebsd ]; then if \ [ -z "`findfile share/syscons/scrnmaps ${CHARMAP}_${CODESET}.scm`" ] then report "Ignoring the CODESET specification ($CODESET)." CODESET=`findfile share/syscons/scrnmaps ${CHARMAP}_*.scm` if [ -n "$do_font" -a -z "$CODESET" ]; then echo Unsupported charmap $CHARMAP >&2 exit 1 fi CODESET=${CODESET%%*/} CODESET=${CODESET#.scm*} CODESET=${CODESET%*_} report Using $CODESET instead. fi fi # FONTSIZE if [ -z "$FONTSIZE" -o "$FONTSIZE" = guess ]; then FONTSIZE=16 fi case "$FONTSIZE" in 8x*) FONTSIZE=${FONTSIZE#*x} ;; *x8) FONTSIZE=${FONTSIZE%x*} ;; *x*) a=${FONTSIZE%x*} b=${FONTSIZE#*x} if [ "$a" -lt "$b" ]; then FONTSIZE=${b}x${a} fi ;; esac # mapdir, fontdir, stdfont, stdfontfallback case "$kernel" in linux) mapdir=share/consoletrans stdmap=$CHARMAP.acm.gz fontdir=share/consolefonts stdfont=$CODESET-$FONTFACE$FONTSIZE.psf.gz # [A-WXYZa-wyz] is a funny way to say [A-Za-wyz]. In some locales # [A-Z] includes x and we don't want this. stdfontfallback=$CODESET-*[A-WXYZa-wyz]$FONTSIZE.psf.gz ;; freebsd) mapdir=share/syscons/scrnmaps stdmap=${CHARMAP}_${CODESET}.scm fontdir=share/syscons/fonts stdfont16=$CODESET-${FONTFACE}16.fnt stdfont14=$CODESET-${FONTFACE}14.fnt stdfont8=$CODESET-${FONTFACE}8.fnt stdfontfallback16=$CODESET-*[A-WXYZa-wyz]16.fnt stdfontfallback14=$CODESET-*[A-WXYZa-wyz]14.fnt stdfontfallback8=$CODESET-*[A-WXYZa-wyz]8.fnt ;; esac # CONSOLE_MAP CONSOLE_MAP=${CONSOLE_MAP:-$ACM} [ -z "$CONSOLE_MAP" ] || CONSOLE_MAP=`findfile $mapdir "$CONSOLE_MAP"` [ -n "$CONSOLE_MAP" -o "$CHARMAP" = UTF-8 ] || CONSOLE_MAP=`findfile $mapdir $stdmap` # FONTFILES FONTFILES='' if [ "$FONT" ]; then for f in $FONT; do FONTFILES="$FONTFILES `findfile $fontdir $f`" done fi FONTFILES=`echo $FONTFILES` # remove extra spaces if [ -n "$FONTFACE" -a -z "$FONTFILES" ]; then case "$kernel" in linux) # the following will fail if FONTFACE=guess ($stdfont will # match nothing) FONTFILES=`findfile $fontdir $stdfont` [ "$FONTFILES" ] || FONTFILES=`findfile $fontdir $stdfontfallback` case "$FONTFILES" in *[0-9]x[1-9]*.psf.gz) if which consolechars >/dev/null; then echo "\ The consolechars utility from the \"console-tools\" package can load only fonts with 8 pixel width matrix. Please install the setfont utility from the package \"kbd\" or reconfigure the font size." >&2 fi ;; esac ;; freebsd) FONTFILES=`findfile $fontdir $stdfont16` [ "$FONTFILES" ] || FONTFILES=`findfile $fontdir $stdfontfallback16` font=`findfile $fontdir $stdfont14` [ "$font" ] || font=`findfile $fontdir $stdfontfallback14` [ -z "$font" ] || FONTFILES="$FONTFILES $font" font=`findfile $fontdir $stdfont8` [ "$font" ] || font=`findfile $fontdir $stdfontfallback8` [ -z "$font" ] || FONTFILES="$FONTFILES $font" ;; esac if [ -n "$do_font" -a -z "$FONTFILES" ]; then echo Unable to find the required font. No font will be configured. >&2 do_font='' fi fi # FONTMAPFILE FONTMAPFILE='' if [ "$kernel" = linux -a -n "$FONT_MAP" ]; then FONTMAPFILE=`findfile share/consoletrans "$FONT_MAP"` fi # XKBMODEL if [ -n "$do_kbd$do_save$savekbdfile$setupdir" -a "$XKBMODEL" = unknown ]; then echo The keyboard model is unknown. Keyboard will not be configured. >&2 XKBMODEL='' fi [ -n "$XKBMODEL" -o -z "$savekbdfile" ] || exit 1 # do_kbd [ "$XKBMODEL" ] || do_kbd='' if [ "$do_kbd" ]; then case "$kernel" in linux) if which loadkeys >/dev/null; then do_kbd=linux else echo loadkeys is not accessible. Keyboard will not be configured.>&2 do_kbd='' fi ;; freebsd) if which kbdcontrol >/dev/null; then do_kbd=freebsd else echo kbdcontrol is not accessible. Keyboard will not be configured.>&2 do_kbd='' fi ;; esac fi # acm_option if [ "$CHARMAP" != UTF-8 ]; then acm_option="-charmap $CHARMAP" elif [ "$kernel" = freebsd ]; then acm_option='-charmap ISO-8859-1' else acm_option='' fi # rules_option if [ "$XKBRULES" ]; then rules_option="-rules $XKBRULES" else rules_option='' fi # backspace case "$kernel" in linux) backspace='del' ;; freebsd) backspace='bs' ;; esac case \ "`(stty -a \ | egrep '(^| )erase *=' \ | sed -e 's/.* erase *= *//' -e 's/^erase *= *//' -e 's/[; ].*//') \ 2>/dev/null`" in ^\?) backspace='del' ;; ^h|^H) backspace='bs' ;; esac case "$BACKSPACE" in del) backspace='del' ;; bs) backspace='bs' ;; esac case "$backspace" in del) report BackSpace is ^? ;; bs) report BackSpace is ^h ;; *) echo Wrong BackSpace option >&2 ;; esac # cached case "$kernel" in linux) cached=/etc/console-setup/cached_${CHARMAP}_$backspace$VARIANT.kmap.gz ;; freebsd) cached=/etc/console-setup/cached_${CHARMAP}_$backspace$VARIANT.kbd ;; esac # savekbdfile if \ [ -z "$savekbdfile" -a -n "$do_save" ] \ && [ ! -f "$cached" \ -o ! "$CONFIG" -ot "$cached" \ -o ! "$CONFIG2" -ot "$cached" ] then savekbdfile="$cached" fi [ "$XKBMODEL" ] || savekbdfile='' if [ "$kernel" = linux ] && ! which gzip >/dev/null; then savekbdfile='' echo gzip is not accessible. Will not save cached keyboard map. >&2 fi # KMAP if [ -n "$KMAP" -a ! -f "$KMAP" ]; then echo $KMAP does not exist. >&2 KMAP='' fi ########################################################################### ### SAVE THE FILES IN /etc ########################################################################### for i in /etc/console-setup $CONSOLE_MAP $FONTFILES $FONTMAPFILE $savekbdfile; do if [ "$i" = "${i#/etc/console-setup}" -a -n "$do_save" ]; then if [ ! -w /etc/console-setup/ ]; then echo /etc/console-setup is not writable. No files will be saved there. >&2 do_save='' fi break fi done if [ -n "$do_save" ]; then case "$CONSOLE_MAP" in /etc/console-setup/*) ;; ?*) cp "$CONSOLE_MAP" /etc/console-setup/cached_"${CONSOLE_MAP##*/}" ;; esac for font in $FONTFILES; do case "$font" in /etc/console-setup/*) ;; ?*) cp "$font" /etc/console-setup/cached_"${font##*/}" ;; esac done case "$FONTMAPFILE" in /etc/console-setup/*) ;; ?*) cp "$FONTMAPFILE" /etc/console-setup/cached_"${FONTMAPFILE##*/}" ;; esac fi if [ "$savekbdfile" ]; then case "$kernel" in linux) tempfile || { echo Can not create temporary file >&2; exit 1; } { $installdir/bin/ckbcomp -backspace "$backspace" $acm_option \ $rules_option -model "$XKBMODEL" \ "$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" >$TMPFILE \ && gzip -9 <$TMPFILE >"$savekbdfile" } || exit 1 ;; freebsd) $installdir/bin/ckbcomp -freebsd -backspace "$backspace" \ $acm_option $rules_option -model "$XKBMODEL" \ "$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" >"$savekbdfile" \ || exit 1 ;; esac fi ########################################################################### ### ARE WE ON THE CONSOLE? ########################################################################### if [ "$do_check" ]; then if ! test_console; then echo We are not on the console, the console is left unconfigured. >&2 exit 0 fi fi ########################################################################### ### OUTPUT ########################################################################### # Video mode if [ "$VIDEOMODE" ]; then case "$do_font" in freebsd) run in '' vidcontrol "$VIDEOMODE" ;; linux*) # this is a bit pointless as vesafb doesn't support changing mode if which fbset >/dev/null; then run plain '' fbset -a "$VIDEOMODE" else report fbset is not installed fi ;; esac fi # Setup unicode/non-unicode mode case "$do_font" in # So far the FreeBSD kernel doesn't support changes of the mode from # utf to 8-bit and vice versa (its a compile time option). linux*) # FORK because of #678897 if [ "$unicode" ]; then run out FORK printf '\033%%G' else run out FORK printf '\033%%@' fi ;; esac # Load the font(s) if [ "$FONTFILES" ]; then case "$do_font" in freebsd) if [ -z "$unicode" ]; then for font in $FONTFILES; do run plain '' vidcontrol -f $font done fi ;; linuxkbd) if [ "$FONTMAPFILE" ]; then run '-C ' -v setfont $FONTFILES -u "$FONTMAPFILE" else run '-C ' -v setfont $FONTFILES fi ;; linuxct) if [ "$FONTMAPFILE" ]; then run --tty= -v consolechars -f ${FONTFILES%% *} -u "$FONTMAPFILE" else run --tty= -v consolechars -f ${FONTFILES%% *} fi ;; esac fi # Load the console map if [ "$CONSOLE_MAP" ]; then case "$do_font" in freebsd) if [ -z "$unicode" ]; then run plain '' vidcontrol -l "$CONSOLE_MAP" fi ;; linuxkbd) run '-C ' -v setfont -m "$CONSOLE_MAP" ;; linuxct) run --tty= -v consolechars --acm "$CONSOLE_MAP" ;; esac fi # Setup the terminal width and height if [ "$do_font" ]; then STTY='' [ -z "$SCREEN_WIDTH" ] || STTY="$STTY cols $SCREEN_WIDTH" [ -z "$SCREEN_HEIGHT" ] || STTY="$STTY rows $SCREEN_HEIGHT" if [ "$STTY" ]; then run in '' stty $STTY fi fi ########################################################################### ### INPUT ########################################################################### # On Mac PPC machines, we may need to set kernel vars first. We need # to mount /proc to do that, but we need it set up before sulogin may # be run in checkroot, which will need the keyboard to log in... # This code was borrowed from the keymap.sh script of console-common # Copyright © 2001 Yann Dirson # Copyright © 2001 Alcove http://www.alcove.fr/ if [ "$do_kbd" = linux ]; then if [ -x /sbin/sysctl -a -r /etc/sysctl.conf ]; then if grep -v '^\#' /etc/sysctl.conf | grep -q keycodes ; then grep keycodes /etc/sysctl.conf | grep -v "^#" \ | while read -r d ; do /sbin/sysctl -w $d 2> /dev/null || true done fi fi fi # Setup unicode/non-unicode mode if [ "$do_kbd" = linux ]; then if which kbd_mode >/dev/null; then if [ "$unicode" ]; then run in '' kbd_mode -u else run in '' kbd_mode -a fi else report kbd_mode is not accessible. Unable to setup unicode/non-unicode keyboard mode. fi fi if \ [ -z "$KMAP" -a -f "$cached" ] \ && [ "$CONFIG" -ot "$cached" -a "$CONFIG2" -ot "$cached" ] then KMAP="$cached" fi if [ "$KMAP" ]; then case "$do_kbd" in linux) run plain NONE loadkeys "$KMAP" ;; freebsd) run in '' kbdcontrol -l "$KMAP" ;; esac else tempfile || { echo Can not create temporary file >&2; exit 1; } case "$do_kbd" in linux) $installdir/bin/ckbcomp -backspace "$backspace" $acm_option \ $rules_option -model "$XKBMODEL" \ "$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" >$TMPFILE run plain NONE loadkeys $TMPFILE ;; freebsd) $installdir/bin/ckbcomp -freebsd -backspace "$backspace" \ $acm_option $rules_option -model "$XKBMODEL" \ "$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" >$TMPFILE run in '' kbdcontrol -l $TMPFILE run in '' kbdcontrol -f 70 "`printf '\033[3~'`" ;; esac fi ########################################################################### ### SETUPDIR ########################################################################### if [ "$setupdir" ]; then fileargs () { local arg args f if [ "$1" ]; then printf "%s" "$1" | { read -r arg args case "$arg" in \>|\<) echo -n "$arg" ;; /*) echo -n "'" if [ -e "$arg" ]; then f="${arg##*/}" f="${f%.gz}" case "$arg" in *.gz) zcat "$arg" >"$setupdir/etc/console-setup/$f" ;; *) cp -a "$arg" "$setupdir/etc/console-setup/$f" ;; esac printf "%s" "/etc/console-setup/$f" \ | sed "s/'/\'\\\\\'\'/g" else printf "%s" "$arg" \ | sed "s/'/\'\\\\\'\'/g" fi echo -n "'" ;; *) echo -n "'" # printf instead of echo because different versions of # echo process backslashes differently. printf "%s" "$arg" \ | sed "s/'/\'\\\\\'\'/g" echo -n "'" ;; esac echo -n ' ' fileargs "$args" } fi } mkdir -p "$setupdir"/bin mkdir -p "$setupdir"/etc/console-setup echo '#!/bin/sh' >"$setupdir"/bin/setupcon echo '# A micro-version of setupcon with static configuration.' >>"$setupdir"/bin/setupcon chmod +x "$setupdir"/bin/setupcon tempfile || { echo Can not create temporary file >&2; exit 1; } printf "%s" "$SETUP" | while read -r cmd args; do which "$cmd" >>$TMPFILE || true printf "%s " "$cmd" fileargs "$args" echo done >>"$setupdir"/bin/setupcon echo exit 0 >>"$setupdir"/bin/setupcon sort $TMPFILE | uniq | grep -v 'printf$' >"$setupdir"/morefiles fi
Close