diff --git a/distrib/utils/sysinst/arch/mac68k/Makefile b/distrib/utils/sysinst/arch/mac68k/Makefile index ecdc12f4a373..8c6633cb4770 100644 --- a/distrib/utils/sysinst/arch/mac68k/Makefile +++ b/distrib/utils/sysinst/arch/mac68k/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.6 2003/06/27 22:20:18 dsl Exp $ +# $NetBSD: Makefile,v 1.7 2004/03/04 14:28:49 martin Exp $ # # Makefile for mac68k # @@ -10,6 +10,6 @@ SRCS= menu_defs.c msg_defs.c main.c install.c upgrade.c \ label.c target.c md.c aout2elf.c sizemultname.c MD_OPTIONS= AOUT2ELF -LANGUAGES= en pl +LANGUAGES= en pl de .include "../../Makefile.inc" diff --git a/distrib/utils/sysinst/arch/mac68k/menus.md.de b/distrib/utils/sysinst/arch/mac68k/menus.md.de new file mode 100644 index 000000000000..07a9a77917a3 --- /dev/null +++ b/distrib/utils/sysinst/arch/mac68k/menus.md.de @@ -0,0 +1,335 @@ +/* $NetBSD: menus.md.de,v 1.1 2004/03/04 14:28:49 martin Exp $ */ + +/* + * Copyright 1997 Piermont Information Systems Inc. + * All rights reserved. + * + * Written by Philip A. Nelson for Piermont Information Systems Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed for the NetBSD Project by + * Piermont Information Systems Inc. + * 4. The name of Piermont Information Systems Inc. may not be used to endorse + * or promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY PIERMONT INFORMATION SYSTEMS INC. ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PIERMONT INFORMATION SYSTEMS INC. BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* Menu definitions for sysinst. mac68k version, machine dependent. */ + +menu fullpart, title "Bitte wählen Sie"; + option "Nur einen Teil der Disk nutzen", exit, action {usefull = 0;}; + option "Die ganze Disk für NetBSD verwenden", exit, action {usefull = 1;}; + +menu nodiskmap, title "Bitte wählen Sie", y=16; + display action { msg_display (MSG_nodiskmap, diskdev); }; + option "Installation abbrechen", exit, action { + endwin(); exit(1); + }; + option "Initialisiere Disk Partition Map", exit, action { + int i; + + msg_clear(); + msg_display (MSG_okwritediskmap); + process_menu (MENU_okabort, NULL); + if (!yesno) { + endwin(); + return 0; + } + map.size = NEW_MAP_SIZE; + map.in_use_cnt = new_map[0].pmMapBlkCnt; + map.blk = (struct apple_part_map_entry *)calloc(map.size, + sizeof(struct apple_part_map_entry)); + for (i=0;i= map.usable_cnt) + map.selected = 0; + disp_selected_part (map.selected); + }; + option "Nächste Partition auswählen", action { + map.selected += 1; + if (map.selected >= map.usable_cnt) + map.selected = 0; + }; + option "Ausgewählte Partition bearbeiten", sub menu chooseid; + option "Mount Point festlegen", sub menu mount_point; + option "Gewählte Partition unterteilen", action { + int i, j, k, size, free_size; + char buf[40]; + EBZB *bzb; + + j = map.mblk[map.selected]; + msg_display(MSG_split_part, map.blk[j].pmPartBlkCnt); + msg_prompt_add (MSG_scratch_size, NULL, buf, sizeof(buf)); + size = atoi(buf); + if (size > 0 && size < map.blk[j].pmPartBlkCnt) { + k = map.in_use_cnt+1; + if (k <= map.size) { + memcpy (&map.blk[k], &map.blk[j], + sizeof(struct apple_part_map_entry)); + free_size = map.blk[j].pmPartBlkCnt - size; + strcpy (map.blk[j].pmPartType, "Apple_Scratch"); + map.blk[j].pmPartBlkCnt = size; + map.blk[j].pmDataCnt = size; + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = 0; + bzb->mount_point[0] = '\0'; + strcpy (map.blk[k].pmPartType, "Apple_Free"); + map.blk[k].pmPyPartStart += size; + if ((map.blk[k].pmPyPartStart + free_size) > dlsize) + map.blk[k].pmPartBlkCnt = + dlsize - map.blk[k].pmPyPartStart; + else + map.blk[k].pmPartBlkCnt = free_size; + map.blk[k].pmDataCnt = map.blk[k].pmPartBlkCnt; + bzb = (EBZB *)&map.blk[k].pmBootArgs[0]; + bzb->magic = 0; + bzb->mount_point[0] = '\0'; + map.in_use_cnt += 1; /* Count new part as usable */ + sortmerge(); + } else { + msg_display (MSG_diskfull); + process_menu (MENU_okabort, NULL); + if (!yesno) { + free (map.blk); + map.size = NEW_MAP_SIZE; + map.in_use_cnt = new_map[0].pmMapBlkCnt; + map.blk = (struct apple_part_map_entry *)calloc(map.size, + sizeof(struct apple_part_map_entry)); + for (i=0;iflags.part, + map.blk[i].pmPyPartStart, + map.blk[i].pmPartBlkCnt); + if ((map.blk[i].pmPyPartStart + + map.blk[i].pmPartBlkCnt) > dlsize) { + msg_display_add(MSG_parttable_fix_fixing, + diskdev, bzb->flags.part); + map.blk[i].pmPartBlkCnt = + dlsize - map.blk[i].pmPyPartStart; + map.blk[i].pmDataCnt = + map.blk[i].pmPartBlkCnt; + } else { + msg_display_add(MSG_parttable_fix_fine, + diskdev, bzb->flags.part); + } + process_menu(MENU_ok, NULL); + }; + + +menu ok2, title "Abbrechen?", y=17; + option "OK", exit, action { }; + +menu okabort, title "Was möchten Sie?", y=17; + option "Fortfahren", exit, action { yesno = 1; }; + option "Installation abbrechen", exit, action { yesno = 0; }; + +menu chooseid, title "Partitions Typ?"; + option "NetBSD Root", exit, action { + int i, j; + EBZB *bzb; + + j = map.mblk[map.selected]; + reset_part_flags(&map.blk[j]); + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = APPLE_BZB_MAGIC; + strcpy (map.blk[j].pmPartName, "NetBSD Root"); + strcpy (map.blk[j].pmPartType, "Apple_Unix_SVR2"); + bzb->type = APPLE_BZB_TYPEFS; + bzb->flags.root = 1; + /* + * Automatically determine root mount points. The first + * root-type filesystem is mounted on "/", all others + * will mount on "/altroot". If there are multiple + * occurances of "/altroot" they will be picked up on + * the sanity_scan in the next step of the installation. + */ + for (i=0,map.root_cnt=0;itype == APPLE_BZB_TYPEFS && bzb->flags.root) { + if (map.root_cnt++ == 0) + strcpy (bzb->mount_point, "/"); + else + strcpy (bzb->mount_point, "/altroot"); + } + } + } }; + option "NetBSD SWAP", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + reset_part_flags(&map.blk[j]); + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = APPLE_BZB_MAGIC; + strcpy (map.blk[j].pmPartName, "NetBSD SWAP"); + strcpy (map.blk[j].pmPartType, "Apple_Unix_SVR2"); + bzb->type = APPLE_BZB_TYPESWAP; }; + option "NetBSD Usr", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + reset_part_flags(&map.blk[j]); + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = APPLE_BZB_MAGIC; + strcpy (map.blk[j].pmPartName, "NetBSD Usr"); + strcpy (map.blk[j].pmPartType, "Apple_Unix_SVR2"); + bzb->type = APPLE_BZB_TYPEFS; + bzb->flags.usr = 1; + if (map.usr_cnt++ == 0) + strcpy (bzb->mount_point, "/usr"); + }; + option "NetBSD Root&Usr", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + reset_part_flags(&map.blk[j]); + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = APPLE_BZB_MAGIC; + strcpy (map.blk[j].pmPartName, "NetBSD Root & Usr"); + strcpy (map.blk[j].pmPartType, "Apple_Unix_SVR2"); + bzb->type = APPLE_BZB_TYPEFS; + bzb->flags.root = 1; + bzb->flags.usr = 1; + if (map.root_cnt++ == 0) + strcpy (bzb->mount_point, "/"); + else { + if (map.usr_cnt++ == 0) + strcpy (bzb->mount_point, "/usr"); + } }; + option "MacOS HFS", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + reset_part_flags(&map.blk[j]); + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = 0; + bzb->mount_point[0] = '\0'; + strcpy (map.blk[j].pmPartName, "untitled (HFS)"); + strcpy (map.blk[j].pmPartType, "Apple_HFS"); }; + option "Scratch", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + reset_part_flags(&map.blk[j]); + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = 0; + bzb->mount_point[0] = '\0'; + strcpy (map.blk[j].pmPartName, "untitled (Scratch)"); + strcpy (map.blk[j].pmPartType, "Apple_Scratch"); }; + option "Free", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + reset_part_flags(&map.blk[j]); + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->magic = 0; + bzb->mount_point[0] = '\0'; + strcpy (map.blk[j].pmPartName, "untitled (Free)"); + strcpy (map.blk[j].pmPartType, "Apple_Free"); }; + +menu mount_point, title "Mount Point?"; + option "/usr", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + strcpy (bzb->mount_point, "/usr"); }; + option "/home", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + strcpy (bzb->mount_point, "/home"); }; + option "/var", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + strcpy (bzb->mount_point, "/var"); }; + option "/tmp", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + strcpy (bzb->mount_point, "/tmp"); }; + option "Keiner", exit, action { + int j; + EBZB *bzb; + + j = map.mblk[map.selected]; + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + bzb->mount_point[0] = '\0'; }; + option "sonstige", exit, action { + int j; + char buf[60]; + EBZB *bzb; + + msg_display (MSG_custom_mount_point); + msg_prompt_add (MSG_mountpoint, NULL, buf, sizeof(buf)); + j = map.mblk[map.selected]; + bzb = (EBZB *)&map.blk[j].pmBootArgs[0]; + if (buf[0] != '\0') { + bzb->mount_point[0] = '\0'; + if (buf[0] != '/') + strcpy (bzb->mount_point, "/"); + strcat(bzb->mount_point, buf); + } }; + +menu sanity, title "Bitte wählen Sie"; + display action {msg_display (MSG_sanity_check); + report_errors(); }; + option "Installation abbrechen", exit, action {yesno = -1; }; + option "Warnungen ignorieren und fortfahren", exit, action {yesno = 1;}; + option "Disk Partition Map erneut ändern", exit, action {yesno = 0; }; + +/* + * This menu shouldn't be used in the mac68k port, but it needs to be + * defined because it's referenced from the toplevel code. + */ diff --git a/distrib/utils/sysinst/arch/mac68k/msg.md.de b/distrib/utils/sysinst/arch/mac68k/msg.md.de new file mode 100644 index 000000000000..dbaf4d28b4b1 --- /dev/null +++ b/distrib/utils/sysinst/arch/mac68k/msg.md.de @@ -0,0 +1,244 @@ +/* $NetBSD: msg.md.de,v 1.1 2004/03/04 14:28:49 martin Exp $ */ + +/* + * Copyright 1997 Piermont Information Systems Inc. + * All rights reserved. + * + * Written by Philip A. Nelson for Piermont Information Systems Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed for the NetBSD Project by + * Piermont Information Systems Inc. + * 4. The name of Piermont Information Systems Inc. may not be used to endorse + * or promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY PIERMONT INFORMATION SYSTEMS INC. ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PIERMONT INFORMATION SYSTEMS INC. BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* MD Message catalog -- german, mac68k version */ + +message md_hello +{ +} + +message fullpart +{NetBSD wird nun auf die Festplatte %s installiert. Sie +können die gesamte Disk oder nur einen Teil davon für NetBSD +verwenden. +Ihre Wahl? +} + +message nodiskmap +{Die Festplatte %s ist anscheinend nicht für die Verwendung mit MacOS +initialisiert worden. Dieses Programm benutzt das Disk-Layout aus +der Disk Partition Map, die vom MacOS Formatierungsprogramm beim +Initialisieren der Festplatte geschrieben wird. +Sie können nun: + +* Die Installation abbrechen. Sie können die Disk mit einem beliebigen +Formatierungsprogramm initialisieren. Partitionen müssen nicht als +A/UX definiert sein, das NetBSD Installationsprogramm bietet Ihnen +später, wenn nötig, die Überarbeitung der Partitionstypen an. + +* Sysinst erlauben, die Disk Partition Map auf die Disk zu schreiben. +Diese Disk wird dann nicht für MacOS bootbar sein und kann eventuell +gar nicht mit MacOS benutzt werden, solange die MacOS Treiber nicht mit +einem MacOS-kompatiblem Formatierer installiert werden. + +} + +message okwritediskmap +{Sysinst wird ihre Disk mit einer neue Disk Partition Map initialisieren, +deren Werte vom Disk-Treiber geliefert wurden. Diese Standard Map wird +eine minimale Block0-Definition enthalten, eine Partition Map für bis +zu 15 Partitionen, sowie vordefinierte Partitionen für den Mac, Disktreiber +sowie eine minimale MacOS HFS Partition. Der Rest der Festplatte bleibt +ungenutzt. Die Disktreiber Partition wird nicht initialisiert, sodaß das +Volume nicht mit MacOS bootbar sein wird. Wenn Sie fortfahren, werden +Sie aufgefordert diese Partition Map zu editieren, so wie Sie es für die +NetBSD Installation benötigen. Die Map wird nicht auf die Festplatte +geschrieben, bis Sie die Partitionierung erfolgreich abgeschlossen haben. + +Möchten Sie fortfahren?} + +message part_header +{Part Start Größe FS-Typ verw. Dateisystem (Name) +---- ---------- ---------- ------ --------- ------------------\n} + +message part_row +{%3s%c %10d %10d %6s %-9s %s\n} + +message ovrwrite +{Ihr Disk enthält mindestens eine MacOS HFS Partition. Das überschreiben +der ganzen Festplatte wird die Disk für MacOS unbenutzbar machen. Sie +Sollten erwägen, eine kleine MacOS HFS Partition anzulegen, um +sicherzustellen, dass die Disk unter MacOS benutzt werden kann. Dies +wäre ein guter Ort, um eine Kopie NetBSD/mac68k Booter Applikation +zu speichern, mit der NetBSD von MacOS aus gestartet wird. + +Sind Sie sicher, dass Sie die MacOS HFS Partition(en) überschreiben +möchten? +} + +message editparttable +{Disk Partition Map bearbeiten: Die Map auf der Disk wurde nach +Benutzerpartition durchsucht, aber nur die für NetBSD nutzbaren werden +hier angezeigt. + +Die Partitionstabelle sieht jetzt so aus: +} + +message split_part +{Die von Ihnen gewählte Partition wird in zwei Partition unterteilt. +Eine wird den Typ Apple_Scratch erhalten, die andere den Typ Apple_Free. +Sie können dann beide Partitionstypen in beliebige andere Typen ändern. +Falls die Apple_Free Partition an eine andere Apple_Free Partition +grenzt, werden diese Partitionen automatisch zusammengefasst. + +Es gibt %d Disk Blöcke in der gewählten Partition. Geben Sie ein, wieviel +Blöcke davon in die Apple_Scratch Partition übernommen werden sollen. +Wenn Sie 0 oder einen zu großen Wert angeben, bleibt die Partition +unverändert. + +} + +message scratch_size +{Größe des Apple_Scratch Teiles beim Unterteilen} + +message diskfull +{Sie haben versucht, eine existierende Partition in zwei Teile aufzuteilen, +aber in der Disk Partition Map ist kein Platz für den zweiten Teil. +Wahrscheinlich hat Ihr Diskformatierer nicht genug zusätzlichen Platz +in der Original Disk Partition Map für zukünftige Erweiterungen +reserviert. Sie können nun: + +* Die Partition nicht aufteilen und mit der aktuellen Disk Partiton Map +weiterarbeiten, oder + +* Sysinst gestatten, die neue Disk Map zu schreiben. Dadurch werden +alle auf der Disk exisitierenden Daten gelöscht. VORSICHT! + +Möchten Sie die Teilung dieser Partition abbrechen?} + +message custom_mount_point +{Wählen Sie einen Mount Point für die ausgewählte Partition. Dies sollte +ein eindeutiger Name sein, der mit "/" beginnt und der nicht für andere +Partitionen benutzt wird. + +} + +message sanity_check +{Beim Erstellen eines disklabels für Ihr Laufwerk sind Probleme aufgetreten. +Sie können diese ignorieren und fortfahren, aber dadurch wird die +Installation eventuell fehlschlagen. Folgende Probleme wurden festgestellt: + +} + +message dodiskmap +{Erstelle die Disk Partition Map ... +} + +message label_error +{Das neu auf der Disk gespeicherte disklabel stimmt nicht mit der aktuell +geladenen Version überein. Jeder Versuch fortzufahren wird mit hoher +Wahrscheinlichkeit zum Verlust der Daten auf allen bereits existierenden +Partitionen führen. Da Ihre neue Disk Partition Map bereits auf Disk +geschrieben wurde, wird sie beim nächsten Start verfügbar sein. Bitte +starten Sie daher jetzt den Computer neu und führen Sie die Installation +erneut aus. +} + +.if debug +message mapdebug +{Partition Map: +HFS count: %d +Root count: %d +Swap count: %d +Usr count: %d +Usable count: %d +} + +message dldebug +{Disklabel: +bsize: %d +dlcyl: %d +dlhead: %d +dlsec: %d +dlsize: %d +} + +message newfsdebug +{Running newfs on partition: %s\n +} + +message geomdebug +{Calling: %s %s\n +} + +message geomdebug2 +{Calling: %s %d\n" +} +.endif + +message partdebug +{Partition %s%c: +Offset: %d +Size: %d +} + +message disksetup_no_root +{* No Disk Partition defined for Root!\n} + +message disksetup_multiple_roots +{* Multiple Disk Partitions defined for Root\n} + +message disksetup_no_swap +{* No Disk Partition defined for SWAP!\n} + +message disksetup_multiple_swaps +{* Multiple Disk Partitions defined for SWAP\n} + +message disksetup_part_beginning +{* Partition %s%c begins beyond end of disk\n} + +message disksetup_part_size +{* Partition %s%c extends beyond end of disk\n} + +message disksetup_noerrors +{** No errors or anomalies found in disk setup.\n} + +message parttable_fix_fixing +{Fixing partition %s%c\n} + +message parttable_fix_fine +{Partition %s%c is just fine!\n} + +message dump_line +{%s\n} + +message set_kernel_1 +{Kernel (GENERIC)} +message set_kernel_2 +{Kernel (GENERICSBC)} +