Klonen von OpenSTEP 4.2 auf die ersten 8GB einer > 9GB Platte



Hier beschreibe ich, wie man von einem existierenden OpenStep System einen boot-fähigen Klon erzeugen kann. Das ist wesentlich einfacher, als sich mit Floppies, CDROMs und alten boot-Dateien abzumühen.  Wenn man kein laufendes OpenStep System hat, dann muss man sich hochhangeln und wie das geht, habe ich schon in einem anderen Artikel beschrieben.

Wenn man einfach OS tun läßt, was es will, so erzeugt es eine 8GB Partition, die allerdings nicht lebensfähig ist: beim ersten fsck geht sie zu Bruch. Also beser 2*4GB Partitionen anlegen. Das ist aber garnicht so einfach.

Die OpenStep Systemplatte sei der Primary Master, die noch unbeschriebene neue Platte der primary slave. Im BIOS die Platten entsprechend zuweisen und für die neue Platte den LBA Modus verwenden.

Normaler boot des OpenStep Systems in den Multi-User mode. Dabei erkennt er schon die neue Platte und will sie initialisieren (popup Fenster), was wir aber ablehnen (Auswahl: ignore).

In einem Terminal-Fenster root (Superuser) werden. Ab jetzt hier super-genau aufpassen, was eingegeben wird!!

Ich nehme im Folgenden an, dass die laufende root Platte /dev/hd0a ist (eventuell mit noch einer /dev/hd0b Platte, was uns nicht interessiert) und dass die neue, leere Platte /dev/rhd1 ist. Sollten andere Laufwerksnummern verwendet werden, so ist peinlich genau darauf zu achten, dass man nicht durcheinanderkommt, denn schnell ist die laufende OpenStep Platte ruiniert!

fdisk /dev/rhd1h -useAllSectors
eine NeXTSTEP Partition mit 8055 Länge erzeugen.
Abspeichern.



pet:6# fdisk /dev/rhd1h -useAllSectors
NeXT fdisk v1.02

Device: /dev/rhd1h
No partitions in use

Unused Blocks     Start   Size
-------------------------------
Free Space           0    8056

Fdisk main menu
----------------
1) Create a new partition
2) Delete a partition
3) Set the active partition
4) Show disk information
5) Quit without saving changes
6) Save changes and quit

Enter 1-6: 1

Create Partition
-----------------
1) Create a NEXTSTEP partition
2) Create a non-NEXTSTEP partition

Enter 1 or 2: 1

The maximum available size for a new partition
is 8056 megabytes.
Enter the desired size, or 0 to cancel: 8055

Device: /dev/rhd1h

Type              Start   Size    Status
--------------------------------------------
NEXTSTEP             0    8056    Active

Fdisk main menu
----------------
1) Create a new partition
2) Delete a partition
3) Set the active partition
4) Show disk information
5) Quit without saving changes
6) Save changes and quit

Enter 1-6: 6
Really write changes? y
Saving changes




Jetzt müssen wir das disk label schreiben. Dies geht gut mit einem disktab Eintrag. Am besten das file disktab nach /etc/disktab kopieren. Der Eintrag "ibm" kann für alle Platten mit mehr als 9GB Größe verwendet werden. Wie man selbst einen disktab-Eintrag konstruiert ist hier beschrieben.

Disk label aus /etc/disktab schreiben:
disk -t ibm -f -u /dev/rhd1a

domi:10# disk -t ibm -f -u /dev/rhd1h
disk name: ibm
disk type: fixed_rw_ide
Disk utility

disk> la
label information: print, write? pr
current label information on disk:
disk label version #3
disk label:
disk name:
disk type:
ncyls 0 ntrack 0 nsect 0 rpm 0
sector_size 0 front_porch 0 back_porch 0
ngroups 0 ag_size 0 ag_alts 0 ag_off 0
boot blocks: #1 at 0 #2 at 0
part   base   size bsize fsize cpg density minfree newfs optim automount type
a         0      0     0     0   0       0      0%    no  time        no
b         0      0     0     0   0       0      0%    no  time        no
c         0      0     0     0   0       0      0%    no  time        no
d         0      0     0     0   0       0      0%    no  time        no
e         0      0     0     0   0       0      0%    no  time        no
f         0      0     0     0   0       0      0%    no  time        no
g         0      0     0     0   0       0      0%    no  time        no
h         0      0     0     0   0       0      0%    no  time        no
disk> la
label information: print, write? w
enter host name: matlab
enter disk label: root
WARNING: using information from /etc/disktab to construct new disk label.
If all you want to do is change the host name or label name, then use the
"host" or "name" commands.  If the information in /etc/disktab doesn't
match the disk geometry specified by the current disk label then the disk
contents may be unreadable.
OK to construct new disk label? y
writing disk label
disk> la
label information: print, write? p
current label information on disk:
disk label version #3
disk label: root
disk name: IBM-DTLA-305020
disk type: fixed_rw_ide
ncyls 16383 ntrack 16 nsect 63 rpm 5400
sector_size 512 front_porch 320 back_porch 0
ngroups 0 ag_size 0 ag_alts 0 ag_off 0
boot blocks: #1 at 127 #2 at 255
bootfile: mach_kernel
host name: matlab
root partition: a
read/write partition: b
part   base   size bsize fsize cpg density minfree newfs optim automount type
a        63 8249186  8192  1024  16    4096      2%   yes  time        no 4.3BSD
mount point: ibm1
b    8249249 8248866  8192  1024  16    4096      2%   yes  time        no 4.3BSD
mount point: ibm2
disk> quit

Jetzt formatieren wir die beiden Partitionen:
/usr/etc/newfs -n -v /dev/rhd1a
/usr/etc/newfs -n -v /dev/rhd1b

domi:11# newfs -n -v /dev/rhd1a
setting optimization for space with minfree less than 10
/etc/mkfs /dev/rhd1a 8249186 63 16 8192 1024 16 2 90 4096 s
Warning: 286 sector(s) in last cylinder unallocated
/dev/rhd1a:     8249186 sectors in 8184 cylinders of 16 tracks, 63 sectors
4027.9Mb in 512 cyl groups (16 c/g, 7.88Mb/g, 1984 i/g)
super-block backups (for fsck -b#) at:
32, 16224, 32416, 48608, 64800, 80992, 97184, 113376, 129568, 145760,
161952, 178144, 194336, 210528, 226720, 242912, 258080, 274272, 290464, 306656,
322848, 339040, 355232, 371424, 387616, 403808, 420000, 436192, 452384, 468576,
484768, 500960, 516128, 532320, 548512, 564704, 580896, 597088, 613280, 629472,
645664, 661856, 678048, 694240, 710432, 726624, 742816, 759008, 774176, 790368,
806560, 822752, 838944, 855136, 871328, 887520, 903712, 919904, 936096, 952288,
968480, 984672, 1000864, 1017056, 1032224, 1048416, 1064608, 1080800, 1096992, 1113184,
1129376, 1145568, 1161760, 1177952, 1194144, 1210336, 1226528, 1242720, 1258912, 1275104,
1290272, 1306464, 1322656, 1338848, 1355040, 1371232, 1387424, 1403616, 1419808, 1436000,
1452192, 1468384, 1484576, 1500768, 1516960, 1533152, 1548320, 1564512, 1580704, 1596896,
1613088, 1629280, 1645472, 1661664, 1677856, 1694048, 1710240, 1726432, 1742624, 1758816,
1775008, 1791200, 1806368, 1822560, 1838752, 1854944, 1871136, 1887328, 1903520, 1919712,
1935904, 1952096, 1968288, 1984480, 2000672, 2016864, 2033056, 2049248, 2064416, 2080608,
2096800, 2112992, 2129184, 2145376, 2161568, 2177760, 2193952, 2210144, 2226336, 2242528,
2258720, 2274912, 2291104, 2307296, 2322464, 2338656, 2354848, 2371040, 2387232, 2403424,
2419616, 2435808, 2452000, 2468192, 2484384, 2500576, 2516768, 2532960, 2549152, 2565344,
2580512, 2596704, 2612896, 2629088, 2645280, 2661472, 2677664, 2693856, 2710048, 2726240,
2742432, 2758624, 2774816, 2791008, 2807200, 2823392, 2838560, 2854752, 2870944, 2887136,
2903328, 2919520, 2935712, 2951904, 2968096, 2984288, 3000480, 3016672, 3032864, 3049056,
3065248, 3081440, 3096608, 3112800, 3128992, 3145184, 3161376, 3177568, 3193760, 3209952,
3226144, 3242336, 3258528, 3274720, 3290912, 3307104, 3323296, 3339488, 3354656, 3370848,
3387040, 3403232, 3419424, 3435616, 3451808, 3468000, 3484192, 3500384, 3516576, 3532768,
3548960, 3565152, 3581344, 3597536, 3612704, 3628896, 3645088, 3661280, 3677472, 3693664,
3709856, 3726048, 3742240, 3758432, 3774624, 3790816, 3807008, 3823200, 3839392, 3855584,
3870752, 3886944, 3903136, 3919328, 3935520, 3951712, 3967904, 3984096, 4000288, 4016480,
4032672, 4048864, 4065056, 4081248, 4097440, 4113632, 4128800, 4144992, 4161184, 4177376,
4193568, 4209760, 4225952, 4242144, 4258336, 4274528, 4290720, 4306912, 4323104, 4339296,
4355488, 4371680, 4386848, 4403040, 4419232, 4435424, 4451616, 4467808, 4484000, 4500192,
4516384, 4532576, 4548768, 4564960, 4581152, 4597344, 4613536, 4629728, 4644896, 4661088,
4677280, 4693472, 4709664, 4725856, 4742048, 4758240, 4774432, 4790624, 4806816, 4823008,
4839200, 4855392, 4871584, 4887776, 4902944, 4919136, 4935328, 4951520, 4967712, 4983904,
5000096, 5016288, 5032480, 5048672, 5064864, 5081056, 5097248, 5113440, 5129632, 5145824,
5160992, 5177184, 5193376, 5209568, 5225760, 5241952, 5258144, 5274336, 5290528, 5306720,
5322912, 5339104, 5355296, 5371488, 5387680, 5403872, 5419040, 5435232, 5451424, 5467616,
5483808, 5500000, 5516192, 5532384, 5548576, 5564768, 5580960, 5597152, 5613344, 5629536,
5645728, 5661920, 5677088, 5693280, 5709472, 5725664, 5741856, 5758048, 5774240, 5790432,
5806624, 5822816, 5839008, 5855200, 5871392, 5887584, 5903776, 5919968, 5935136, 5951328,
5967520, 5983712, 5999904, 6016096, 6032288, 6048480, 6064672, 6080864, 6097056, 6113248,
6129440, 6145632, 6161824, 6178016, 6193184, 6209376, 6225568, 6241760, 6257952, 6274144,
6290336, 6306528, 6322720, 6338912, 6355104, 6371296, 6387488, 6403680, 6419872, 6436064,
6451232, 6467424, 6483616, 6499808, 6516000, 6532192, 6548384, 6564576, 6580768, 6596960,
6613152, 6629344, 6645536, 6661728, 6677920, 6694112, 6709280, 6725472, 6741664, 6757856,
6774048, 6790240, 6806432, 6822624, 6838816, 6855008, 6871200, 6887392, 6903584, 6919776,
6935968, 6952160, 6967328, 6983520, 6999712, 7015904, 7032096, 7048288, 7064480, 7080672,
7096864, 7113056, 7129248, 7145440, 7161632, 7177824, 7194016, 7210208, 7225376, 7241568,
7257760, 7273952, 7290144, 7306336, 7322528, 7338720, 7354912, 7371104, 7387296, 7403488,
7419680, 7435872, 7452064, 7468256, 7483424, 7499616, 7515808, 7532000, 7548192, 7564384,
7580576, 7596768, 7612960, 7629152, 7645344, 7661536, 7677728, 7693920, 7710112, 7726304,
7741472, 7757664, 7773856, 7790048, 7806240, 7822432, 7838624, 7854816, 7871008, 7887200,
7903392, 7919584, 7935776, 7951968, 7968160, 7984352, 7999520, 8015712, 8031904, 8048096,
8064288, 8080480, 8096672, 8112864, 8129056, 8145248, 8161440, 8177632, 8193824, 8210016,
8226208, 8242400,
domi:12#
domi:12#
domi:12#
domi:12#
domi:12#
domi:12#
domi:12# newfs -n -v /dev/rhd1b
setting optimization for space with minfree less than 10
/etc/mkfs /dev/rhd1b 8248866 63 16 8192 1024 16 2 90 4096 s
Warning: 606 sector(s) in last cylinder unallocated
/dev/rhd1b:     8248866 sectors in 8184 cylinders of 16 tracks, 63 sectors
4027.8Mb in 512 cyl groups (16 c/g, 7.88Mb/g, 1984 i/g)
super-block backups (for fsck -b#) at:
32, 16224, 32416, 48608, 64800, 80992, 97184, 113376, 129568, 145760,
161952, 178144, 194336, 210528, 226720, 242912, 258080, 274272, 290464, 306656,
322848, 339040, 355232, 371424, 387616, 403808, 420000, 436192, 452384, 468576,
484768, 500960, 516128, 532320, 548512, 564704, 580896, 597088, 613280, 629472,
645664, 661856, 678048, 694240, 710432, 726624, 742816, 759008, 774176, 790368,
806560, 822752, 838944, 855136, 871328, 887520, 903712, 919904, 936096, 952288,
968480, 984672, 1000864, 1017056, 1032224, 1048416, 1064608, 1080800, 1096992, 1113184,
1129376, 1145568, 1161760, 1177952, 1194144, 1210336, 1226528, 1242720, 1258912, 1275104,
1290272, 1306464, 1322656, 1338848, 1355040, 1371232, 1387424, 1403616, 1419808, 1436000,
1452192, 1468384, 1484576, 1500768, 1516960, 1533152, 1548320, 1564512, 1580704, 1596896,
1613088, 1629280, 1645472, 1661664, 1677856, 1694048, 1710240, 1726432, 1742624, 1758816,
1775008, 1791200, 1806368, 1822560, 1838752, 1854944, 1871136, 1887328, 1903520, 1919712,
1935904, 1952096, 1968288, 1984480, 2000672, 2016864, 2033056, 2049248, 2064416, 2080608,
2096800, 2112992, 2129184, 2145376, 2161568, 2177760, 2193952, 2210144, 2226336, 2242528,
2258720, 2274912, 2291104, 2307296, 2322464, 2338656, 2354848, 2371040, 2387232, 2403424,
2419616, 2435808, 2452000, 2468192, 2484384, 2500576, 2516768, 2532960, 2549152, 2565344,
2580512, 2596704, 2612896, 2629088, 2645280, 2661472, 2677664, 2693856, 2710048, 2726240,
2742432, 2758624, 2774816, 2791008, 2807200, 2823392, 2838560, 2854752, 2870944, 2887136,
2903328, 2919520, 2935712, 2951904, 2968096, 2984288, 3000480, 3016672, 3032864, 3049056,
3065248, 3081440, 3096608, 3112800, 3128992, 3145184, 3161376, 3177568, 3193760, 3209952,
3226144, 3242336, 3258528, 3274720, 3290912, 3307104, 3323296, 3339488, 3354656, 3370848,
3387040, 3403232, 3419424, 3435616, 3451808, 3468000, 3484192, 3500384, 3516576, 3532768,
3548960, 3565152, 3581344, 3597536, 3612704, 3628896, 3645088, 3661280, 3677472, 3693664,
3709856, 3726048, 3742240, 3758432, 3774624, 3790816, 3807008, 3823200, 3839392, 3855584,
3870752, 3886944, 3903136, 3919328, 3935520, 3951712, 3967904, 3984096, 4000288, 4016480,
4032672, 4048864, 4065056, 4081248, 4097440, 4113632, 4128800, 4144992, 4161184, 4177376,
4193568, 4209760, 4225952, 4242144, 4258336, 4274528, 4290720, 4306912, 4323104, 4339296,
4355488, 4371680, 4386848, 4403040, 4419232, 4435424, 4451616, 4467808, 4484000, 4500192,
4516384, 4532576, 4548768, 4564960, 4581152, 4597344, 4613536, 4629728, 4644896, 4661088,
4677280, 4693472, 4709664, 4725856, 4742048, 4758240, 4774432, 4790624, 4806816, 4823008,
4839200, 4855392, 4871584, 4887776, 4902944, 4919136, 4935328, 4951520, 4967712, 4983904,
5000096, 5016288, 5032480, 5048672, 5064864, 5081056, 5097248, 5113440, 5129632, 5145824,
5160992, 5177184, 5193376, 5209568, 5225760, 5241952, 5258144, 5274336, 5290528, 5306720,
5322912, 5339104, 5355296, 5371488, 5387680, 5403872, 5419040, 5435232, 5451424, 5467616,
5483808, 5500000, 5516192, 5532384, 5548576, 5564768, 5580960, 5597152, 5613344, 5629536,
5645728, 5661920, 5677088, 5693280, 5709472, 5725664, 5741856, 5758048, 5774240, 5790432,
5806624, 5822816, 5839008, 5855200, 5871392, 5887584, 5903776, 5919968, 5935136, 5951328,
5967520, 5983712, 5999904, 6016096, 6032288, 6048480, 6064672, 6080864, 6097056, 6113248,
6129440, 6145632, 6161824, 6178016, 6193184, 6209376, 6225568, 6241760, 6257952, 6274144,
6290336, 6306528, 6322720, 6338912, 6355104, 6371296, 6387488, 6403680, 6419872, 6436064,
6451232, 6467424, 6483616, 6499808, 6516000, 6532192, 6548384, 6564576, 6580768, 6596960,
6613152, 6629344, 6645536, 6661728, 6677920, 6694112, 6709280, 6725472, 6741664, 6757856,
6774048, 6790240, 6806432, 6822624, 6838816, 6855008, 6871200, 6887392, 6903584, 6919776,
6935968, 6952160, 6967328, 6983520, 6999712, 7015904, 7032096, 7048288, 7064480, 7080672,
7096864, 7113056, 7129248, 7145440, 7161632, 7177824, 7194016, 7210208, 7225376, 7241568,
7257760, 7273952, 7290144, 7306336, 7322528, 7338720, 7354912, 7371104, 7387296, 7403488,
7419680, 7435872, 7452064, 7468256, 7483424, 7499616, 7515808, 7532000, 7548192, 7564384,
7580576, 7596768, 7612960, 7629152, 7645344, 7661536, 7677728, 7693920, 7710112, 7726304,
7741472, 7757664, 7773856, 7790048, 7806240, 7822432, 7838624, 7854816, 7871008, 7887200,
7903392, 7919584, 7935776, 7951968, 7968160, 7984352, 7999520, 8015712, 8031904, 8048096,
8064288, 8080480, 8096672, 8112864, 8129056, 8145248, 8161440, 8177632, 8193824, 8210016,
8226208, 8242400,

Nun noch den boot-block schreiben:
disk -B /usr/standalone/i386/boot /dev/rhd1a
disk -B0 /usr/standalone/i386/boot0 /dev/rhd1a
disk -B1 /usr/standalone/i386/boot1 /dev/rhd1a

domi:13# disk -B /usr/standalone/i386/boot /dev/rhd1a
NEXTSTEP partition base = 63    NEXTSTEP partition size = 16498692
disk name: ST3160815A
disk type: fixed_rw_ide
Writing /usr/standalone/i386/boot
domi:14# disk -B0 /usr/standalone/i386/boot0 /dev/rhd1a
NEXTSTEP partition base = 63    NEXTSTEP partition size = 16498692
disk name: ST3160815A
disk type: fixed_rw_ide
Writing /usr/standalone/i386/boot0
domi:15# disk -B1 /usr/standalone/i386/boot1 /dev/rhd1a
NEXTSTEP partition base = 63    NEXTSTEP partition size = 16498692
disk name: ST3160815A
disk type: fixed_rw_ide
Writing /usr/standalone/i386/boot1

Jetzt die neue Platte mounten:
mount  /dev/hd1a /xxx

Jetzt per gnutar ein rudimentäres System aufspielen:
cd /xxx
gnutar -cvpslf - -C / . | gnutar -xvpslf -

domi:26# gnutar --same-owner -cplvf - -C / . | gnutar --same-owner -xpvf -
./
lost+found/
private/
private/vm/
private/vm/swapfile
./
lost+found/
private/
private/vm/
private/vm/swapfile
gnutar: Cannot add file private/vm/swapfile.front: Invalid argument
private/tmp/
private/tmp/console.log
private/tmp/heller/
....
LocalLibrary/ModelManExamples/
LocalLibrary/ModelManExamples/Clown.mms
LocalLibrary/ModelManExamples/Lampe.mmo
Net/
gnutar: Net: On a different filesystem; not dumped
LocalLibrary/ModelManExamples/Lampe.mmo
sw
.ssh/
.ssh/known_hosts
.ssh/random_seed
Net/
.ssh/prng_seed
.dir3_0.wmd
rootb/
gnutar: rootb: On a different filesystem; not dumped
ap/
gnutar: ap: On a different filesystem; not dumped
sw
.ssh/
.ssh/known_hosts
.ssh/random_seed
.ssh/prng_seed
.dir3_0.wmd
gnutar: Error exit delayed from previous errors
rootb/



Jetzt:
shutdown
Nun kann die neue Platte bereits verwendet werden. Also bisherige Platte abstecken, neue Platte zum Master machen, BIOS Werte anpassen und booten!

Nach einem
reboot
sollte nun alles OK sein.

Jetzt Linux in den restlichen 12 GB installieren, LiLo zum booten verwenden (weil der NeXT-Loader nicht über 8GB kommt).