Subject: Disklabels arrive for 2.11BSD (#259 part 10 of 18) Index: sys,bin,usr.lib,(many more)/ 2.11BSD Description: The moving the partitions tables out of the disk drivers and to a disklabel residing on the media has been on the wish list for many many years. Disklabels have finally arrived for 2.11BSD! Repeat-By: Observation. Also a reading of the setup and installation documentation for previous 2BSD releases (2.9, 2.10, 2.11) all have a paragraph similar to this present: "It is possible to change the partitions by changing the code for the table in the disk driver. Since it's desirable to do this, these tables really should be read off each pack...." Fix: This is part 10 of 18. Gather all parts before doing anything except reading the instructions which are in #250 (part 1). Updated by this part are: /usr/src/sys/mdec/bruboot.s /usr/src/sys/mdec/dvhpuboot.s /usr/src/sys/mdec/hkuboot.s /usr/src/sys/mdec/hpuboot.s /usr/src/sys/mdec/rauboot.s /usr/src/sys/mdec/rkuboot.s /usr/src/sys/mdec/rluboot.s /usr/src/sys/mdec/rm03uboot.s /usr/src/sys/mdec/rm05uboot.s /usr/src/sys/mdec/si51uboot.s /usr/src/sys/mdec/si94uboot.s /usr/src/sys/mdec/si95uboot.s ALL disk bootblock blocks have been modified. The change is small and will have no effect unless you boot from a unit other than 0. The change to the bootblocks is to put the unit number of the disk into bits 3-5 so as to leave room for the partition number in bits 0-2. This change will (in the future) allow booting from a partition other than 'a' (perhaps to boot from the swap area when the coldstart proceedure uses a miniroot like 4.3BSD did). You should install new boot blocks eventually but unless you are booting from a unit other than 0 nothing bad will happen if old bootblocks are used. The 'disklabel' program now installs bootblocks using the -B option. Cut where indicated and save to a file (/tmp/259). Then: patch -p0 < /tmp/259 rm /tmp/259 --------------------------------cut here------------------------------ *** /usr/src/sys/mdec/bruboot.s.old Tue Mar 10 15:09:33 1992 --- /usr/src/sys/mdec/bruboot.s Wed May 31 19:54:24 1995 *************** *** 3,8 **** --- 3,11 ---- / BR bootstrap. supports the 32 sec/trk, 19 trk/cyl EATON 1537/1711 / Controller and 1538A/B/C/D drive. / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 170,175 **** --- 173,179 ---- 2: mov ENDCORE-BOOTOPTS, r4 movb unit+1,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/dvhpuboot.s.old Tue Mar 10 15:09:13 1992 --- /usr/src/sys/mdec/dvhpuboot.s Wed May 31 19:54:29 1995 *************** *** 2,7 **** --- 2,10 ---- / Bootstrap for Diva Comp. IV controller (33 sectors) / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 157,162 **** --- 160,166 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/hkuboot.s.old Tue Mar 10 15:10:09 1992 --- /usr/src/sys/mdec/hkuboot.s Wed May 31 19:54:37 1995 *************** *** 2,7 **** --- 2,10 ---- / RK06/RK07 bootstrap / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 162,167 **** --- 165,171 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/hpuboot.s.old Wed Jan 27 22:41:52 1993 --- /usr/src/sys/mdec/hpuboot.s Wed May 31 19:54:43 1995 *************** *** 2,7 **** --- 2,10 ---- / RP04/05/06 bootstrap. / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 159,164 **** --- 162,168 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/rauboot.s.old Tue Mar 10 15:11:06 1992 --- /usr/src/sys/mdec/rauboot.s Wed May 31 19:54:49 1995 *************** *** 2,7 **** --- 2,10 ---- / RA bootstrap. / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. / NDIRIN is the number of direct inode addresses (currently 4) *************** *** 206,211 **** --- 209,215 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit, r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov raip,r1 *** /usr/src/sys/mdec/rkuboot.s.old Tue Mar 10 15:11:24 1992 --- /usr/src/sys/mdec/rkuboot.s Wed May 31 19:54:54 1995 *************** *** 2,7 **** --- 2,10 ---- / RK05 bootstrap. / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 154,159 **** --- 157,163 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/rluboot.s.old Tue Mar 10 15:11:43 1992 --- /usr/src/sys/mdec/rluboot.s Wed May 31 19:55:00 1995 *************** *** 2,7 **** --- 2,10 ---- / RL01/02 bootstrap. / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 159,164 **** --- 162,168 ---- 2: mov ENDCORE-BOOTOPTS, r4 movb unit+1,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/rm03uboot.s.old Tue Mar 10 15:12:01 1992 --- /usr/src/sys/mdec/rm03uboot.s Wed May 31 19:55:05 1995 *************** *** 2,7 **** --- 2,10 ---- / RM02/03/05 bootstrap / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 158,163 **** --- 161,167 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/rm05uboot.s.old Tue Mar 10 15:12:18 1992 --- /usr/src/sys/mdec/rm05uboot.s Wed May 31 19:55:10 1995 *************** *** 2,7 **** --- 2,10 ---- / RM02/03/05 bootstrap / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 158,163 **** --- 161,167 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/si51uboot.s.old Tue Mar 10 15:12:38 1992 --- /usr/src/sys/mdec/si51uboot.s Wed May 31 19:55:17 1995 *************** *** 3,8 **** --- 3,11 ---- / Fujitsu Eagle (2351A) on SI 6100 Controller bootstrap / Actually just a small modification of the RM02/03/05 bootstrap / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 157,162 **** --- 160,166 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/si94uboot.s.old Tue Mar 10 15:12:56 1992 --- /usr/src/sys/mdec/si94uboot.s Wed May 31 19:55:22 1995 *************** *** 3,8 **** --- 3,11 ---- / Fujitsu 160 on SI 9400 or Emulex SC01B Controller bootstrap / Actually just a small modification of the RM02/03/05 bootstrap / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 157,162 **** --- 160,166 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1 *** /usr/src/sys/mdec/si95uboot.s.old Tue Mar 10 15:13:12 1992 --- /usr/src/sys/mdec/si95uboot.s Wed May 31 19:55:28 1995 *************** *** 2,7 **** --- 2,10 ---- / CDC 9766 disk on SI 9500 Controller bootstrap / + / 1995/05/31 - The unit number needs to go in bits 3-5 of bootdev + / because the partition number now goes into bits 0-2. + / / disk boot program to load and transfer / to a unix entry. / for use with 1 KB byte blocks, CLSIZE is 2. *************** *** 156,161 **** --- 159,165 ---- 2: mov ENDCORE-BOOTOPTS, r4 mov unit,r3 + ash $3,r3 / unit # in bits 3-5, partition # is 0 bis $MAJOR\<8.,r3 mov ENDCORE-CHECKWORD, r2 mov csr,r1