====== Installation of 2.11BSD on SIMH ====== I assume you have [[http://simh.trailing-edge.com/ | SIMH]] binary "pdp11" available. You can download a binary version for Linux {{pdp11:211bsd:pdp11.gz | from here}}. For impatient: you can get the resulting root disk image from here: {{pdp11:211bsd:211bsd.dsk.gz | "211bsd.dsk.gz"}} (gzipped 29 Mbytes, unpacked 170 Mbytes). To boot, ungzip the disk image and use the following SIMH commands: sim> set cpu 11/44 1M sim> attach rp0 211bsd.dsk sim> boot rp0 On boot prompt ':', just hit Enter. On single user prompt, type ^D. Login as root, password is empty. ===== Download files ===== To install 2.11BSD you need a file {{pdp11:211bsd:211bsd.tap.gz | "211bsd.tap.gz"}} (gzipped 28 Mbytes), which contains an image of distribution tape. Ungzip it before installation. The original 2.11BSD distribution files could be found at [[http://www.tuhs.org/Archive/PDP-11/Distributions/ucb/2.11BSD/ | The Unix History]] archive, but you will not need them. The tape contains following files: ^ File ^ Size ^ Contents ^ | 0 | 512*1 | primary tape boot block | | | 512*1 | boot block (some tape boot ROMs go for this copy) | | | 512*69 | standalone boot program | | 1 | 1024*37 | standalone disklabel | | 2 | 1024*33 | standalone mkfs(8) | | 3 | 1024*35 | standalone restor(8) | | 4 | 1024*32 | standalone icheck(8) | | 5 | 10240*285 | dump of ..root.. file system | | 6 | 10240*3368 | tar dump of /usr, excepting /usr/src | | 7 | 10240*519 | tar dump of /usr/src/include and /usr/src/sys | | 8 | 10240*4092 | tar dump of /usr/src, excepting include and sys | ===== Create disk image ===== Create an RP06 disk image file "root.dsk". Device RP06 has C/H/S geometry 815/19/22, total 815*19*22/2 = 170335 kbytes. $ dd bs=1k count=170335 < /dev/zero > root.dsk Another choice is RP05 with geometry 411/19/22, total 85899 kbytes. ===== Create script for simulator ===== Create file "install.simh": set cpu 11/44 1M show cpu attach tm0 211bsd.tap attach rp0 root.dsk boot tm0 ===== Run simulator ===== Run SIMH: $ pdp11 install.simh You will see: PDP-11 simulator V3.6-1 Disabling XQ CPU, 11/44, FPP, NOCIS, autoconfiguration on, 1024KB 44Boot from tm(0,0,0) at 0172522 : ===== Disklabel ===== To start disklabel, enter "tm(0,1)" : : tm(0,1) Boot: bootdev=0401 bootcsr=0172522 disklabel Disk? Enter "xp(0,0)". Modify disklabel, create: - partition 'c' on a whole disk - size 340670, offset 0, type unused - partition 'b' for swap - size 8360, offset 332310, type swap - partition 'a' for root - size 332310, offset 0, type 2.11BSD The manual on using standalone disklabel is available at page 50 of {{pdp11:211bsd:211bsd-setup.pdf | 2.11BSD installation guide}}. You must see: 3 partitions: # size offset fstype [fsize bsize] a: 332310 0 2.11BSD 1024 1024 # (Cyl. 0 - 794) b: 8360 332310 swap # (Cyl. 795 - 814) c: 340670 0 unused 1024 1024 # (Cyl. 0 - 814) Do not forget to write a new label to disk before quit. After quit you will see boot prompt again: 44Boot from tm(0,0,1) at 0172522 : ===== Create root filesystem ===== To create root filesystem, enter "tm(0,2)": Boot: bootdev=0402 bootcsr=0172522 Mkfs file system: Enter "xp(0,0)". Then enter default values: file sys size [166155]: bytes per inode [4096]: interleaving factor (m; 2 default): interleaving modulus (n; 209 default): isize = 41536 m/n = 2 209 Exit called 44Boot from tm(0,0,2) at 0172522 : ===== Restore root filesystem ===== To restore the root file system, type "tm(0,3)": Boot: bootdev=0403 bootcsr=0172522 Restor Tape? For tape, enter "tm(0,5)". For disk, enter "xp(0,0)": Tape? tm(0,5) Disk? xp(0,0) Last chance before scribbling on disk. Type a carriage return to start. When restore finished, you will see: End of tape 44Boot from tm(0,0,3) at 0172522 : ===== Boot from disk ===== To boot from disk, type "xp(0,0)unix": Boot: bootdev=05000 bootcsr=0176700 2.11 BSD UNIX #115: Sat Apr 22 19:07:25 PDT 2000 sms1@curly.2bsd.com:/usr/src/sys/GENERIC phys mem = 1048576 avail mem = 824640 user mem = 307200 June 8 21:21:24 init: configure system hk 0 csr 177440 vector 210 attached ht ? csr 172440 vector 224 skipped: No CSR. ra 0 csr 172150 vector 154 vectorset attached rl 0 csr 174400 vector 160 attached tm 0 csr 172520 vector 224 attached tms 0 csr 174500 vector 260 vectorset attached ts ? csr 172520 vector 224 interrupt vector already in use. xp 0 csr 176700 vector 254 attached erase, kill ^U, intr ^C # You are in single-user Unix now! To make disk bootable, you need to install an RP06 boot record: # dd if=/mdec/hpuboot of=/dev/rxp0a count=1 Set date: # date yymmddhhmm ===== Read /usr ===== Now we need to read /usr from tape. # cd /dev # rm *mt* # ./MAKEDEV tm0 # sync # cd /usr # mt rew # mt fsf 6 # tar xpbf 20 /dev/rmt12 # sync Done /usr. ===== Read /usr/src ===== Now read sources from tape to /usr/src: # mkdir /usr/src # cd /usr/src # mt -f /dev/rmt12 fsf # tar xpbf 20 /dev/rmt12 # sync # mt -f /dev/rmt12 fsf # tar xpbf 20 /dev/rmt12 # cd / # chmod 755 / /usr /usr/src /usr/src/sys # sync ===== Fix fstab and swap ===== Edit /etc/fstab and replace /dev/ra0 by /dev/xp0. Use vi editor. Set swapping on /dev/xp0b: # cd /dev # rm swap drum # mknod swap b 10 1 # mknod drum b 10 1 # sync All done. After installation, you will have 80 magabytes free space: # df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/xp0a 163557 82734 80823 51% / ===== How to stop ===== To stop the system cleanly, run: halt and wait until SIMH prompt appears: syncing disks... done halting HALT instruction, PC: 000014 (MOV #1,17406) sim> Then enter "q".