summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>1999-09-14 13:33:04 +0000
committerFrancois Pons <fpons@mandriva.com>1999-09-14 13:33:04 +0000
commit951e65ef820631665dbeddf6cfb43afce034efb9 (patch)
treebd260c7acf6184c957c5f54ae242914bfa206f57
parent23c152b7d199b290607b3d3e3a14d76dbaa60e90 (diff)
downloaddrakx-backup-do-not-use-951e65ef820631665dbeddf6cfb43afce034efb9.tar
drakx-backup-do-not-use-951e65ef820631665dbeddf6cfb43afce034efb9.tar.gz
drakx-backup-do-not-use-951e65ef820631665dbeddf6cfb43afce034efb9.tar.bz2
drakx-backup-do-not-use-951e65ef820631665dbeddf6cfb43afce034efb9.tar.xz
drakx-backup-do-not-use-951e65ef820631665dbeddf6cfb43afce034efb9.zip
*** empty log message ***
-rw-r--r--perl-install/Makefile2
-rw-r--r--perl-install/modparm.pm4
-rw-r--r--perl-install/share/list1
-rw-r--r--perl-install/share/po/no.po495
4 files changed, 258 insertions, 244 deletions
diff --git a/perl-install/Makefile b/perl-install/Makefile
index b434dfbc2..e54857f50 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -170,7 +170,7 @@ stage2:
$(SUDO) cp -a $(DEST)/* $(STAGE2TMP)
$(SUDO) umount /mnt/stage2 ; true
- dd if=/dev/zero of=$(STAGE2) bs=1M count=13
+ dd if=/dev/zero of=$(STAGE2) bs=1M count=14
echo y | /sbin/mke2fs $(STAGE2)
$(SUDO) mount $(STAGE2) /mnt/stage2 -o loop
diff --git a/perl-install/modparm.pm b/perl-install/modparm.pm
index e8308de00..cc7b0efb4 100644
--- a/perl-install/modparm.pm
+++ b/perl-install/modparm.pm
@@ -50,4 +50,8 @@ sub get_options_name($) {
@names;
}
+if ($::testing) {
+ read_modparm_file("/tmp/modparm.txt");
+}
+
1;
diff --git a/perl-install/share/list b/perl-install/share/list
index 01750371f..0ccc7cd16 100644
--- a/perl-install/share/list
+++ b/perl-install/share/list
@@ -62,6 +62,7 @@
/usr/lib/perl5/site_perl/5.005/i386-linux/auto/Gtk/Gtk.bs
/usr/lib/perl5/site_perl/5.005/i386-linux/auto/Gtk/Gtk.so
/usr/lib/rpm/rpmrc
+/usr/X11R6/bin/XF86_FBDev
/usr/X11R6/bin/XF86_SVGA
/usr/X11R6/bin/XF86_VGA16
/usr/X11R6/bin/xmodmap
diff --git a/perl-install/share/po/no.po b/perl-install/share/po/no.po
index 839089807..bb6b61dda 100644
--- a/perl-install/share/po/no.po
+++ b/perl-install/share/po/no.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: panoramix VERSION\n"
-"POT-Creation-Date: 1999-09-12 05:33+0200\n"
+"POT-Creation-Date: 1999-09-14 17:18+0200\n"
"PO-Revision-Date: 1999-08-25 11:07+0200\n"
"Last-Translator: Terje Bjerkelia <terje@bjerkelia.com>\n"
"Language-Team: norwegian\n"
@@ -25,136 +25,136 @@ msgstr ""
msgid "Choose a monitor"
msgstr "Velg en monitor"
-#: ../Xconfigurator.pm_.c:224
+#: ../Xconfigurator.pm_.c:225
#, fuzzy
msgid "Monitor not configured"
msgstr "Monitoren er ikke konfigurert ennå"
-#: ../Xconfigurator.pm_.c:227
+#: ../Xconfigurator.pm_.c:228
msgid "Graphic card not configured yet"
msgstr "Grafikk-kortet er ikke konfigurert ennå"
-#: ../Xconfigurator.pm_.c:230
+#: ../Xconfigurator.pm_.c:231
msgid "Resolutions not chosen yet"
msgstr "Oppløsninger er ikke valgt ennå"
-#: ../Xconfigurator.pm_.c:237
+#: ../Xconfigurator.pm_.c:238
#, fuzzy
msgid "Do you want to test the configuration?"
msgstr "Vil du teste konfigurasjonen?"
-#: ../Xconfigurator.pm_.c:237
+#: ../Xconfigurator.pm_.c:238
msgid "Test configuration"
msgstr "Test konfigurasjon"
-#: ../Xconfigurator.pm_.c:269
+#: ../Xconfigurator.pm_.c:270
#, c-format
msgid "(leaving in %d seconds)"
msgstr "(slutter om %d sekunder)"
-#: ../Xconfigurator.pm_.c:273
+#: ../Xconfigurator.pm_.c:274
msgid "Is this ok?"
msgstr "Er dette ok?"
-#: ../Xconfigurator.pm_.c:281
+#: ../Xconfigurator.pm_.c:282
msgid "An error occurred, try changing some parameters"
msgstr "En feil oppsto, prøv å endre noen parametere"
-#: ../Xconfigurator.pm_.c:289 ../Xconfigurator.pm_.c:429
+#: ../Xconfigurator.pm_.c:290 ../Xconfigurator.pm_.c:430
msgid "Automatic resolutions"
msgstr "Automatiske oppløsninger"
-#: ../Xconfigurator.pm_.c:333 ../install_steps_interactive.pm_.c:364
-#: ../install_steps_interactive.pm_.c:365
+#: ../Xconfigurator.pm_.c:334 ../install_steps_interactive.pm_.c:368
+#: ../install_steps_interactive.pm_.c:369
msgid "Resolution"
msgstr "Oppløsning"
-#: ../Xconfigurator.pm_.c:364
+#: ../Xconfigurator.pm_.c:365
msgid "Choose resolution and color depth"
msgstr "Velg oppløsning og fargedybde"
-#: ../Xconfigurator.pm_.c:611
+#: ../Xconfigurator.pm_.c:612
#, c-format
msgid "Keyboard layout: %s\n"
msgstr "Tastatur-layout: %s\n"
-#: ../Xconfigurator.pm_.c:612
+#: ../Xconfigurator.pm_.c:613
#, c-format
msgid "Mouse type: %s\n"
msgstr "Type mus: %s\n"
-#: ../Xconfigurator.pm_.c:613
+#: ../Xconfigurator.pm_.c:614
#, c-format
msgid "Mouse device: %s\n"
msgstr "Enhet mus: %s\n"
-#: ../Xconfigurator.pm_.c:614
+#: ../Xconfigurator.pm_.c:615
#, c-format
msgid "Monitor: %s\n"
msgstr "Monitor: %s\n"
-#: ../Xconfigurator.pm_.c:615
+#: ../Xconfigurator.pm_.c:616
#, c-format
msgid "Monitor HorizSync: %s\n"
msgstr "Monitor HorizSync: %s\n"
-#: ../Xconfigurator.pm_.c:616
+#: ../Xconfigurator.pm_.c:617
#, c-format
msgid "Monitor VertRefresh: %s\n"
msgstr "Monitor VertRefresh: %s\n"
-#: ../Xconfigurator.pm_.c:617
+#: ../Xconfigurator.pm_.c:618
#, c-format
msgid "Graphic card: %s\n"
msgstr "Grafikk-kort: %s\n"
-#: ../Xconfigurator.pm_.c:618
+#: ../Xconfigurator.pm_.c:619
#, c-format
msgid "Graphic memory: %s KB\n"
msgstr "Minne grafikk: %s KB\n"
-#: ../Xconfigurator.pm_.c:619
+#: ../Xconfigurator.pm_.c:620
#, c-format
msgid "XFree86 server: %s\n"
msgstr "XFree86 tjener: %s\n"
-#: ../Xconfigurator.pm_.c:644
+#: ../Xconfigurator.pm_.c:645
msgid "Change Monitor"
msgstr "Endre monitor"
-#: ../Xconfigurator.pm_.c:645
+#: ../Xconfigurator.pm_.c:646
msgid "Change Graphic card"
msgstr "Endre grafikk-kort"
-#: ../Xconfigurator.pm_.c:646
+#: ../Xconfigurator.pm_.c:647
msgid "Change Resolution"
msgstr "Endre oppløsning"
-#: ../Xconfigurator.pm_.c:647
+#: ../Xconfigurator.pm_.c:648
msgid "Automatical resolutions search"
msgstr "Automatisk oppløsningssøk"
-#: ../Xconfigurator.pm_.c:651
+#: ../Xconfigurator.pm_.c:652
msgid "Show information"
msgstr "Vis informasjon"
-#: ../Xconfigurator.pm_.c:652
+#: ../Xconfigurator.pm_.c:653
msgid "Test again"
msgstr "Test igjen"
-#: ../Xconfigurator.pm_.c:653
+#: ../Xconfigurator.pm_.c:654
msgid "Quit"
msgstr "Slutt"
-#: ../Xconfigurator.pm_.c:656
+#: ../Xconfigurator.pm_.c:657
msgid "What do you want to do?"
msgstr "Hva vil du gjøre?"
-#: ../Xconfigurator.pm_.c:661
+#: ../Xconfigurator.pm_.c:662
msgid "X at startup"
msgstr "X ved oppstart"
-#: ../Xconfigurator.pm_.c:667
+#: ../Xconfigurator.pm_.c:668
msgid "X successfully configured"
msgstr "Konfigurasjon av X vellykket"
@@ -174,231 +174,231 @@ msgstr "16 millioner farger"
msgid "4 billion colors"
msgstr "4 milliarder farger"
-#: ../Xconfigurator_consts.pm_.c:20
+#: ../Xconfigurator_consts.pm_.c:19
msgid "256 kb"
msgstr "256 kb"
-#: ../Xconfigurator_consts.pm_.c:21
+#: ../Xconfigurator_consts.pm_.c:20
msgid "512 kb"
msgstr "512 kb"
-#: ../Xconfigurator_consts.pm_.c:22
+#: ../Xconfigurator_consts.pm_.c:21
msgid "1 mb"
msgstr "1 mb"
-#: ../Xconfigurator_consts.pm_.c:23
+#: ../Xconfigurator_consts.pm_.c:22
msgid "2 mb"
msgstr "2 mb"
-#: ../Xconfigurator_consts.pm_.c:24
+#: ../Xconfigurator_consts.pm_.c:23
msgid "4 mb"
msgstr "4 mb"
-#: ../Xconfigurator_consts.pm_.c:25
+#: ../Xconfigurator_consts.pm_.c:24
msgid "8 mb"
msgstr "8 mb"
-#: ../Xconfigurator_consts.pm_.c:26
+#: ../Xconfigurator_consts.pm_.c:25
msgid "16 mb or more"
msgstr "16 mb eller mer"
-#: ../Xconfigurator_consts.pm_.c:30
+#: ../Xconfigurator_consts.pm_.c:29
msgid "Standard VGA, 640x480 at 60 Hz"
msgstr "Standard VGA, 640x480 i 60 Hz"
-#: ../Xconfigurator_consts.pm_.c:31
+#: ../Xconfigurator_consts.pm_.c:30
msgid "Super VGA, 800x600 at 56 Hz"
msgstr "Super VGA 800x600 i 56 Hz"
-#: ../Xconfigurator_consts.pm_.c:32
+#: ../Xconfigurator_consts.pm_.c:31
msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
msgstr "8514 kompatibel, 1024x768 i 87 Hz interlaced (ikke 800x600)"
-#: ../Xconfigurator_consts.pm_.c:33
+#: ../Xconfigurator_consts.pm_.c:32
msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
msgstr "Super VGA, 1024x768 i 87 Hz interlaced, 800x600 i 56 Hz"
-#: ../Xconfigurator_consts.pm_.c:34
+#: ../Xconfigurator_consts.pm_.c:33
msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
msgstr "Utvidet Super VGA, 800x600 i 60 Hz, 640x480 i 72 Hz"
-#: ../Xconfigurator_consts.pm_.c:35
+#: ../Xconfigurator_consts.pm_.c:34
msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
msgstr "Ikke-interlaced SVGA, 1024x768 i 60 Hz, 800x600 i 72 Hz"
-#: ../Xconfigurator_consts.pm_.c:36
+#: ../Xconfigurator_consts.pm_.c:35
msgid "High Frequency SVGA, 1024x768 at 70 Hz"
msgstr "Høyfrekvens SVGA, 1024x768 i 70 Hz"
-#: ../Xconfigurator_consts.pm_.c:37
+#: ../Xconfigurator_consts.pm_.c:36
msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
msgstr "Flerfrekvens som kan klare 1280x1024 i 60 Hz"
-#: ../Xconfigurator_consts.pm_.c:38
+#: ../Xconfigurator_consts.pm_.c:37
msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
msgstr "Flerfrekvens som kan klare 1280x1024 i 74 Hz"
-#: ../Xconfigurator_consts.pm_.c:39
+#: ../Xconfigurator_consts.pm_.c:38
msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
msgstr "Flerfrekvens som kan klare 1280x1024 i 76 Hz"
-#: ../Xconfigurator_consts.pm_.c:40
+#: ../Xconfigurator_consts.pm_.c:39
msgid "Monitor that can do 1600x1200 at 70 Hz"
msgstr "Monitor som kan klare 1600x1200 i 70 Hz"
-#: ../Xconfigurator_consts.pm_.c:41
+#: ../Xconfigurator_consts.pm_.c:40
msgid "Monitor that can do 1600x1200 at 76 Hz"
msgstr "Monitor som kan klare 1600x1200 i 76 Hz"
-#: ../Xconfigurator_consts.pm_.c:46
+#: ../Xconfigurator_consts.pm_.c:45
msgid "No RAMDAC Setting (recommended)"
msgstr "Ingen RAMDAC innstilling (anbefalt)"
-#: ../Xconfigurator_consts.pm_.c:47
+#: ../Xconfigurator_consts.pm_.c:46
msgid "AT&T 20C490 (S3 and AGX servers, ARK driver)"
msgstr "AT&T 20C490 (S3 og AGX tjenere, ARK driver)"
-#: ../Xconfigurator_consts.pm_.c:48
+#: ../Xconfigurator_consts.pm_.c:47
msgid "AT&T 20C498/21C498/22C498 (S3, autodetected)"
msgstr "AT&T 20C498/21C498/22C498 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:49
+#: ../Xconfigurator_consts.pm_.c:48
msgid "AT&T 20C409/20C499 (S3, autodetected)"
msgstr "AT&T 20C409/20C499 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:50
+#: ../Xconfigurator_consts.pm_.c:49
msgid "AT&T 20C505 (S3)"
msgstr "AT&T 20C505 (S3)"
-#: ../Xconfigurator_consts.pm_.c:51
+#: ../Xconfigurator_consts.pm_.c:50
msgid "BrookTree BT481 (AGX)"
msgstr "BrookTree BT481 (AGX)"
-#: ../Xconfigurator_consts.pm_.c:52
+#: ../Xconfigurator_consts.pm_.c:51
msgid "BrookTree BT482 (AGX)"
msgstr "BrookTree BT482 (AGX)"
-#: ../Xconfigurator_consts.pm_.c:53
+#: ../Xconfigurator_consts.pm_.c:52
msgid "BrookTree BT485/9485 (S3)"
msgstr "BrookTree BT485/9485 (S3)"
-#: ../Xconfigurator_consts.pm_.c:54
+#: ../Xconfigurator_consts.pm_.c:53
msgid "Sierra SC15025 (S3, AGX)"
msgstr "Sierra SC15025 (S3, AGX)"
-#: ../Xconfigurator_consts.pm_.c:55
+#: ../Xconfigurator_consts.pm_.c:54
msgid "S3 GenDAC (86C708) (autodetected)"
msgstr "S3 GenDAC (86C708) (oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:56
+#: ../Xconfigurator_consts.pm_.c:55
msgid "S3 SDAC (86C716) (autodetected)"
msgstr "S3 SDAC (86C716) (oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:57
+#: ../Xconfigurator_consts.pm_.c:56
msgid "STG-1700 (S3, autodetected)"
msgstr "STG-1700 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:58
+#: ../Xconfigurator_consts.pm_.c:57
msgid "STG-1703 (S3, autodetected)"
msgstr "STG-1703 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:59
+#: ../Xconfigurator_consts.pm_.c:58
msgid "TI 3020 (S3)"
msgstr "TI 3020 (S3)"
-#: ../Xconfigurator_consts.pm_.c:60
+#: ../Xconfigurator_consts.pm_.c:59
msgid "TI 3025 (S3, autodetected)"
msgstr "TI 3025 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:61
+#: ../Xconfigurator_consts.pm_.c:60
msgid "TI 3026 (S3, autodetected)"
msgstr "TI 3026 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:62
+#: ../Xconfigurator_consts.pm_.c:61
msgid "IBM RGB 514 (S3, autodetected)"
msgstr "IBM RGB 514 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:63
+#: ../Xconfigurator_consts.pm_.c:62
msgid "IBM RGB 524 (S3, autodetected)"
msgstr "IBM RGB 524 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:64
+#: ../Xconfigurator_consts.pm_.c:63
msgid "IBM RGB 525 (S3, autodetected)"
msgstr "IBM RGB 525 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:65
+#: ../Xconfigurator_consts.pm_.c:64
msgid "IBM RGB 526 (S3)"
msgstr "IBM RGB 526 (S3)"
-#: ../Xconfigurator_consts.pm_.c:66
+#: ../Xconfigurator_consts.pm_.c:65
msgid "IBM RGB 528 (S3, autodetected)"
msgstr "IBM RGB 528 (S3, oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:67
+#: ../Xconfigurator_consts.pm_.c:66
msgid "ICS5342 (S3, ARK)"
msgstr "ICS5342 (S3, ARK)"
-#: ../Xconfigurator_consts.pm_.c:68
+#: ../Xconfigurator_consts.pm_.c:67
msgid "ICS5341 (W32)"
msgstr "ICS5341 (W32)"
-#: ../Xconfigurator_consts.pm_.c:69
+#: ../Xconfigurator_consts.pm_.c:68
msgid "IC Works w30C516 ZoomDac (ARK)"
msgstr "IC Works w30C516 ZoomDac (ARK)"
-#: ../Xconfigurator_consts.pm_.c:70
+#: ../Xconfigurator_consts.pm_.c:69
msgid "Normal DAC"
msgstr "Normal DAC"
-#: ../Xconfigurator_consts.pm_.c:74
+#: ../Xconfigurator_consts.pm_.c:73
msgid "No Clockchip Setting (recommended)"
msgstr "Ingen Clockchip innstilling (anbefalt)"
-#: ../Xconfigurator_consts.pm_.c:75
+#: ../Xconfigurator_consts.pm_.c:74
msgid "Chrontel 8391"
msgstr "Chrontel 8391"
-#: ../Xconfigurator_consts.pm_.c:76
+#: ../Xconfigurator_consts.pm_.c:75
msgid "ICD2061A and compatibles (ICS9161A => DCS2824)"
msgstr "ICD2061A og kompatible (ICS9161A => DCS2824)"
-#: ../Xconfigurator_consts.pm_.c:77
+#: ../Xconfigurator_consts.pm_.c:76
msgid "ICS2595"
msgstr "ICS2595"
-#: ../Xconfigurator_consts.pm_.c:78
+#: ../Xconfigurator_consts.pm_.c:77
msgid "ICS5342 (similar to SDAC, but not completely compatible)"
msgstr "ICS5342 (lik SDAC, men ikke helt kompatibel)"
-#: ../Xconfigurator_consts.pm_.c:79
+#: ../Xconfigurator_consts.pm_.c:78
msgid "ICS5341"
msgstr "ICS5341"
-#: ../Xconfigurator_consts.pm_.c:80
+#: ../Xconfigurator_consts.pm_.c:79
msgid "S3 GenDAC (86C708) and ICS5300 (autodetected)"
msgstr "S3 GenDAC (86C708) og ICS5300 (oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:81
+#: ../Xconfigurator_consts.pm_.c:80
msgid "S3 SDAC (86C716)"
msgstr "S3 SDAC (86C716)"
-#: ../Xconfigurator_consts.pm_.c:82
+#: ../Xconfigurator_consts.pm_.c:81
msgid "STG 1703 (autodetected)"
msgstr "STG 1703 (oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:83
+#: ../Xconfigurator_consts.pm_.c:82
msgid "Sierra SC11412"
msgstr "Sierra SC11412"
-#: ../Xconfigurator_consts.pm_.c:84
+#: ../Xconfigurator_consts.pm_.c:83
msgid "TI 3025 (autodetected)"
msgstr "TI 3025 (oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:85
+#: ../Xconfigurator_consts.pm_.c:84
msgid "TI 3026 (autodetected)"
msgstr "TI 3026 (oppdaget automatisk)"
-#: ../Xconfigurator_consts.pm_.c:86
+#: ../Xconfigurator_consts.pm_.c:85
msgid "IBM RGB 51x/52x (autodetected)"
msgstr "IBM RGB 51x/52x (oppdaget automatisk)"
@@ -515,7 +515,7 @@ msgstr "Les nøye!"
msgid "all data on this partition will be lost"
msgstr "alle data på denne partisjonen vil gå tapt"
-#: ../diskdrake.pm_.c:136 ../install2.pm_.c:405 ../install_steps.pm_.c:66
+#: ../diskdrake.pm_.c:136 ../install2.pm_.c:401 ../install_steps.pm_.c:65
#: ../install_steps_interactive.pm_.c:35
msgid "Error"
msgstr "Feil"
@@ -756,15 +756,15 @@ msgstr "Det finnes allerede en partisjon med monteringspunkt %s"
msgid "Error opening %s for writing: %s"
msgstr "Feil ved åpning av %s for skriving: %s"
-#: ../install2.pm_.c:36
+#: ../install2.pm_.c:35
msgid "Choose preferred language for install and system usage."
msgstr ""
-#: ../install2.pm_.c:39
+#: ../install2.pm_.c:38
msgid "Choose on the list of keyboards, the one corresponding to yours"
msgstr ""
-#: ../install2.pm_.c:42
+#: ../install2.pm_.c:41
#, fuzzy
msgid ""
"Choose \"Installation\" if there are no previous versions of Linux\n"
@@ -781,7 +781,7 @@ msgstr ""
"(Venice), 5.2 (Leeloo), 5.3 (Festen) eller\n"
" 6.0 (Venus)."
-#: ../install2.pm_.c:49
+#: ../install2.pm_.c:48
msgid ""
"Select:\n"
" - Beginner: If you have not installed Linux before, or wish to install\n"
@@ -808,7 +808,7 @@ msgstr ""
"opprettholde\n"
"kontrollen over installasjonen så er dette valget for deg."
-#: ../install2.pm_.c:62
+#: ../install2.pm_.c:61
#, fuzzy
msgid ""
"The system did not detect a SCSI card. If you have one (or several)\n"
@@ -831,7 +831,7 @@ msgstr ""
"under \"System\"\n"
" i \"Kontrollpanelet\"."
-#: ../install2.pm_.c:72
+#: ../install2.pm_.c:71
msgid ""
"At this point, hard drive partitions must be defined. (Unless you\n"
"are overwriting a previous install of Linux and have already defined\n"
@@ -846,7 +846,7 @@ msgid ""
"be. Consult the documentation and take your time before proceeding."
msgstr ""
-#: ../install2.pm_.c:85
+#: ../install2.pm_.c:84
msgid ""
"Any partitions that have been newly defined must be formatted for\n"
"use. At this time, you may wish to re-format some pre-existing\n"
@@ -861,7 +861,7 @@ msgstr ""
"hvis de inneholder data som\n"
"du ønsker å beholde (typiske tilfeller: / home and / usr/local)."
-#: ../install2.pm_.c:92
+#: ../install2.pm_.c:91
msgid ""
"You may now select the packages you wish to install.\n"
"\n"
@@ -888,7 +888,7 @@ msgstr ""
"sone \"Infos\"\n"
"funnet over knappene til bekreftelse/valg/fjern valg."
-#: ../install2.pm_.c:105
+#: ../install2.pm_.c:104
msgid ""
"The packages selected are now being installed. This operation\n"
"should only take a few minutes."
@@ -896,13 +896,13 @@ msgstr ""
"Pakkene som er valgt blir nå installert på systemet ditt. Dette tar bare "
"noen få minutter."
-#: ../install2.pm_.c:109 ../install2.pm_.c:112 ../install2.pm_.c:115
-#: ../install2.pm_.c:118 ../install2.pm_.c:121 ../install2.pm_.c:153
-#: ../install2.pm_.c:168 ../install2.pm_.c:200
+#: ../install2.pm_.c:108 ../install2.pm_.c:111 ../install2.pm_.c:114
+#: ../install2.pm_.c:117 ../install2.pm_.c:120 ../install2.pm_.c:152
+#: ../install2.pm_.c:167 ../install2.pm_.c:199
msgid "Help"
msgstr "Hjelp"
-#: ../install2.pm_.c:124
+#: ../install2.pm_.c:123
msgid ""
"An administrator password for your Linux system must now be\n"
"assigned. The password must be entered twice to verify that both\n"
@@ -921,7 +921,7 @@ msgid ""
"\"password\", type the password that was created here."
msgstr ""
-#: ../install2.pm_.c:141
+#: ../install2.pm_.c:140
msgid ""
"You can now authorize one or more people to use your Linux\n"
"system. Each user account will have their own customizable environment.\n"
@@ -935,7 +935,7 @@ msgid ""
"accomplished from a regular user account."
msgstr ""
-#: ../install2.pm_.c:156
+#: ../install2.pm_.c:155
#, fuzzy
msgid ""
"You need to indicate where you wish\n"
@@ -949,7 +949,7 @@ msgstr ""
"Med mindre du vet akkurat hva du gjør, velg alltid \"Første sektor av "
"disken\"."
-#: ../install2.pm_.c:163
+#: ../install2.pm_.c:162
msgid ""
"It is now time to configure the video card and monitor\n"
"configuration for the X Window Graphic User Interface (GUI). First\n"
@@ -957,104 +957,104 @@ msgid ""
"your selections if necessary."
msgstr ""
-#: ../install2.pm_.c:174
+#: ../install2.pm_.c:173
msgid "Choose your language"
msgstr "Velg språk"
-#: ../install2.pm_.c:175
+#: ../install2.pm_.c:174
msgid "Choose install or upgrade"
msgstr "Velg installering eller oppgradering"
-#: ../install2.pm_.c:176
+#: ../install2.pm_.c:175
msgid "Select installation class"
msgstr "Velg installasjonsklasse"
-#: ../install2.pm_.c:177
+#: ../install2.pm_.c:176
#, fuzzy
msgid "Choose your keyboard"
msgstr "Velg språk"
-#: ../install2.pm_.c:178
+#: ../install2.pm_.c:177
msgid "Setup SCSI"
msgstr "Oppsett SCSI"
-#: ../install2.pm_.c:179
+#: ../install2.pm_.c:178
msgid "Setup filesystems"
msgstr "Oppsett filsystemer"
-#: ../install2.pm_.c:180
+#: ../install2.pm_.c:179
msgid "Format partitions"
msgstr "Formater partisjoner"
-#: ../install2.pm_.c:181
+#: ../install2.pm_.c:180
msgid "Choose packages to install"
msgstr "Velg pakker for installering"
-#: ../install2.pm_.c:182
+#: ../install2.pm_.c:181
msgid "Install system"
msgstr "Installer systemet"
-#: ../install2.pm_.c:183
+#: ../install2.pm_.c:182
#, fuzzy
msgid "Configure mouse"
msgstr "Konfigurer X"
-#: ../install2.pm_.c:184
+#: ../install2.pm_.c:183
msgid "Configure networking"
msgstr "Konfigurer nettverk"
-#: ../install2.pm_.c:185
+#: ../install2.pm_.c:184
#, fuzzy
msgid "Configure timezone"
msgstr "Konfigurer X"
-#: ../install2.pm_.c:187
+#: ../install2.pm_.c:186
#, fuzzy
msgid "Configure printer"
msgstr "Konfigurer X"
-#: ../install2.pm_.c:188 ../install_steps_interactive.pm_.c:422
-#: ../install_steps_interactive.pm_.c:423
+#: ../install2.pm_.c:187 ../install_steps_interactive.pm_.c:426
+#: ../install_steps_interactive.pm_.c:427
msgid "Set root password"
msgstr "Sett root passord"
-#: ../install2.pm_.c:189
+#: ../install2.pm_.c:188
msgid "Add a user"
msgstr "Legg til en bruker"
-#: ../install2.pm_.c:190
+#: ../install2.pm_.c:189
msgid "Create bootdisk"
msgstr "Opprett oppstartdiskett"
-#: ../install2.pm_.c:191
+#: ../install2.pm_.c:190
msgid "Install bootloader"
msgstr "Installer oppstartslaster"
-#: ../install2.pm_.c:192
+#: ../install2.pm_.c:191
msgid "Configure X"
msgstr "Konfigurer X"
-#: ../install2.pm_.c:193
+#: ../install2.pm_.c:192
msgid "Exit install"
msgstr "Gå ut av installering"
-#: ../install2.pm_.c:225
+#: ../install2.pm_.c:224
msgid "beginner"
msgstr "nybegynner"
-#: ../install2.pm_.c:225
+#: ../install2.pm_.c:224
msgid "developer"
msgstr "utvikler"
-#: ../install2.pm_.c:225
+#: ../install2.pm_.c:224
msgid "expert"
msgstr "ekspert"
-#: ../install2.pm_.c:225
+#: ../install2.pm_.c:224
msgid "server"
msgstr "tjener"
-#: ../install2.pm_.c:415
+#: ../install2.pm_.c:411
msgid ""
"An error has occurred - no valid devices were found on which to create new "
"filesystems. Please check your hardware for the cause of this problem"
@@ -1062,67 +1062,77 @@ msgstr ""
"En feil har oppstått - ingen gyldige enheter ble funnet for å opprette nye "
"filsystemer. Vennligst sjekk maskinvaren din for årsaken til dette problemet"
-#: ../install2.pm_.c:430
+#: ../install2.pm_.c:426
msgid "partitioning failed: no root filesystem"
msgstr "partisjonering feilet: intet root filsystem"
+#: ../install2.pm_.c:563
+#, fuzzy
+msgid "Error reading file $f"
+msgstr "Feil ved lesing av fil %s"
+
+#: ../install2.pm_.c:568
+#, fuzzy, c-format
+msgid "Bad kickstart file %s (failed %s)"
+msgstr "Gjenoppretting fra fil %s mislykket: %s"
+
#: ../install_steps.pm_.c:264
msgid "no floppy available"
msgstr ""
-#: ../install_steps_graphical.pm_.c:185
+#: ../install_steps_graphical.pm_.c:195
msgid "Hide"
msgstr "Gjem"
-#: ../install_steps_graphical.pm_.c:185
+#: ../install_steps_graphical.pm_.c:195
msgid "Show All"
msgstr "Vis alle"
-#: ../install_steps_graphical.pm_.c:189
+#: ../install_steps_graphical.pm_.c:199
msgid "Select All"
msgstr "Velg alle"
-#: ../install_steps_graphical.pm_.c:189
+#: ../install_steps_graphical.pm_.c:199
msgid "Unselect All"
msgstr "Fjern alle"
-#: ../install_steps_graphical.pm_.c:256
+#: ../install_steps_graphical.pm_.c:266
msgid "Choose the packages you want to install"
msgstr "Velg pakker du ønsker å installere"
-#: ../install_steps_graphical.pm_.c:267
+#: ../install_steps_graphical.pm_.c:277
msgid " Mb"
msgstr "Mb"
-#: ../install_steps_graphical.pm_.c:267
+#: ../install_steps_graphical.pm_.c:277
msgid "Total size: "
msgstr "Total størrelse: "
-#: ../install_steps_graphical.pm_.c:268
+#: ../install_steps_graphical.pm_.c:278
msgid "Info"
msgstr ""
-#: ../install_steps_graphical.pm_.c:294
+#: ../install_steps_graphical.pm_.c:304
msgid "Installing"
msgstr "Installerer"
-#: ../install_steps_graphical.pm_.c:300
+#: ../install_steps_graphical.pm_.c:310
msgid "Please wait, "
msgstr "Vennligst vent, "
-#: ../install_steps_graphical.pm_.c:302
+#: ../install_steps_graphical.pm_.c:312
msgid "Time remaining "
msgstr "Tid som gjenstår "
-#: ../install_steps_graphical.pm_.c:303
+#: ../install_steps_graphical.pm_.c:313
msgid "Total time "
msgstr "Total tid "
-#: ../install_steps_graphical.pm_.c:308
+#: ../install_steps_graphical.pm_.c:318
msgid "preparing installation"
msgstr "forbereder installasjon"
-#: ../install_steps_graphical.pm_.c:329
+#: ../install_steps_graphical.pm_.c:339
#, c-format
msgid "installing package %s"
msgstr "installerer pakke %s"
@@ -1131,157 +1141,157 @@ msgstr "installerer pakke %s"
msgid "An error occurred"
msgstr "En feil oppsto"
-#: ../install_steps_interactive.pm_.c:47
+#: ../install_steps_interactive.pm_.c:51
msgid "Which language do you want?"
msgstr "Hvilket språk ønsker du?"
-#: ../install_steps_interactive.pm_.c:58
+#: ../install_steps_interactive.pm_.c:62
#, fuzzy
msgid "Which keyboard do you have?"
msgstr "Hvilken sektor vil du flytte til?"
-#: ../install_steps_interactive.pm_.c:68
+#: ../install_steps_interactive.pm_.c:72
msgid "Install/Upgrade"
msgstr "Installer/Oppgrader"
-#: ../install_steps_interactive.pm_.c:69
+#: ../install_steps_interactive.pm_.c:73
#, fuzzy
msgid "Is this an install or an upgrade?"
msgstr "Er det en installasjon eller en oppgradering?"
-#: ../install_steps_interactive.pm_.c:70
+#: ../install_steps_interactive.pm_.c:74
msgid "Install"
msgstr "Installer"
-#: ../install_steps_interactive.pm_.c:70
+#: ../install_steps_interactive.pm_.c:74
msgid "Upgrade"
msgstr "Oppgrader"
-#: ../install_steps_interactive.pm_.c:79
+#: ../install_steps_interactive.pm_.c:83
msgid "Install Class"
msgstr "Installeringsklasse"
-#: ../install_steps_interactive.pm_.c:80
+#: ../install_steps_interactive.pm_.c:84
msgid "What type of user will you have?"
msgstr "Hva slags brukertype vil du ha?"
-#: ../install_steps_interactive.pm_.c:90
+#: ../install_steps_interactive.pm_.c:94
msgid "You need to reboot for the partition table modifications to take place"
msgstr ""
"Du må starte maskinen på nytt for at modifiseringene av partisjonstabellen "
"skal tre i kraft"
-#: ../install_steps_interactive.pm_.c:100
+#: ../install_steps_interactive.pm_.c:104
msgid "Choose the partitions you want to format"
msgstr "Velg de partisjonene du ønsker å formatere"
-#: ../install_steps_interactive.pm_.c:111
+#: ../install_steps_interactive.pm_.c:115
#, c-format
msgid "Formatting partition %s"
msgstr "Formaterer partisjon %s"
-#: ../install_steps_interactive.pm_.c:128
+#: ../install_steps_interactive.pm_.c:132
msgid "Keep the current IP configuration"
msgstr "Behold nåværende IP-konfigurasjon"
-#: ../install_steps_interactive.pm_.c:129
+#: ../install_steps_interactive.pm_.c:133
msgid "Reconfigure network now"
msgstr "Rekonfigurer nettverket nå"
-#: ../install_steps_interactive.pm_.c:130
+#: ../install_steps_interactive.pm_.c:134
msgid "Don't set up networking"
msgstr "Ikke sett opp nettverk"
-#: ../install_steps_interactive.pm_.c:132
-#: ../install_steps_interactive.pm_.c:138
+#: ../install_steps_interactive.pm_.c:136
+#: ../install_steps_interactive.pm_.c:142
msgid "Network Configuration"
msgstr "Nettverks-konfigurasjon"
-#: ../install_steps_interactive.pm_.c:133
+#: ../install_steps_interactive.pm_.c:137
msgid "LAN networking has already been configured. Do you want to:"
msgstr "LAN nettverket har allerede blitt konfigurert. Vil du:"
-#: ../install_steps_interactive.pm_.c:139
+#: ../install_steps_interactive.pm_.c:143
msgid ""
"Do you want to configure LAN (not dialup) networking for your installed "
"system?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:236
+#: ../install_steps_interactive.pm_.c:240
msgid "Standard Printer Options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:237
+#: ../install_steps_interactive.pm_.c:241
msgid ""
"Every print queue (which print jobs are directed to) needs a \n"
"name (often lp) and a spool directory associated with it. What \n"
"name and directory should be used for this queue?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:240
+#: ../install_steps_interactive.pm_.c:244
msgid "Name of queue:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:240
+#: ../install_steps_interactive.pm_.c:244
msgid "Spool directory:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:251
+#: ../install_steps_interactive.pm_.c:255
msgid "Select Printer Connection"
msgstr ""
-#: ../install_steps_interactive.pm_.c:252
+#: ../install_steps_interactive.pm_.c:256
msgid "How is the printer connected?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:260
+#: ../install_steps_interactive.pm_.c:264
msgid "Detecting devices..."
msgstr ""
-#: ../install_steps_interactive.pm_.c:260
+#: ../install_steps_interactive.pm_.c:264
msgid "Test ports"
msgstr ""
-#: ../install_steps_interactive.pm_.c:274
+#: ../install_steps_interactive.pm_.c:278
msgid "Local Printer Device"
msgstr ""
-#: ../install_steps_interactive.pm_.c:275
+#: ../install_steps_interactive.pm_.c:279
msgid ""
"What device is your printer connected to \n"
"(note that /dev/lp0 is equivalent to LPT1:)?\n"
msgstr ""
-#: ../install_steps_interactive.pm_.c:276
+#: ../install_steps_interactive.pm_.c:280
#, fuzzy
msgid "Printer Device:"
msgstr "Enhet: "
-#: ../install_steps_interactive.pm_.c:282
+#: ../install_steps_interactive.pm_.c:286
msgid "Remote lpd Printer Options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:283
+#: ../install_steps_interactive.pm_.c:287
msgid ""
"To use a remote lpd print queue, you need to supply \n"
"the hostname of the printer server and the queue name \n"
"on that server which jobs should be placed in."
msgstr ""
-#: ../install_steps_interactive.pm_.c:286
+#: ../install_steps_interactive.pm_.c:290
#, fuzzy
msgid "Remote hostname:"
msgstr "Brukernavn"
-#: ../install_steps_interactive.pm_.c:286
+#: ../install_steps_interactive.pm_.c:290
msgid "Remote queue:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:292
+#: ../install_steps_interactive.pm_.c:296
msgid "SMB/Windows 95/NT Printer Options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:293
+#: ../install_steps_interactive.pm_.c:297
msgid ""
"To print to a SMB printer, you need to provide the \n"
"SMB host name (this is not always the same as the machines \n"
@@ -1290,46 +1300,46 @@ msgid ""
"applicable user name, password, and workgroup information."
msgstr ""
-#: ../install_steps_interactive.pm_.c:298
+#: ../install_steps_interactive.pm_.c:302
#, fuzzy
msgid "SMB server IP:"
msgstr "tjener"
-#: ../install_steps_interactive.pm_.c:298
+#: ../install_steps_interactive.pm_.c:302
#, fuzzy
msgid "SMB server host:"
msgstr "tjener"
-#: ../install_steps_interactive.pm_.c:299
-#: ../install_steps_interactive.pm_.c:321
+#: ../install_steps_interactive.pm_.c:303
+#: ../install_steps_interactive.pm_.c:325
#, fuzzy
msgid "Password:"
msgstr "Passord"
-#: ../install_steps_interactive.pm_.c:299
+#: ../install_steps_interactive.pm_.c:303
#, fuzzy
msgid "Share name:"
msgstr "Brukernavn"
-#: ../install_steps_interactive.pm_.c:299
-#: ../install_steps_interactive.pm_.c:321
+#: ../install_steps_interactive.pm_.c:303
+#: ../install_steps_interactive.pm_.c:325
#, fuzzy
msgid "User name:"
msgstr "Brukernavn"
-#: ../install_steps_interactive.pm_.c:300
+#: ../install_steps_interactive.pm_.c:304
msgid "Workgroup:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:307
+#: ../install_steps_interactive.pm_.c:311
msgid "IP address should be in format 1.2.3.4"
msgstr ""
-#: ../install_steps_interactive.pm_.c:315
+#: ../install_steps_interactive.pm_.c:319
msgid "NetWare Printer Options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:316
+#: ../install_steps_interactive.pm_.c:320
msgid ""
"To print to a NetWare printer, you need to provide the \n"
"NetWare print server name (this is not always the same as the machines \n"
@@ -1337,112 +1347,111 @@ msgid ""
"wish to access and any applicable user name and password."
msgstr ""
-#: ../install_steps_interactive.pm_.c:320
+#: ../install_steps_interactive.pm_.c:324
msgid "Print Queue Name:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:320
+#: ../install_steps_interactive.pm_.c:324
msgid "Printer Server:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:342
+#: ../install_steps_interactive.pm_.c:346
#, fuzzy
msgid "Configure Printer"
msgstr "Konfigurer X"
-#: ../install_steps_interactive.pm_.c:343
+#: ../install_steps_interactive.pm_.c:347
#, fuzzy
msgid "What type of printer do you have?"
msgstr "Hva slags brukertype vil du ha?"
-#: ../install_steps_interactive.pm_.c:354
-#: ../install_steps_interactive.pm_.c:355
+#: ../install_steps_interactive.pm_.c:358
+#: ../install_steps_interactive.pm_.c:359
msgid "Paper Size"
msgstr ""
-#: ../install_steps_interactive.pm_.c:374
+#: ../install_steps_interactive.pm_.c:378
msgid "CRLF"
msgstr ""
-#: ../install_steps_interactive.pm_.c:375
+#: ../install_steps_interactive.pm_.c:379
msgid "Fix stair-stepping of text?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:391
+#: ../install_steps_interactive.pm_.c:395
#, fuzzy
msgid "Configure Uniprint Driver"
msgstr "Konfigurer X"
-#: ../install_steps_interactive.pm_.c:392
+#: ../install_steps_interactive.pm_.c:396
msgid "You may now configure the uniprint options for this printer."
msgstr ""
-#: ../install_steps_interactive.pm_.c:400
+#: ../install_steps_interactive.pm_.c:404
#, fuzzy
msgid "Configure Color Depth"
msgstr "Konfigurer X"
-#: ../install_steps_interactive.pm_.c:401
+#: ../install_steps_interactive.pm_.c:405
msgid "You may now configure the color options for this printer."
msgstr ""
-#: ../install_steps_interactive.pm_.c:424
-#: ../install_steps_interactive.pm_.c:449
+#: ../install_steps_interactive.pm_.c:428
+#: ../install_steps_interactive.pm_.c:453
msgid "Password"
msgstr "Passord"
-#: ../install_steps_interactive.pm_.c:424
-#: ../install_steps_interactive.pm_.c:449
+#: ../install_steps_interactive.pm_.c:428
+#: ../install_steps_interactive.pm_.c:453
msgid "Password (again)"
msgstr "Passord (igjen)"
-#: ../install_steps_interactive.pm_.c:428
-#: ../install_steps_interactive.pm_.c:460
+#: ../install_steps_interactive.pm_.c:432
+#: ../install_steps_interactive.pm_.c:464
msgid "Please try again"
msgstr "Vennligst prøv igjen"
-#: ../install_steps_interactive.pm_.c:428
-#: ../install_steps_interactive.pm_.c:460
+#: ../install_steps_interactive.pm_.c:432
+#: ../install_steps_interactive.pm_.c:464
msgid "You must enter the same password"
msgstr "Du må skrive inn det samme passordet"
-#: ../install_steps_interactive.pm_.c:429
-#: ../install_steps_interactive.pm_.c:461
+#: ../install_steps_interactive.pm_.c:433
msgid "This password is too simple"
msgstr "Dette passordet er for enkelt"
-#: ../install_steps_interactive.pm_.c:447
+#: ../install_steps_interactive.pm_.c:451
msgid "Add user"
msgstr "Legg til bruker"
-#: ../install_steps_interactive.pm_.c:448
+#: ../install_steps_interactive.pm_.c:452
#, fuzzy
msgid "Enter a user"
msgstr "Legg til en bruker"
-#: ../install_steps_interactive.pm_.c:449
+#: ../install_steps_interactive.pm_.c:453
msgid "Real name"
msgstr "Virkelig navn"
-#: ../install_steps_interactive.pm_.c:449
+#: ../install_steps_interactive.pm_.c:453
msgid "Shell"
msgstr "Skall"
-#: ../install_steps_interactive.pm_.c:449
+#: ../install_steps_interactive.pm_.c:453
msgid "User name"
msgstr "Brukernavn"
-#: ../install_steps_interactive.pm_.c:462
+#: ../install_steps_interactive.pm_.c:466
msgid "Please give a user name"
msgstr "Vennligst oppgi et brukernavn"
-#: ../install_steps_interactive.pm_.c:463
+#: ../install_steps_interactive.pm_.c:467
#, fuzzy
msgid ""
"The user name must contain only lower cased letters, numbers, `-' and `_'"
msgstr "Brukernavnet kan kun inneholde bokstaver, tall, `-' og `_'"
-#: ../install_steps_interactive.pm_.c:482
+#: ../install_steps_interactive.pm_.c:486
msgid ""
"A custom bootdisk provides a way of booting into your Linux system without\n"
"depending on the normal bootloader. This is useful if you don't want to "
@@ -1456,44 +1465,44 @@ msgid ""
"failures. Would you like to create a bootdisk for your system?"
msgstr ""
-#: ../install_steps_interactive.pm_.c:490
+#: ../install_steps_interactive.pm_.c:494
msgid "Sorry, no floppy drive available"
msgstr ""
-#: ../install_steps_interactive.pm_.c:493
+#: ../install_steps_interactive.pm_.c:497
#, fuzzy
msgid "Choose the floppy drive you want to use to make the bootdisk"
msgstr "Velg de partisjonene du ønsker å formatere"
-#: ../install_steps_interactive.pm_.c:498
+#: ../install_steps_interactive.pm_.c:502
#, c-format
msgid "Insert a floppy in drive %s"
msgstr ""
-#: ../install_steps_interactive.pm_.c:499
+#: ../install_steps_interactive.pm_.c:503
#, fuzzy
msgid "Creating bootdisk"
msgstr "Opprett oppstartdiskett"
-#: ../install_steps_interactive.pm_.c:506
+#: ../install_steps_interactive.pm_.c:510
msgid "First sector of boot partition"
msgstr ""
-#: ../install_steps_interactive.pm_.c:506
+#: ../install_steps_interactive.pm_.c:510
msgid "First sector of drive"
msgstr ""
-#: ../install_steps_interactive.pm_.c:509
+#: ../install_steps_interactive.pm_.c:513
#, fuzzy
msgid "Lilo Installation"
msgstr "Installerer"
-#: ../install_steps_interactive.pm_.c:510
+#: ../install_steps_interactive.pm_.c:514
#, fuzzy
msgid "Where do you want to install the bootloader?"
msgstr "Hvor vil du montere %s enheten?"
-#: ../install_steps_interactive.pm_.c:521
+#: ../install_steps_interactive.pm_.c:525
msgid ""
"Congratulations, installation is complete.\n"
"Remove the boot media and press return to reboot.\n"
@@ -1504,58 +1513,58 @@ msgid ""
"install chapter of the Official Linux Mandrake User's Guide."
msgstr ""
-#: ../install_steps_interactive.pm_.c:538
+#: ../install_steps_interactive.pm_.c:542
#, fuzzy, c-format
msgid "What %s card have you?"
msgstr "Hva slags scsi-kort har du?"
-#: ../install_steps_interactive.pm_.c:550
+#: ../install_steps_interactive.pm_.c:554
msgid "Autoprobe"
msgstr ""
-#: ../install_steps_interactive.pm_.c:550
+#: ../install_steps_interactive.pm_.c:554
msgid "Specify options"
msgstr ""
-#: ../install_steps_interactive.pm_.c:563
+#: ../install_steps_interactive.pm_.c:567
msgid "Module options:"
msgstr ""
-#: ../install_steps_interactive.pm_.c:583
+#: ../install_steps_interactive.pm_.c:587
#, fuzzy, c-format
msgid "Installing driver for %s card %s"
msgstr "Installerer driver for scsi-kort %s"
-#: ../install_steps_interactive.pm_.c:584
+#: ../install_steps_interactive.pm_.c:588
#, c-format
msgid "(module %s)"
msgstr "(modul %s)"
-#: ../install_steps_interactive.pm_.c:596
+#: ../install_steps_interactive.pm_.c:600
#, fuzzy, c-format
msgid "Found %s %s interfaces"
msgstr " scsi grensesnitt"
-#: ../install_steps_interactive.pm_.c:597
+#: ../install_steps_interactive.pm_.c:601
msgid "Do you have another one?"
msgstr "Har du enda ett?"
-#: ../install_steps_interactive.pm_.c:598
+#: ../install_steps_interactive.pm_.c:602
#, fuzzy, c-format
msgid "Do you have an %s interface?"
msgstr "Har du et scsi grensesnitt"
-#: ../install_steps_interactive.pm_.c:600 ../interactive.pm_.c:52
+#: ../install_steps_interactive.pm_.c:604 ../interactive.pm_.c:52
#: ../my_gtk.pm_.c:326
msgid "No"
msgstr "Nei"
-#: ../install_steps_interactive.pm_.c:600 ../interactive.pm_.c:52
+#: ../install_steps_interactive.pm_.c:604 ../interactive.pm_.c:52
#: ../my_gtk.pm_.c:326
msgid "Yes"
msgstr "Ja"
-#: ../install_steps_interactive.pm_.c:601
+#: ../install_steps_interactive.pm_.c:605
msgid "See hardware info"
msgstr ""
n2149' href='#n2149'>2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951
/* vi: set sw=4 ts=4: */
/*
 * Mini insmod implementation for busybox
 *
 * Copyright (C) 1999,2000 by Lineo, inc.
 * Written by Erik Andersen <andersen@lineo.com>
 * and Ron Alder <alder@lineo.com>
 *
 * Modified by Bryan Rittmeyer <bryan@ixiacom.com> to support SH4
 * and (theoretically) SH3. Note that there is still no true
 * multiple architecture support. You just get SH3|SH4|i386, despite
 * the mention of ARM and m68k--which may or may not work (but
 * almost certainly do not, due to at least MATCH_MACHINE). I have
 * only tested SH4 in little endian mode.
 *
 * Based almost entirely on the Linux modutils-2.3.11 implementation.
 *   Copyright 1996, 1997 Linux International.
 *   New implementation contributed by Richard Henderson <rth@tamu.edu>
 *   Based on original work by Bjorn Ekwall <bj0rn@blox.se>
 *   Restructured (and partly rewritten) by:
 *   Björn Ekwall <bj0rn@blox.se> February 1999
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */

#include "../insmod.h"
#include "busybox.h"
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include <errno.h>
#include <unistd.h>
#include <dirent.h>
#include <ctype.h>
#include <assert.h>
#include <sys/utsname.h>

//----------------------------------------------------------------------------
//--------modutils module.h, lines 45-242
//----------------------------------------------------------------------------

/* Definitions for the Linux module syscall interface.
   Copyright 1996, 1997 Linux International.

   Contributed by Richard Henderson <rth@tamu.edu>

   This file is part of the Linux modutils.

   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by the
   Free Software Foundation; either version 2 of the License, or (at your
   option) any later version.

   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */


#ifndef MODUTILS_MODULE_H
#define MODUTILS_MODULE_H 1

#ident "$Id$"

/* This file contains the structures used by the 2.0 and 2.1 kernels.
   We do not use the kernel headers directly because we do not wish
   to be dependant on a particular kernel version to compile insmod.  */


/*======================================================================*/
/* The structures used by Linux 2.0.  */

/* The symbol format used by get_kernel_syms(2).  */
struct old_kernel_sym
{
  unsigned long value;
  char name[60];
};

struct old_module_ref
{
  unsigned long module;		/* kernel addresses */
  unsigned long next;
};

struct old_module_symbol
{
  unsigned long addr;
  unsigned long name;
};

struct old_symbol_table
{
  int size;			/* total, including string table!!! */
  int n_symbols;
  int n_refs;
  struct old_module_symbol symbol[0]; /* actual size defined by n_symbols */
  struct old_module_ref ref[0];	/* actual size defined by n_refs */
};

struct old_mod_routines
{
  unsigned long init;
  unsigned long cleanup;
};

struct old_module
{
  unsigned long next;
  unsigned long ref;		/* the list of modules that refer to me */
  unsigned long symtab;
  unsigned long name;
  int size;			/* size of module in pages */
  unsigned long addr;		/* address of module */
  int state;
  unsigned long cleanup;	/* cleanup routine */
};

/* Sent to init_module(2) or'ed into the code size parameter.  */
#define OLD_MOD_AUTOCLEAN 0x40000000 /* big enough, but no sign problems... */

int get_kernel_syms(struct old_kernel_sym *);
int old_sys_init_module(const char *name, char *code, unsigned codesize,
			struct old_mod_routines *, struct old_symbol_table *);

/*======================================================================*/
/* For sizeof() which are related to the module platform and not to the
   environment isnmod is running in, use sizeof_xx instead of sizeof(xx).  */

#define tgt_sizeof_char		sizeof(char)
#define tgt_sizeof_short	sizeof(short)
#define tgt_sizeof_int		sizeof(int)
#define tgt_sizeof_long		sizeof(long)
#define tgt_sizeof_char_p	sizeof(char *)
#define tgt_sizeof_void_p	sizeof(void *)
#define tgt_long		long

#if defined(__sparc__) && !defined(__sparc_v9__) && defined(ARCH_sparc64)
#undef tgt_sizeof_long
#undef tgt_sizeof_char_p
#undef tgt_sizeof_void_p
#undef tgt_long
#define tgt_sizeof_long		8
#define tgt_sizeof_char_p	8
#define tgt_sizeof_void_p	8
#define tgt_long		long long
#endif

/*======================================================================*/
/* The structures used in Linux 2.1.  */

/* Note: new_module_symbol does not use tgt_long intentionally */
struct new_module_symbol
{
  unsigned long value;
  unsigned long name;
};

struct new_module_persist;

struct new_module_ref
{
  unsigned tgt_long dep;		/* kernel addresses */
  unsigned tgt_long ref;
  unsigned tgt_long next_ref;
};

struct new_module
{
  unsigned tgt_long size_of_struct;	/* == sizeof(module) */
  unsigned tgt_long next;
  unsigned tgt_long name;
  unsigned tgt_long size;

  tgt_long usecount;
  unsigned tgt_long flags;		/* AUTOCLEAN et al */

  unsigned nsyms;
  unsigned ndeps;

  unsigned tgt_long syms;
  unsigned tgt_long deps;
  unsigned tgt_long refs;
  unsigned tgt_long init;
  unsigned tgt_long cleanup;
  unsigned tgt_long ex_table_start;
  unsigned tgt_long ex_table_end;
#ifdef __alpha__
  unsigned tgt_long gp;
#endif
  /* Everything after here is extension.  */
  unsigned tgt_long persist_start;
  unsigned tgt_long persist_end;
  unsigned tgt_long can_unload;
  unsigned tgt_long runsize;
};

struct new_module_info
{
  unsigned long addr;
  unsigned long size;
  unsigned long flags;
	   long usecount;
};

/* Bits of module.flags.  */
#define NEW_MOD_RUNNING		1
#define NEW_MOD_DELETED		2
#define NEW_MOD_AUTOCLEAN	4
#define NEW_MOD_VISITED		8
#define NEW_MOD_USED_ONCE	16

int new_sys_init_module(const char *name, const struct new_module *);
int query_module(const char *name, int which, void *buf, size_t bufsize,
		 size_t *ret);

/* Values for query_module's which.  */

#define QM_MODULES	1
#define QM_DEPS		2
#define QM_REFS		3
#define QM_SYMBOLS	4
#define QM_INFO		5

/*======================================================================*/
/* The system calls unchanged between 2.0 and 2.1.  */

unsigned long create_module(const char *, size_t);
int delete_module(const char *);


#endif /* module.h */

//----------------------------------------------------------------------------
//--------end of modutils module.h
//----------------------------------------------------------------------------



//----------------------------------------------------------------------------
//--------modutils obj.h, lines 253-462
//----------------------------------------------------------------------------

/* Elf object file loading and relocation routines.
   Copyright 1996, 1997 Linux International.

   Contributed by Richard Henderson <rth@tamu.edu>

   This file is part of the Linux modutils.

   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by the
   Free Software Foundation; either version 2 of the License, or (at your
   option) any later version.

   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */


#ifndef MODUTILS_OBJ_H
#define MODUTILS_OBJ_H 1

#ident "$Id$"

/* The relocatable object is manipulated using elfin types.  */

#include <stdio.h>
#include <elf.h>


/* Machine-specific elf macros for i386 et al.  */

/* the SH changes have only been tested on the SH4 in =little endian= mode */
/* I'm not sure about big endian, so let's warn: */

#if (defined(__SH4__) || defined(__SH3__)) && defined(__BIG_ENDIAN__)
#error insmod.c may require changes for use on big endian SH4/SH3
#endif

/* it may or may not work on the SH1/SH2... So let's error on those
   also */
#if (defined(__sh__) && (!(defined(__SH3__) || defined(__SH4__))))
#error insmod.c may require changes for non-SH3/SH4 use
#endif

#define ELFCLASSM	ELFCLASS32
#define ELFDATAM	ELFDATA2LSB



#if defined(__sh__)

#define MATCH_MACHINE(x) (x == EM_SH)
#define SHT_RELM	SHT_RELA
#define Elf32_RelM	Elf32_Rela

#else

/* presumably we can use these for anything but the SH */
/* this is the previous behavior, but it does result in
   insmod.c being broken on anything except i386 */

#define MATCH_MACHINE(x)  (x == EM_386)
#define SHT_RELM	SHT_REL
#define Elf32_RelM	Elf32_Rel

#endif

#ifndef ElfW
# if ELFCLASSM == ELFCLASS32
#  define ElfW(x)  Elf32_ ## x
#  define ELFW(x)  ELF32_ ## x
# else
#  define ElfW(x)  Elf64_ ## x
#  define ELFW(x)  ELF64_ ## x
# endif
#endif

/* For some reason this is missing from libc5.  */
#ifndef ELF32_ST_INFO
# define ELF32_ST_INFO(bind, type)       (((bind) << 4) + ((type) & 0xf))
#endif

#ifndef ELF64_ST_INFO
# define ELF64_ST_INFO(bind, type)       (((bind) << 4) + ((type) & 0xf))
#endif

struct obj_string_patch;
struct obj_symbol_patch;

struct obj_section
{
  ElfW(Shdr) header;
  const char *name;
  char *contents;
  struct obj_section *load_next;
  int idx;
};

struct obj_symbol
{
  struct obj_symbol *next;	/* hash table link */
  const char *name;
  unsigned long value;
  unsigned long size;
  int secidx;			/* the defining section index/module */
  int info;
  int ksymidx;			/* for export to the kernel symtab */
  int referenced;		/* actually used in the link */
};

/* Hardcode the hash table size.  We shouldn't be needing so many
   symbols that we begin to degrade performance, and we get a big win
   by giving the compiler a constant divisor.  */

#define HASH_BUCKETS  521

struct obj_file
{
  ElfW(Ehdr) header;
  ElfW(Addr) baseaddr;
  struct obj_section **sections;
  struct obj_section *load_order;
  struct obj_section **load_order_search_start;
  struct obj_string_patch *string_patches;
  struct obj_symbol_patch *symbol_patches;
  int (*symbol_cmp)(const char *, const char *);
  unsigned long (*symbol_hash)(const char *);
  unsigned long local_symtab_size;
  struct obj_symbol **local_symtab;
  struct obj_symbol *symtab[HASH_BUCKETS];
};

enum obj_reloc
{
  obj_reloc_ok,
  obj_reloc_overflow,
  obj_reloc_dangerous,
  obj_reloc_unhandled
};

struct obj_string_patch
{
  struct obj_string_patch *next;
  int reloc_secidx;
  ElfW(Addr) reloc_offset;
  ElfW(Addr) string_offset;
};

struct obj_symbol_patch
{
  struct obj_symbol_patch *next;
  int reloc_secidx;
  ElfW(Addr) reloc_offset;
  struct obj_symbol *sym;
};


/* Generic object manipulation routines.  */

unsigned long obj_elf_hash(const char *);

unsigned long obj_elf_hash_n(const char *, unsigned long len);

struct obj_symbol *obj_add_symbol (struct obj_file *f, const char *name,
				   unsigned long symidx, int info, int secidx,
				   ElfW(Addr) value, unsigned long size);

struct obj_symbol *obj_find_symbol (struct obj_file *f,
					 const char *name);

ElfW(Addr) obj_symbol_final_value(struct obj_file *f,
				  struct obj_symbol *sym);

void obj_set_symbol_compare(struct obj_file *f,
			    int (*cmp)(const char *, const char *),
			    unsigned long (*hash)(const char *));

struct obj_section *obj_find_section (struct obj_file *f,
					   const char *name);

void obj_insert_section_load_order (struct obj_file *f,
				    struct obj_section *sec);

struct obj_section *obj_create_alloced_section (struct obj_file *f,
						const char *name,
						unsigned long align,
						unsigned long size);

struct obj_section *obj_create_alloced_section_first (struct obj_file *f,
						      const char *name,
						      unsigned long align,
						      unsigned long size);

void *obj_extend_section (struct obj_section *sec, unsigned long more);

int obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
		     const char *string);

int obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
		     struct obj_symbol *sym);

int obj_check_undefineds(struct obj_file *f);

void obj_allocate_commons(struct obj_file *f);

unsigned long obj_load_size (struct obj_file *f);

int obj_relocate (struct obj_file *f, ElfW(Addr) base);

struct obj_file *obj_load(FILE *f);

int obj_create_image (struct obj_file *f, char *image);

/* Architecture specific manipulation routines.  */

struct obj_file *arch_new_file (void);

struct obj_section *arch_new_section (void);

struct obj_symbol *arch_new_symbol (void);

enum obj_reloc arch_apply_relocation (struct obj_file *f,
				      struct obj_section *targsec,
				      struct obj_section *symsec,
				      struct obj_symbol *sym,
				      ElfW(RelM) *rel, ElfW(Addr) value);

int arch_create_got (struct obj_file *f);

struct new_module;
int arch_init_module (struct obj_file *f, struct new_module *);

#endif /* obj.h */
//----------------------------------------------------------------------------
//--------end of modutils obj.h
//----------------------------------------------------------------------------





#define _PATH_MODULES	"/lib/modules"
#define STRVERSIONLEN	32

#if !defined(BB_FEATURE_INSMOD_NEW_KERNEL) && !defined(BB_FEATURE_INSMOD_OLD_KERNEL)
#error "Must have ether BB_FEATURE_INSMOD_NEW_KERNEL or BB_FEATURE_INSMOD_OLD_KERNEL defined"
#endif

/*======================================================================*/

int flag_force_load = 1;
int flag_autoclean = 0;
int flag_export = 1;


/*======================================================================*/

/* previously, these were named i386_* but since we could be
   compiling for the sh, I've renamed them to the more general
   arch_* These structures are the same between the x86 and SH, 
   and we can't support anything else right now anyway. In the
   future maybe they should be #if defined'd */

struct arch_got_entry {
	int offset;
	unsigned offset_done:1;
	unsigned reloc_done:1;
};

struct arch_file {
	struct obj_file root;
	struct obj_section *got;
};

struct arch_symbol {
	struct obj_symbol root;
	struct arch_got_entry gotent;
};


struct external_module {
	const char *name;
	ElfW(Addr) addr;
	int used;
	size_t nsyms;
	struct new_module_symbol *syms;
};

struct new_module_symbol *ksyms;
size_t nksyms;

struct external_module *ext_modules;
int n_ext_modules;
int n_ext_modules_used;



/* Some firendly syscalls to cheer everyone's day...  */
#define __NR_new_sys_init_module  __NR_init_module
_syscall2(int, new_sys_init_module, const char *, name,
		  const struct new_module *, info)
#define __NR_old_sys_init_module  __NR_init_module
_syscall5(int, old_sys_init_module, const char *, name, char *, code,
		  unsigned, codesize, struct old_mod_routines *, routines,
		  struct old_symbol_table *, symtab)
#ifndef BB_RMMOD
_syscall1(int, delete_module, const char *, name)
#else
extern int delete_module(const char *);
#endif

/* This is kind of troublesome. See, we don't actually support
   the m68k or the arm the same way we support i386 and (now)
   sh. In doing my SH patch, I just assumed that whatever works
   for i386 also works for m68k and arm since currently insmod.c
   does nothing special for them. If this isn't true, the below
   line is rather misleading IMHO, and someone should either
   change it or add more proper architecture-dependent support
   for these boys.

   -- Bryan Rittmeyer <bryan@ixiacom.com>                    */

#if defined(__i386__) || defined(__m68k__) || defined(__arm__)
/* Jump through hoops to fixup error return codes */
#define __NR__create_module  __NR_create_module
static inline _syscall2(long, _create_module, const char *, name, size_t,
						size)
unsigned long create_module(const char *name, size_t size)
{
	long ret = _create_module(name, size);

	if (ret == -1 && errno > 125) {
		ret = -errno;
		errno = 0;
	}
	return ret;
}
#else
_syscall2(unsigned long, create_module, const char *, name, size_t, size)
#endif
static char m_filename[BUFSIZ + 1] = "\0";
static char m_fullName[BUFSIZ + 1] = "\0";

/*======================================================================*/


/*======================================================================*/

struct obj_file *arch_new_file(void)
{
	struct arch_file *f;
	f = xmalloc(sizeof(*f));
	f->got = NULL;
	return &f->root;
}

struct obj_section *arch_new_section(void)
{
	return xmalloc(sizeof(struct obj_section));
}

struct obj_symbol *arch_new_symbol(void)
{
	struct arch_symbol *sym;
	sym = xmalloc(sizeof(*sym));
	memset(&sym->gotent, 0, sizeof(sym->gotent));
	return &sym->root;
}

enum obj_reloc
arch_apply_relocation(struct obj_file *f,
					  struct obj_section *targsec,
					  struct obj_section *symsec,
					  struct obj_symbol *sym,
#if defined(__sh__)
		                          Elf32_Rela * rel, Elf32_Addr v)
#else
					  Elf32_Rel * rel, Elf32_Addr v)
#endif
{
	struct arch_file *ifile = (struct arch_file *) f;
	struct arch_symbol *isym = (struct arch_symbol *) sym;

	Elf32_Addr *loc = (Elf32_Addr *) (targsec->contents + rel->r_offset);
	Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
	Elf32_Addr got = ifile->got ? ifile->got->header.sh_addr : 0;

	enum obj_reloc ret = obj_reloc_ok;

	switch (ELF32_R_TYPE(rel->r_info)) {

/* even though these constants seem to be the same for
   the i386 and the sh, we "#if define" them for clarity
   and in case that ever changes */
#if defined(__sh__)
	case R_SH_NONE:
#else
	case R_386_NONE:
#endif