summaryrefslogtreecommitdiffstats
path: root/mdk-stage1
ModeNameSize
-rw-r--r--.cvsignore171logstatsplain
-rw-r--r--Makefile7704logstatsplain
-rw-r--r--Makefile.common1616logstatsplain
-rw-r--r--Makefile.mkinitrd_helper723logstatsplain
-rw-r--r--adsl.c4594logstatsplain
-rw-r--r--adsl.h780logstatsplain
-rw-r--r--automatic.c4286logstatsplain
-rw-r--r--automatic.h1093logstatsplain
d---------bzlib380logstatsplain
-rw-r--r--cdrom.c5367logstatsplain
-rw-r--r--cdrom.h580logstatsplain
-rw-r--r--config-stage1.h1693logstatsplain
-rw-r--r--dhcp.c17455logstatsplain
-rw-r--r--dhcp.h810logstatsplain
d---------dietlibc1546logstatsplain
-rw-r--r--disk.c13700logstatsplain
-rw-r--r--disk.h584logstatsplain
-rw-r--r--dns.c4456logstatsplain
-rw-r--r--dns.h634logstatsplain
d---------doc238logstatsplain
-rw-r--r--frontend-common.c1009logstatsplain
-rw-r--r--frontend.h1786logstatsplain
d---------init-data256logstatsplain
-rw-r--r--init-libc-headers.h1046logstatsplain
-rw-r--r--init.c14634logstatsplain
d---------insmod-busybox371logstatsplain
d---------insmod-modutils212logstatsplain
-rw-r--r--insmod.h502logstatsplain
d---------linux-2.272logstatsplain
-rw-r--r--log.c1636logstatsplain
-rw-r--r--log.h744logstatsplain
-rw-r--r--lomount.c4470logstatsplain
-rw-r--r--lomount.h522logstatsplain
d---------mar241logstatsplain
-rw-r--r--minilibc.c5672logstatsplain
-rw-r--r--minilibc.h5229logstatsplain
d---------mkinitrd_helper81logstatsplain
-rw-r--r--modules.c11927logstatsplain
-rw-r--r--modules.h894logstatsplain
-rw-r--r--modules_descr.h2287logstatsplain
-rw-r--r--mount.c5616logstatsplain
-rw-r--r--mount.h681logstatsplain
-rw-r--r--mount_rpcgen.h6175logstatsplain
-rw-r--r--network.c23441logstatsplain
-rw-r--r--network.h1335logstatsplain
-rw-r--r--newt-frontend.c9251logstatsplain
d---------newt619logstatsplain
-rw-r--r--nfs_mount4.h1510logstatsplain
-rw-r--r--nfsmount.c18948logstatsplain
-rw-r--r--nfsmount.h10466logstatsplain
d---------pci-resource119logstatsplain
d---------pcmcia_743logstatsplain
d---------ppp946logstatsplain
-rw-r--r--probing.c18338logstatsplain
-rw-r--r--probing.h1072logstatsplain
-rw-r--r--rescue-gui.c5810logstatsplain
d---------rp-pppoe410logstatsplain
d---------slang2495logstatsplain
d---------stage1-data149logstatsplain
-rw-r--r--stage1.c19799logstatsplain
-rw-r--r--stage1.h1970logstatsplain
-rw-r--r--stdio-frontend.c7208logstatsplain
-rw-r--r--tools.c11389logstatsplain
-rw-r--r--tools.h1579logstatsplain
-rw-r--r--url.c10593logstatsplain
-rw-r--r--url.h1305logstatsplain
d---------usb-resource119logstatsplain
/span> #- [1] = name for loadkeys, [2] = name for XKB, [3] = "1" if it is #- a multigroup layout (eg: one with latin/non-latin letters) my %keyboards = ( arch() =~ /^sparc/ ? ( "cz" => [ N_("Czech (QWERTZ)"), "sunt5-cz-us", "cz", 0 ], "de" => [ N_("German"), "sunt5-de-latin1", "de", 0 ], "dvorak" => [ N_("Dvorak"), "sundvorak", "dvorak",0 ], "es" => [ N_("Spanish"), "sunt5-es", "es", 0 ], "fi" => [ N_("Finnish"), "sunt5-fi-latin1", "fi", 0 ], "fr" => [ N_("French"), "sunt5-fr-latin1", "fr", 0 ], "no" => [ N_("Norwegian"), "sunt4-no-latin1", "no", 0 ], "pl" => [ N_("Polish"), "sun-pl-altgraph", "pl", 0 ], "ru" => [ N_("Russian"), "sunt5-ru", "ru", 1 ], # TODO: check the console map "se" => [ N_("Swedish"), "sunt5-fi-latin1", "se", 0 ], "uk" => [ N_("UK keyboard"), "sunt5-uk", "gb", 0 ], "us" => [ N_("US keyboard"), "sunkeymap", "us", 0 ], ) : ( "al" => [ N_("Albanian"), "al", "al", 0 ], "am_old" => [ N_("Armenian (old)"), "am_old", "am(old)", 1 ], "am" => [ N_("Armenian (typewriter)"), "am-armscii8", "am", 1 ], "am_phonetic" => [ N_("Armenian (phonetic)"), "am_phonetic", "am(phonetic)",1 ], #-"ar_azerty" => [ N_("Arabic (AZERTY)"),"ar-8859_6","ar(azerty)",1 ], #-"ar_azerty_d" => [ N_("Arabic (AZERTY, arabic digits)"),"ar-8859_6","ar(azerty_digits)",1 ], #-"ar" => [ N_("Arabic (QWERTY)"),"ar-8859_6", "ar", 1 ], #-"ar_d" => [ N_("Arabic (QWERTY, arabic digits)"),"ar-8859_6","ar(digits)",1 ], "az" => [ N_("Azerbaidjani (latin)"), "az", "az", 0 ], #"a3" => [ N_("Azerbaidjani (cyrillic)"), "az-koi8k","az(cyrillic)",1 ], "be" => [ N_("Belgian"), "be2-latin1", "be", 0 ], "ben" => [ N_("Bengali"), "us", "ben", 1 ], "bg_phonetic" => [ N_("Bulgarian (phonetic)"), "bg", "bg(phonetic)", 1 ], "bg" => [ N_("Bulgarian (BDS)"), "bg", "bg", 1 ], "br" => [ N_("Brazilian (ABNT-2)"), "br-abnt2", "br", 0 ], #- Bosnia and Croatia use the same layout, but people are confused if there #- isn't an antry for their country "bs" => [ N_("Bosnian"), "croat", "hr", 0 ], "by" => [ N_("Belarusian"), "by-cp1251", "by", 1 ], "ch_de" => [ N_("Swiss (German layout)"), "sg-latin1", "de_CH", 0 ], "ch_fr" => [ N_("Swiss (French layout)"), "fr_CH-latin1", "fr_CH", 0 ], "cz" => [ N_("Czech (QWERTZ)"), "cz-latin2", "cz", 0 ], "cz_qwerty" => [ N_("Czech (QWERTY)"), "cz-lat2", "cz_qwerty", 0 ], "de" => [ N_("German"), "de-latin1", "de", 0 ], "de_nodeadkeys" => [ N_("German (no dead keys)"), "de-latin1-nodeadkeys", "de(nodeadkeys)", 0 ], "dev" => [ N_("Devanagari"), "us", "dev", 0 ], "dk" => [ N_("Danish"), "dk-latin1", "dk", 0 ], "dvorak" => [ N_("Dvorak (US)"), "pc-dvorak-latin1", "dvorak", 0 ], "dvorak_no" => [ N_("Dvorak (Norwegian)"), "no-dvorak", "dvorak(no)", 0 ], "dvorak_se" => [ N_("Dvorak (Swedish)"), "se-dvorak", "dvorak(se)", 0 ], "ee" => [ N_("Estonian"), "ee-latin9", "ee", 0 ], "es" => [ N_("Spanish"), "es-latin1", "es", 0 ], "fi" => [ N_("Finnish"), "fi-latin1", "fi", 0 ], "fr" => [ N_("French"), "fr-latin1", "fr", 0 ], "ge_ru" => [N_("Georgian (\"Russian\" layout)"), "ge_ru-georgian_academy", "ge_ru",1], "ge_la" => [N_("Georgian (\"Latin\" layout)"), "ge_la-georgian_academy", "ge_la",1], "gr" => [ N_("Greek"), "gr-8859_7", "el", 1 ], "guj" => [ N_("Gujarati"), "us", "guj", 1 ], "gur" => [ N_("Gurmukhi"), "us", "gur", 1 ], "hu" => [ N_("Hungarian"), "hu-latin2", "hu", 0 ], "hr" => [ N_("Croatian"), "croat", "hr", 0 ], "il" => [ N_("Israeli"), "il-8859_8", "il", 1 ], "il_phonetic" => [ N_("Israeli (Phonetic)"), "hebrew", "il_phonetic", 1 ], "ir" => [ N_("Iranian"), "ir-isiri_3342", "ir", 1 ], "is" => [ N_("Icelandic"), "is-latin1", "is", 0 ], "it" => [ N_("Italian"), "it-latin1", "it", 0 ], "iu" => [ N_("Inuktitut"), "us", "iu", 1 ], "jp" => [ N_("Japanese 106 keys"), "jp106", "jp", 1 ], #There is no XKB korean file yet; but using xmodmap one disables # some functioanlity; "us" used for XKB until this is fixed "kr" => [ N_("Korean keyboard"), "us", "us", 1 ], "la" => [ N_("Latin American"), "la-latin1", "la", 0 ], "lao" => [ N_("Laotian"), "us", "lao", 1 ], "lt" => [ N_("Lithuanian AZERTY (old)"), "lt-latin7", "lt_a", 0 ], #- TODO: write a console kbd map for lt_new "lt_new" => [ N_("Lithuanian AZERTY (new)"), "lt-latin7", "lt_std", 0 ], "lt_b" => [ N_("Lithuanian \"number row\" QWERTY"), "ltb-latin7", "lt", 1 ], "lt_p" => [ N_("Lithuanian \"phonetic\" QWERTY"), "ltp-latin7", "lt_p", 0 ], "lv" => [ N_("Latvian"), "lv-latin7", "lv", 0 ], "mal" => [ N_("Malayalam"), "us", "ml(mlplusnum)", 1 ], "mk" => [ N_("Macedonian"), "mk", "mk", 1 ], "mm" => [ N_("Myanmar (Burmese)"), "us", "mm", 1 ], "mng" => [ N_("Mongolian (cyrillic)"), "us", "mng", 1 ], "mt" => [ N_("Maltese (UK)"), "uk", "mt", 0 ], "mt_us" => [ N_("Maltese (US)"), "us", "mt_us", 0 ], "nl" => [ N_("Dutch"), "nl-latin1", "nl", 0 ], "no" => [ N_("Norwegian"), "no-latin1", "no", 0 ], "pl" => [ N_("Polish (qwerty layout)"), "pl", "pl", 0 ], "pl2" => [ N_("Polish (qwertz layout)"), "pl-latin2", "pl2", 0 ], "pt" => [ N_("Portuguese"), "pt-latin1", "pt", 0 ], "qc" => [ N_("Canadian (Quebec)"), "qc-latin1", "ca_enhanced", 0 ], #- TODO: write a console kbd map for ro2 "ro2" => [ N_("Romanian (qwertz)"), "ro2", "ro2", 0 ], "ro" => [ N_("Romanian (qwerty)"), "ro", "ro", 0 ], "ru" => [ N_("Russian"), "ru4", "ru(winkeys)", 1 ], "ru_yawerty" => [ N_("Russian (Yawerty)"), "ru-yawerty", "ru_yawerty", 1 ], "se" => [ N_("Swedish"), "se-latin1", "se", 0 ], "si" => [ N_("Slovenian"), "slovene", "si", 0 ], "sk" => [ N_("Slovakian (QWERTZ)"), "sk-qwertz", "sk", 0 ], "sk_qwerty" => [ N_("Slovakian (QWERTY)"), "sk-qwerty", "sk_qwerty", 0 ], # TODO: console map "sr" => [ N_("Serbian (cyrillic)"), "sr", "sr", 0 ], # no console kbd that I'm aware of "tml" => [ N_("Tamil (Unicode)"), "us", "tml", 1 ], "tscii" => [ N_("Tamil (TSCII)"), "us", "tscii", 1 ], "th" => [ N_("Thai keyboard"), "th", "th", 1 ], # TODO: console map "tj" => [ N_("Tajik keyboard"), "ru4", "tj", 1 ], "tr_f" => [ N_("Turkish (traditional \"F\" model)"), "trf", "tr_f", 0 ], "tr_q" => [ N_("Turkish (modern \"Q\" model)"), "tr_q-latin5", "tr", 0 ], #-"tw => [ N_("Chineses bopomofo"), "tw", "tw", 1 ], "ua" => [ N_("Ukrainian"), "ua", "ua", 1 ], "uk" => [ N_("UK keyboard"), "uk", "gb", 0 ], "us" => [ N_("US keyboard"), "us", "us", 0 ], "us_intl" => [ N_("US keyboard (international)"), "us-latin1", "us_intl", 0 ], "vn" => [ N_("Vietnamese \"numeric row\" QWERTY"), "vn-tcvn", "vn(toggle)", 0 ], "yu" => [ N_("Yugoslavian (latin)"), "sr", "yu", 0 ], ), ); #- list of possible choices for the key combinations to toggle XKB groups #- (eg in X86Config file: XkbOptions "grp:toggle") my %grp_toggles = ( toggle => N("Right Alt key"), shift_toggle => N("Both Shift keys simultaneously"), ctrl_shift_toggle => N("Control and Shift keys simultaneously"), caps_toggle => N("CapsLock key"), ctrl_alt_toggle => N("Ctrl and Alt keys simultaneously"), alt_shift_toggle => N("Alt and Shift keys simultaneously"), menu_toggle => N("\"Menu\" key"), lwin_toggle => N("Left \"Windows\" key"), rwin_toggle => N("Right \"Windows\" key"), ); #-###################################################################################### #- Functions #-###################################################################################### sub KEYBOARDs { keys %keyboards } sub KEYBOARD2text { $keyboards{$_[0]} && $keyboards{$_[0]}[0] } sub keyboards { map { { KEYBOARD => $_ } } keys %keyboards } sub keyboard2one { my ($keyboard, $nb) = @_; ref $keyboard or internal_error(); my $l = $keyboards{$keyboard->{KEYBOARD}} or return; $l->[$nb]; } sub keyboard2text { keyboard2one($_[0], 0) } sub keyboard2kmap { keyboard2one($_[0], 1) } sub keyboard2xkb { keyboard2one($_[0], 2) } sub grp_toggles { my ($keyboard) = @_; keyboard2one($keyboard, 3) or return; \%grp_toggles; } sub group_toggle_choose { my ($in, $keyboard) = @_; if (my $grp_toggles = keyboard::grp_toggles($keyboard)) { my $GRP_TOGGLE = $keyboard->{GRP_TOGGLE} || 'caps_toggle'; $GRP_TOGGLE = $in->ask_from_listf('', N("Here you can choose the key or key combination that will allow switching between the different keyboard layouts (eg: latin and non latin)"), sub { $grp_toggles->{$_[0]} }, [ sort keys %$grp_toggles ], $GRP_TOGGLE) or return; log::l("GRP_TOGGLE: $GRP_TOGGLE"); $keyboard->{GRP_TOGGLE} = $GRP_TOGGLE; } else { $keyboard->{GRP_TOGGLE} = ''; } 1; } sub loadkeys_files { my ($err) = @_; my $archkbd = arch() =~ /^sparc/ ? "sun" : arch() =~ /i.86/ ? "i386" : arch() =~ /ppc/ ? "mac" : arch(); my $p = "/usr/lib/kbd/keymaps/$archkbd"; my $post = ".kmap.gz"; my %trans = ("cz-latin2" => "cz-lat2"); my %find_file; foreach my $dir (all($p)) { $find_file{$dir} = ''; foreach (all("$p/$dir")) { $find_file{$_} and $err->("file $_ is both in $find_file{$_} and $dir") if $err; $find_file{$_} = "$p/$dir/$_"; } } my (@l, %l); foreach (values %keyboards) { local $_ = $trans{$_->[1]} || $_->[1]; my $l = $find_file{"$_$post"} || $find_file{first(/(..)/) . $post}; if ($l) { push @l, $l; foreach (`zgrep include $l | grep "^include"`) { /include\s+"(.*)"/ or die "bad line $_"; @l{grep { -e $_ } ("$p/$1.inc.gz")} = (); } } else { $err->("invalid loadkeys keytable $_") if $err; } } uniq(@l, keys %l, grep { -e $_ } map { "$p/$_.inc.gz" } qw(compose euro windowkeys linux-keys-bare)); } sub unpack_keyboards { my ($k) = @_; $k or return; [ grep { my $b = $keyboards{$_->[0]}; $b or log::l("bad keyboard $_->[0] in %keyboard::lang2keyboard"); $b; } map { [ split ':' ] } split ' ', $k ]; } sub lang2keyboards { my @li = sort { $b->[1] <=> $a->[1] } map { @$_ } map { #- first try with the 5 first chars of LANG; if it fails then try with #- with the 2 first chars of LANG before resorting to default. unpack_keyboards($lang2keyboard{substr($_, 0, 5)}) || unpack_keyboards($lang2keyboard{substr($_, 0, 2)}) || [ [ ($keyboards{$_} ? $_ : "us") => 100 ] ]; } @_; \@li; } sub lang2keyboard { my ($l) = @_; my $kb = lang2keyboards($l)->[0][0]; { KEYBOARD => $keyboards{$kb} ? $kb : 'us' }; #- handle incorrect keyboard mapping to us. } sub from_usb { return if $::noauto; my ($usb_kbd) = detect_devices::usbKeyboards() or return; my $country_code = detect_devices::usbKeyboard2country_code($usb_kbd) or return; my $keyboard = $usb2keyboard[$country_code]; $keyboard !~ /SKIP/ && { KEYBOARD => $keyboard }; } sub load { my ($keymap) = @_; return if $::testing; my ($magic, @keymaps) = unpack "I i" . c::MAX_NR_KEYMAPS() . "a*", $keymap; $keymap = pop @keymaps; $magic != $KMAP_MAGIC and die "failed to read kmap magic"; sysopen(my $F, "/dev/console", 2) or die "failed to open /dev/console: $!"; my $count = 0; foreach (0 .. c::MAX_NR_KEYMAPS() - 1) { $keymaps[$_] or next; my @keymap = unpack "s" . c::NR_KEYS() . "a*", $keymap; $keymap = pop @keymap; my $key = -1; foreach my $value (@keymap) { $key++; c::KTYP($value) != c::KT_SPEC() or next; ioctl($F, c::KDSKBENT(), pack("CCS", $_, $key, $value)) or die "keymap ioctl failed ($_ $key $value): $!"; } $count++; } #- log::l("loaded $count keymap tables"); } sub keyboard2full_xkb {