Emulation de 4.3BSD avec SIMH

Lien :
https://gunkies.org/wiki/Installing_4.3_BSD_on_SIMH

1/ Création du répertoire de travail.

util01@station66:~$ mkdir -p EMULATEUR/43BSD
util01@station66:~$ cd EMULATEUR/43BSD/
util01@station66:~/EMULATEUR/43BSD$ 

2/ Téléchargement de l'archive du code source de Simh.

util01@station66:~/EMULATEUR/43BSD$ wget https://github.com/simh/simh/archive/refs/tags/v3.9-0.tar.gz

3/ Décompression de l'archive.

util01@station66:~/EMULATEUR/43BSD$ tar xvfz v3.9-0.tar.gz 
util01@station66:~/EMULATEUR/43BSD$ cd simh-3.9-0/
util01@station66:~/EMULATEUR/43BSD/simh-3.9-0$ 

4/ Compilation.

util01@station66:~/EMULATEUR/43BSD/simh-3.9-0$ make

5/ Installation.

util01@station66:~/EMULATEUR/43BSD/simhv/simh-3.9-0$ cp BIN/vax780 ..
util01@station66:~/EMULATEUR/43BSD/simh-3.9-0$ cd ..
util01@station66:~/EMULATEUR/43BSD$ 

6/ Téléchargement des fichiers de 43BSD.

util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/ingres.tar.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/miniroot.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/new.tar.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/rootdump.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/src.tar.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/srcsys.tar.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/stand.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/usr.tar.gz
util01@station66:~/EMULATEUR/43BSD$ wget http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/vfont.tar.gz

7/ Décompression des fichiers.

util01@station66:~/EMULATEUR/43BSD$ gzip -d *.gz

8/ Création du script Perl de création de tape.

Lien :
https://gunkies.org/wiki/Mkdisttap.pl

Créer :

mkdisttap.pl 

Ajouter :

#!/usr/bin/perl -w
use strict;

# Based on mkdisttap.pl
# ftp://ftp.mrynet.com/pub/os/PUPS/PDP-11/Boot_Images/2.11_on_Simh/211bsd/mkdisttap.pl

#
# $Id: mkdisttap.pl,v 1.1 2006/09/16 23:33:46 kirk Exp kirk $
#

# Based on the example in the HOWTO using dd.  Does not work!
# add_file("cat mtboot mtboot boot |", 512);

# Based on the maketape.c program and the maketape.data data file.
add_file("stand", 512);
end_file();
add_file("miniroot", 10240);
end_file();
add_file("rootdump", 10240);
end_file();
add_file("srcsys.tar", 10240);
end_file();
add_file("usr.tar", 10240);
end_file();
add_file("vfont.tar", 10240);
end_file();
add_file("src.tar", 10240);
end_file();
add_file("new.tar", 10240);
end_file();
add_file("ingres.tar", 10240);
end_file();
end_file();

sub end_file {
  print "\x00\x00\x00\x00";
}

sub add_file {
  my($filename, $blocksize) = @_;
  my($block, $bytes_read, $length);

  open(FILE, $filename) || die("Can't open $filename: $!");
  while($bytes_read = read(FILE, $block, $blocksize)) {
    if($bytes_read < $blocksize) {
      $block .= "\x00" x ($blocksize - $bytes_read);
      $bytes_read = $blocksize;
    }
    $length = pack("V", $bytes_read);
    print $length, $block, $length;
  }
  close(FILE);
}

9/ Rendre exécutable le script.

util01@station66:~/EMULATEUR/43BSD$ chmod +x mkdisttap.pl 

10/ Création de la tape.

util01@station66:~/EMULATEUR/43BSD$ ./mkdisttap.pl > 43.tap
util01@station66:~/EMULATEUR/43BSD$ ls -l 43.tap 
-rw-rw-r-- 1 util01 util01 111442472 sept.  3 17:08 43.tap

11/ Création du fichier de boot.

Créer :

boot42.uue

Ajouter :

begin 700 boot42
M``#:'Q+0CP``!P!>T.^:%@``4-2`T5!>&?DH[XP6``"?`````&[4@]%3CZS>
M"``9]=2#T5./```0`!GU%_]F%@``V@`1^P#O.`T``-`![Q$7``#[`.\&````
M%^^L____``S"!%[?[Y$6``#?[Y<6``#[`N_($```W0#?[WP6``#[`N]="0``
MT%"M_-50&0W=4-U:W5O[`^\6````W^]Q%@``^P'OEQ```/L`[W@5```$```/
MPB1>T*P$6]"L"%K0K`Q9W2#?K>#=6?L#[VD'``#04%C16"`2'M&MX(\'`0``
M$R'1K>"/"P$``!,7T:W@CP@!```3#=_O(A8``/L![RH,``#1K>"/"P$``!,*
MT:W@CP@!```2&-T`W8\`!```W5G[`^]=!0``UE`2`S&#`-VMY-T`W5G[`^_\
M!@``T5"MY!)OT*WDK=S1K>"/"P$``!,2T:W@CP@!```3"!$0E+W<UJW<TX__
M`P``K=P2\-VMZ-VMW-U9^P/OO`8``-%0K>@2+\"MZ*W<P(\```$`K>S46!$(
ME+W<UJW<UEC16*WL'_+E'ZWT`/L`O?3[`.]U%```W^]R%0``^P'O;@L```0`
M````",($7M"L!%OB"&L`U,O(`-T!W5LRJQ!0Q!10T.`\%P<`4/L"8-!0K?S*
MCP#_``!KT*W\4`0`",($7M"L!%OB"6L`U,O(`-T"W5LRJQ!0Q!10T.`\%P<`
M4/L"8-!0K?S*CP#_``!KT*W\4`0`"-"L!%O=6S*K$%#$%%#0X$`7!P!0^P%@
M!``(T*P$6]U;,JL04,044-#@1!<'`%#[`6`$``C0K`1;W:P,W:P(W5LRJQ!0
MQ!10T.!(%P<`4/L#8`0```0```#0"E`$````#,($7M"L"%O4R[@`Q\N,(:P$
M4,3+D"%0Q\N,(:P$4<K+\"!1Q,OL(%'`45#`R^0@4,?+C"&L!%'$RXPA4<-1
MK`11QLM,(5%XRS0A45'`45!XRS@A4%#!R[``4,N\`-#+!"'+Q`#!C]0```!;
MR\``W5O[`>^[_O__T%"M_,&/U````%M:Q\M,(:P$4,3+3"%0PU"L!%!X!U!0
MP%I0*(^``&"K+-"M_%`$```,P@A>T*P$6Q,$E6L2$-_O&10``/L![^H-``#4
M4`3=K`C=`OL"[RO____54!A3W^\$%```$=[66Y%K+Q/YT%M:$0:5:A,'UEJ1
M:B\2]9!JK?^4:MVL"-U;^P+O@@$``-!0K?@3(I6M_Q,OW:P(W5#[`N_?_O__
MU5`9H9"M_VK06EN5:Q,4$;'=6]_OP!,``/L"[V\-```Q@O_0K?A0!```#,(4
M7M"L!%O!!%M:U:P(&`G?[Z83```Q6O_1K`@,&`_0K`A0T$"J4*WPT*WP4`30
M`:WTP@RL"-`#K?@1%<3+2"&M]-&L"*WT&0W"K?2L"->M^-6M^!3FU:WX$@S=
MK`C?[V43```QA__#K?@#4-!`RH``K?`27MVL"-_O5A,``#%M_]"M^%#0K?!`
M[V:5``!X#:WX4)Y`[UH5``"M[,;+2"&M],>M]*P(4,?+2"%04<3+2"%1PU%0
MK?S0K?Q0T$"][*WP$@S=K`C?[R83```Q'O_6K?C1K?@#%0,Q3?_0K?A0T4#O
M#94``*WP$Z-XRS@AK?!0P<NP`%#+O`!X#:WX4)Y`[^X4``#+P`#0RP0AR\0`
MW5O[`>_/_/__T5#+!"$2`S%>_]7+R``3"=#+R`#O(I@!`-W+O`#?[Z02```Q
MK_X```["#%[0K`A;U:P$$@,Q*?Z5O`03^,$$6UD\J2A0RH__#___4-%0CP!`
M```3"=_OBQ(``#'\_=6I,!()W^^.$@``,>[]W:P$^P'OJ1```-!0K?34K?C0
M6ZW\WZWX^P'O+````-!06A(#,<[]U6H3ZCRJ!E#14*WT$N#!"%I^W:P$^P+O
MB!```-50$L[0:E`$``["#%[0K`1;T*L$6=%KJ309`S'!`,O)'"%KK?03',&/
MU````%E0P:WT4%H\J@10P%!KU6H3UM!:4`3.R20A4'A0:ZW\W:W\W5G[`N_=
M_?__T%"M^-50$@,Q>P!XR3@A4%#!R;``4,F\`,&/U````%G)P`#1K?P,&!'!
M`:W\4'C))"%04-&I-%`9!]#)!"%0$1;+R1PAJ310P,D((5#74-+)("%1RE%0
MT%#)Q`#=6?L![V+[___54!D#,6+_T,G(`.^^E@$`W<F\`-_OAQ$``/L"[[T*
M``#44`0`"-6L#!,AW^^#$0``^P'OI@H``-`"[X^6`0`1!]`![X:6`0#.`5`$
MP@.L!!GOT:P$!!CIQ8_40```K`10P(_@F0<`4-!06^$"8-+0K`C+N`#'CP`"
M``"L",N\`-3+Q`#44`0```["%%[5K`09#M&L!`(4"/L`[\D,```$P@.L!!D=
MT:P$!!@7Q8_40```K`10P(_@F0<`4-!06^`"8`O0`>\$E@$`S@%0!-#+P`!9
MU<O$`!4#,>4`X0-K<\/+N`"K-*WL%>#!C]0@``!;6LZJ4%!X4,NX`*WXW:WX
MW5O[`N]O_/__>*ID4%#!R[``4,N\`,NJ2,NX`*WTT:WX#!@0P0&M^%!XJE!0
M4-&K-%`9!M"J,%`1$\NJ2*LT4,"J-%#74-*J3%'*45#04*WP$17'CP`"``#+
MN`#+O`#4K?0RCP`"K?#!C]0```!;R\``T*WPR\0`W5O[`>_A^?__U5`8#-#+
MR`#O0)4!`#$Y_^$#:Q_#K?3+N`!0P*WP4-%0JS09",&M]*WLR\0`PJWTR\0`
MP8_4````6U#!K?106=?+Q`#6R[@`F(FM_-!9R\``T*W\4`0```S4[^Z4`0#5
MK`09!=`!4!$"U%#1K`0"%`70`5$1`M11TE%1RE%0$R70K`Q;^P#O7`L``/90
MO`C76Q,,T*P(4-:L")%@"A+EPUNL#%`$P@.L!!D=T:P$!!@7Q8_40```K`10
MP(_@F0<`4-!06N`"8`O0`>]^E`$`S@%0!.EJ\N`#:D'0K`S*Q`#0K`C*P`#'
MCP`"``#*N`!0P<JP`%#*O`#=6OL![^#X___04%O`K`S*N`#56Q@)T,K(`.\V
ME`$`T%M0!,&L#,JX`%#14*HT%0C#RK@`JC2L#-"L#%L4`]10!,$#K`1^^P'O
MPOW___90O`C6K`C76Q+IT*P,4`0`#-3O\),!`-6L!!DKT:P$`A0ET*P,6Q$1
MT*P(4-:L")A@?OL![P`*``#06U#76]50$N;0K`Q0!,(#K`09'=&L!`08%\6/
MU$```*P$4,"/X)D'`%#04%K@`F`+T`'OEI,!`,X!4`3A`6KQT*P,RL0`T*P(
MRL``QX\``@``RK@`4,'*L`!0RKP`W5K[`>\Q^/__T%!;P*P,RK@`U5L8"=#*
MR`#O49,!`-!;4`0```[""%[5[W4-```3'=2M_,6/U$```*W\4-3@X)D'`/($
MK?SLU.]6#0``U*WXQ8_40```K?A0U>#@F0<`$Q+R!*WXZM_O"@X``/L![_H"
M``#%C]1```"M^%#`C^"9!P!0T%!:R`1@T*P$6Q$'D6LH$P;66Y5K$O61:R@3
M-]_OY`T``/L![],&``#4:M`#[[J2`0`1&\`461$CW^_3#0``^P'OM@8``-1J
MT`3OG9(!`,X!4`24B][OF0P``%G5:1/9W6G=K`3[`N]\"P``U5`2Q/8HJ__#
MCS@7!P!94,844/=0JA"8BU##,%#*K`"1:S`9%Y%K.102Q0K*K`!0F(M1P%!1
MPS!1RJP`U<JL`!D'T<JL`!\5&=_O9PT``/L![SH&``#4:M`%[R&2`0`Q@?^1
MBRP3&=_O70T``/L![QP&``#4:M`"[P.2`0`Q8__=6_L![W\*``#04,JP`!$$
ME8L3TY%K*1+WW5K[`>_>]O__UEN5:Q(6P0&L"%#(4&K4RL0`U,JX`,$#K?A0
M!,&/U"```%K*P``RCP`@RL0`P1#*L`#*O`#4RK@`W5K[`>\P]O__U5`8&=#*
MR`#OCY$!`-_O\0P``/L![Y(%```QXO[=6MU;^P+O?O?__]!0K?P2#-1JT`;O
M99$!`#'%_M6L"!,9W^_7#```^P'O8`4``-1JT`?O1Y$!`#&G_MU:W:W\^P+O
MF/;__]50&`S0RL@`[RN1`0`QB_[4RK@`U,K$`,$!K`A0R`A0R%!J,4K_``#"
M!%["`ZP$&1[1K`0$&!C%C]1```"L!%#`C^"9!P!0T%"M_.`"8`O0`>_BD`$`
MS@%0!.`#O?P*W:W\^P'OZ?7__]2]_-10!```",($7M2M_,(#K`09'=&L!`08
M%\6/U$```*P$4,"/X)D'`%#04%O@`F`+T`'OEI`!`,X!4`30K`A0SU"/`60`
M``U"`$@`3@!4`%D`7@!C`!P`'``<`!P`'`!H`&X`W:P,W:P(W5O[`^^/]?__
MT%"M_-6M_!@)T,O(`.])D`$`T*W\4`3B"FOI$>?B"VOC$>'B#&O=$=O($&L1
MULH0:Q'1R"!K$<S*(&L1Q^(':\,1P>4':[T1NP``W^^I"P``^P'O`0````0`
M`,($7M2M_,6/U$```*W\4-7@X)D'`!,*W:W\^P'OS?[___($K?S@W:P$W^]\
M"P``^P+OV@,``/L`[T,)```$``#=K`3?[V8+``#[`N_``P``$?X````(PA!>
MW3[[`>_.!@``T%"M_)JM_^\J#```T.\D#```4-%0`1-!T5`"$V?14`,2`S&)
M`#&D`'@"K?!0P.][CP$`4-U@^P'OZ0@``-50$A-X`JWP4,#O8H\!`%#08%#0
M`:`$UJWP$7;>[Q<+``#O/H\!`-[O[`H``.\_CP$`WN_Q"@``[S"/`0#0!*WX
MT`2M]!%(WN\,"P``[Q./`0#>[_$*``#O%(\!`-[O[@H``.\%CP$`T`2M^-2M
M]!$>WN_R"@``[_6.`0#>[^L*``#OYHX!`-2M]-"M]*WXU*WPT:WPK?08`S%/
M_]'O5PL```$3"]T`W3?[`N_9!0``U:WT%0K0CX"$'@!;]5O]!```#,($7M"L
M!%O5[Z4*```2*GB/_<NL`%!X`E!0P.^*C@$`4.\`#>^%"@``4<B/`.`#`%'!
M46#O>0H``-7OU\\!`!(IWN]'SP$`[RJ/`0":CXCO)H\!`-T"W^]:C@$`^P+O
M?P4``-!0[ZS/`0"T_T(*``#0[SP*``!0LX\`"*`"$_&PCP"`H`+0[R<*``!0
MLX\`$*`"$_'!".][SP$`4#)04-#O#0H``%'W4*$"T.\""@``4+./`""@`A/Q
MP0CO5L\!`%!XC_!04#)04-#OXPD``%'W4*$"T._8"0``4+./`$"@`A/Q]P&@
M`L$4[RC/`0#OH\X!`,&/4````.\8SP$`[Y?.`0"T[^/.`0#=!/L![W8```#5
M4!(6W^^Z"0``$0;?[\@)``#[`>]Q_?__!,N/^/___\NL`%#W4.^ES@$`W0G[
M`>]"````U5`3U-7+L``9&M'+L``'%!/0R[``4-%`[U,)``"/_____Q(-W^^2
M"0``^P'O)?W__]#+L`!0T$#O,PD``,NP``0```#""%[VK`3O4<X!`/<\[P+.
M`0#W/.\WS@$`R(\```#`[^C-`0#(CP```,#OX<T!`#+_\P@``*WXM>_+S0$`
M$P:T[\/-`0"U[[_-`0`3ZK3OM\T!`-[ON\T!`*W\T*W\4,F/@````*P$49J@
M#%#14%$2"M"M_%"S'Z`.$P/44`30K?Q0!```#,($7M"L!%O=`=U;^P+OP`,`
M`-!0K?S>[Z[-`0!:T,N\`*H@RX_X____RZP`4/=0J@C0R\0`JA#O`!*M_%#O
M'`2M_%%X&%%1R5%0JA31K`@!$@70(5`1`]`B4-U0^P'O%?___]!06A(=W^^1
M"```^P'O*0```-VM_-U;^P+O$00``,X!4`3=K?S=6_L"[P$$``#0R\0`4`0`
M``#0"E`$``#!"%Q^W:P$^P+O`@````0`@`_""%[0K`1;T*P(6A$.U5@2`03=
M6/L![_,!``"8BUC16"42ZC%$`=%0CV(````3814#,1`!T5"/3P```!,=%0,Q
M\P#14(]$````$PK`!%H1R]`061$(T`I9$0/0"%G=6=UJ^P+O1@$``!'AT&I9
MT!A7U5<9U\Y74'A065#O``=06!,)W5C[`>^#`0``P@A7$>#0BEG0:JW\T*W\
M4-:M_)A@?MU9^P+O!`$``-2M^-59$YK=//L![U0!``#0K?Q0UJW\F&!7$@S=
M/OL![S\!```Q>?_#`5=0>%`!4-)04,M065`3*=6M^!,)W2S[`>\=`0``T`&M
M^)B]_%C16"`5O-U8^P'O!P$``-:M_!'ID;W\(!6HUJW\$?70:JW\T*W\4-:M
M_)A@6!(#,2'_W5C[`>_;````$>;14(]8````$@,Q#_\Q!__14(]D````$@,Q
M!?\4#]%0CV,````2`S$,_S'J_M%0CVP````2])B+6-!84-%0CV\````2`S'>
M_A0#,:7^T5"/=0```!(#,<C^%`_14(]S````$@,Q?/\QK?[14(]X````$@,Q
MIOXQGOX```C"#%[1K`@*$A/5K`08#MTM^P'O1P```,ZL!*P$WJWU6]VL"-VL
M!/L"[T,#``"00.]X!@``B]VL"-VL!/L"[P8#``#04*P$U5`2UIA[?OL![PH`
M``#>K?50T5M0%.T$``[0K`1;,H\P=5G=(OL![^H```#@!U`$UUD2[]5;$@$$
MW2+[`>_4````T%!:W0#=(OL"[[X```":6W[=(_L"[[(```#16PH2"=T-^P'O
MKO___]T`^P'OI?___]U:W2+[`N^0````!```"-T@^P'OBP```.$'4//=(?L!
M[WX```#O``=06]%;#1(#T`I;W5O[`>]J____T%M0!``,T*P$6Q$JT5`C$T31
M4(]`````$P_V6HL1%]%0#1,KT5`5$N/0K`1;W0K[`>\T____^P#OE?___^\`
M!U!:T%I0T5`($PO14`H2T-`*6I2+!-=;T5NL!!C9$:<```#:K`BL!`0``-NL
M!%`$````**P,O`2\"`0````,PA1>T*P$6]#+P`!0[PD74*WXRX\`_O__R\``
MK?3!K?3+Q`!0P(__`0``4.\)%U!0P0%0K?S1K`@"$A70[PT%``"M[,"M_.\#
M!0``U*P($0/4K>QXC_W+K`!0>`)04,#O9H@!`%#!CP`(``!@4'@"K>Q1P5%0
M6G@5K`A0R8\```"`4*WPU:P($PGIK?0%XAFM\`#O`!6M^*WX$0G)K?"M^(K6
MK?C7K?P2\M2*>!RL"%!X":WL4<A14,BM]%`$```([QP$K`A0T%!;$@$$T.^`
M!```4-%0`1,+T5`"$S314`,3``30K`10>(_]P*P`4'@"4%#`[]*'`0!0P8]`
M````8%!X`EM1P%%0R(\```"`8!'1T*P$4'B/_<"L`%!X`E!0P.^DAP$`4,&/
M0````&!0>`);4<!14,B/`0``8&`1HP`````,P@1>T*P$6]2M_-1:$1^1:SD4
M-L4*K?Q0F(M1P%!1PS!1K?P1']9:UEL1&=9;F&M0T5`)$_;14"`3\=%0*Q/H
MT5`M$^&1:S`8Q=5:$P;.K?Q0$030K?Q0!`````S0K`1;U%H1`M9:E8L2^M!:
M4`0``+P!``S0K`1;T*P(6I%KBA('E8L2]]10!)AK4)AZ4<)14`0``-"L!%#0
MK`A2$P714@$5"-11>U)04%($$PO14%(>`]10!-`!4`0```#0K`10T*P(4A,%
MT5(!%0C447M24%)0!!(#U%`$T5!2'P/"4E`$`-!0[XV&`0#.`5`$`$(`!P#(
M&0`````7[U3I__\``-`!4-"L!%/0!%*>[PX```!BU6/44-`$4M1B!````,_O
MZ@(```$#"P`&``8`V@\F$0/:`##`CEZ>[]C___]N`@```')A*#`L,"EB;V]T
M`&QO861I;F<@)7,`8F]O="!F86EL960`0F%D(&9O<FUA=`H`4VAO<G0@<F5A
M9`H``&`7!P"@$`<`D`X'`(0"!P`Z$0<```````````````````````````!R
M80```0```&YU;&P@<&%T:`H`8V%N)W0@<F5A9"!R;V]T(&EN;V1E"@`E<R!N
M;W0@9F]U;F0*`&)N(&YE9V%T:79E"@!B;B!O=F8@)40*`&)N('9O:60@)40*
M`&)N("5$.B!R96%D(&5R<F]R"@!B;B!V;VED("5$"@!N;W0@82!D:7)E8W1O
M<GD*`'IE<F\@;&5N9W1H(&1I<F5C=&]R>0H`8FX@)40Z(')E860@97)R;W(*
M`%-E96L@;F]T(&9R;VT@8F5G:6YN:6YG(&]F(&9I;&4*`$YO(&UO<F4@9FEL
M92!S;&]T<P!"860@9&5V:6-E"@!5;FMN;W=N(&1E=FEC90H`0F%D('5N:70@
M<W!E8VEF:65R"@!-:7-S:6YG(&]F9G-E="!S<&5C:69I8V%T:6]N"@!S=7!E
M<B!B;&]C:R!R96%D(&5R<F]R"@!#86XG="!W<FET92!F:6QE<R!Y970N+B!3
M;W)R>0H`17AI="!C86QL960`)7,*`%1R87`@)6\*``!@`"``@``@`*``(`#`
M`"```!`@```4(```&"```!P@```!(``@`2``0`$@`&`!(```\P``(/,```#\
M````^```@/(``*#R``#`\@``X/(``&#R````_`!H]``````````````,/@``
M`````/_______________ZS```!,`0(`<F$Z(&]P96X@97)R;W(L(%-40T].
M`')A.B!O<&5N(&5R<F]R+"!/3DQ)3@!R83H@8F%D('5N:70`<F$Z($DO3R!E
><G)O<@H`,#$R,S0U-C<X.6%B8V1E9@````#`````
`
end

12/ Décoder le fichier boot42.uue.

util01@station66:~/EMULATEUR/43BSD$ uudecode boot42.uue
util01@station66:~/EMULATEUR/43BSD$ ls -l boot42.uue 
-rw-rw-r-- 1 util01 util01 9117 sept.  3 18:52 boot42.uue
util01@station66:~/EMULATEUR/43BSD$ file boot42
boot42: data

13/ Création du fichier de démarrage.

Créer :

install.ini

Ajouter :

set rq0 ra81
at rq0 miniroot
set rq1 ra81
at rq1 rq.dsk
set rq2 dis
set rq3 dis
set rp dis
set lpt dis
set rl dis
set tq dis
set tu dis
att ts 43.tap
set tti 7b
set tto 7b
load -o boot42 0
d r10 9
d r11 0
run 2

14/ Lancement du démarrage.

util01@station66:~/EMULATEUR/43BSD$ ./vax780 install.ini 

VAX780 simulator V3.9-0
RQ: creating new file
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
279844+80872+100324 start 0x12f8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
real mem  = 8388608
SYSPTSIZE limits number of buffers to 140
avail mem = 7187456
using 140 buffers containing 524288 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
rk2 at hk0 slave 2
rk3 at hk0 slave 3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
WARNING: clock gained 87 days -- CHECK AND RESET THE DATE!
erase ^?, kill ^U, intr ^C
# 

15/ Restauration de 'rootdump'.

  • Création d'un device pour le disque 'ra1' :
# cd /dev
# ./MAKEDEV ra1
./MAKEDEV: chgrp: not found
./MAKEDEV: chmod: not found
# cd /
  • Restauration du 'root dump' :
# disk=ra1 type=ra81 tape=ts xtr
Build root file system
Warning: 538 sector(s) in last cylinder unallocated
/dev/rra1a:     15884 sectors in 23 cylinders of 14 tracks, 51 sectors
        8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g)
super-block backups (for fsck -b#) at:
 32, 11520,
Check the file system
** /dev/rra1a
** Last Mounted on 
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2 files, 9 used, 7420 free (20 frags, 925 blocks, 0.3% fragmentation)
Rewind tape
Restore the dump image of the root
Warning: ./lost+found: File exists
** /dev/rra1a
** Last Mounted on /a
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
317 files, 4199 used, 3230 free (6 frags, 403 blocks, 0.1% fragmentation)
Root filesystem extracted

If this is an 8650 or 8600, update the console rl02
If this is a 780 or 785, update the floppy
If this is a 730, update the cassette
# 
  • Synchronisation du disque :
# sync
# sync
# sync
  • Arrêter l'émulateur avec : [Ctrl] + [E]
Simulation stopped, PC: 800018AC (BNEQ 800018CB)
sim> 
  • Quitter l'émulateur :
sim> q
Goodbye
util01@station66:~/EMULATEUR/43BSD$ 

16/ Configuration du démarrage.

  • Configuration du fichier 'boot.ini' :

Créer :

boot.ini

Ajouter :

set rq0 ra81
att rq0 rq.dsk
set rq1 dis
set rq2 dis
set rq3 dis
set rp dis
set lpt dis
set rl dis
set tq dis
set tu dis
att ts 43.tap
set tti 7b
set tto 7b
load -o boot42 0
d r10 9
d r11 0
run 2
  • Démarrage :
util01@station66:~/EMULATEUR/43BSD$ ./vax780 boot.ini 

VAX780 simulator V3.9-0
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
279844+80872+100324 start 0x12f8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
real mem  = 8388608
SYSPTSIZE limits number of buffers to 140
avail mem = 7187456
using 140 buffers containing 524288 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
rk2 at hk0 slave 2
rk3 at hk0 slave 3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
Automatic reboot in progress...
Wed Sep  3 12:14:58 PDT 1986
Can't open checklist file: /etc/fstab
Automatic reboot failed... help!
erase ^?, kill ^U, intr ^C
# 
  • Préparation du disque :
# disk=ra
# name=ra0h;type=ra81
# cd /dev
# sh ./MAKEDEV ts0;sync
# cd /
# newfs $name $type
Warning: 680 sector(s) in last cylinder unallocated
/dev/rra0h:     291346 sectors in 409 cylinders of 14 tracks, 51 sectors
        149.2Mb in 26 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
super-block backups (for fsck -b#) at:
 32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
 114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,
 228768, 240256, 251744, 263232, 274720, 286208,
# 
  • Restauration du 'usr slice' :

Démontage de '/usr' :

# mount /dev/$name /usr
# cd /usr
# mkdir sys
# cd sys
# mt rew
# mt fsf 3
# tar xpbf 20 /dev/rmt12
# cd ..
# mt fsf
# tar xpbf 20 /dev/rmt12
# cd /
# chmod 755 / /usr /usr/sys
# rm -rf sys
# ln -s /usr/sys sys
# umount /dev/$name

Vérification du système de fichier :

# fsck /dev/r$name
** /dev/rra0h
** Last Mounted on /usr
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% fragmentation)
# 

17/ Configuration du 'fstab'.

# cd /etc
# cp fstab.ra81 fstab
# newfs ra0g ra81
/dev/rra0g:     515508 sectors in 722 cylinders of 14 tracks, 51 sectors
        263.9Mb in 46 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
super-block backups (for fsck -b#) at:
 32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
 114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,
 228768, 240256, 251744, 263232, 274720, 286208, 297696, 309184, 320672, 332160,
 343648, 355136, 365600, 377088, 388576, 400064, 411552, 423040, 434528, 446016,
 457504, 468992, 480480, 491968, 503456, 514944,

Synchronisation :

# sync

Redémarrage :

# reboot
syncing disks... done

Reboot request failed, PC: 8002B03A (MOVL 8004F628,R0)
sim> 

Quitter l'émulateur :

sim> q
Goodbye
util01@station66:~/EMULATEUR/43BSD$ 

18/ Démarrage en mode multi-utilisateur.

util01@station66:~/EMULATEUR/43BSD$ ./vax780 boot.ini 

VAX780 simulator V3.9-0
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
279844+80872+100324 start 0x12f8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
real mem  = 8388608
SYSPTSIZE limits number of buffers to 140
avail mem = 7187456
using 140 buffers containing 524288 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
rk2 at hk0 slave 2
rk3 at hk0 slave 3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
Automatic reboot in progress...
Wed Sep  3 12:24:22 PDT 1986
/dev/ra0a: 330 files, 4200 used, 3229 free (5 frags, 403 blocks, 0.1% fragmentation)
/dev/rra0h: 4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% fragmentation)
/dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmentation)
Wed Sep  3 12:24:25 PDT 1986
checking quotas: done.
starting system logger
checking for core dump... /a/crash: No such file or directory

starting local daemons:Sep  3 12:24:26 myname savecore: /a/crash: No such file or directory
Sep  3 12:24:26 myname named[53]: /etc/named.boot: No such file or directory
 named sendmail.
preserving editor files
clearing /tmp
standard daemons: update cron accounting.
starting network daemons: rwhod inetd printer.
Wed Sep  3 12:24:26 PDT 1986
Sep  3 12:24:28 myname getty: /dev/tty03: No such file or directory
Sep  3 12:24:28 myname getty: /dev/tty02: No such file or directory
Sep  3 12:24:28 myname getty: /dev/tty07: No such file or directory
Sep  3 12:24:28 myname getty: /dev/tty06: No such file or directory
Sep  3 12:24:28 myname getty: /dev/tty05: No such file or directory
Sep  3 12:24:28 myname getty: /dev/tty04: No such file or directory
Sep  3 12:24:28 myname getty: /dev/tty00: No such file or directory
Sep  3 12:24:28 myname getty: /dev/tty01: No such file or directory

4.3 BSD UNIX (myname.my.domain) (console)

login: 

19/ Connexion sous l'utilisateur 'root'.

login: root
Sep  3 12:25:48 myname login: ROOT LOGIN console
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986

Would you like to play a game?

Don't login as root, use su
myname# 

20/ Exploration du système.

myname# ls
.cshrc           copy*            lib/             tmp/
.login           dev/             lost+found/      usr/
.profile         drtest*          mnt/             vmunix*
a/               etc/             pcs750.bin
bin/             format*          restoresymtable
boot             genvmunix*       sys/
myname# 
myname# ls /usr/bin
addbib*      cu*          hp7221plot*  plot*        struct*      uniq*
aedplot*     dc*          hpplot*      plottoa*     style*       units*
ar11*        deroff*      implot*      prof*        sum*         uucp*
at*          diction*     indxbib*     ptx*         t300*        uudecode*
atoplot*     diff3*       install*     ranlib*      t300s*       uuencode*
atq*         dumbplot*    iostat*      ratfor*      t4013*       uulog*
atrm*        efl*         join*        refer*       t450*        uuname*
basename*    egrep*       learn*       rev*         tabs*        uupoll*
bc*          enroll*      lex*         roffbib*     tbl*         uuq*
bgplot*      eqn*         lint*        ruusend*     tc*          uusend*
cal*         ex*          look*        sleep*       tek*         uusnap*
calendar*    explain*     lookbib*     sort*        tip*         uux*
cb*          f77*         lorder*      sortbib*     tk*          xget*
checkeq*     fgrep*       m4*          spell*       touch*       xsend*
col*         file*        mesg*        spellin*     tr*          yacc*
comm*        find*        neqn*        spellout*    troff*
crtplot*     gigiplot*    nohup*       spline*      tsort*
crypt*       graph*       nroff*       split*       tty*
myname#