raghu@cis.ohio-state.edu (Raghu Machiraju) (01/11/89)
One of our servers comes up with the message Checksum xxxxxx != yyyyyyyyy, trying to boot anyway.... Does anyone know what that message means... RAGHU Ohio Supercomputer Center
joey@tessi.uucp (Joe Pruett) (01/26/89)
The checksum message is coming from the low level boot code. The low level boot program has a table which lists the blocks where /boot lives. It also has a checksum value for /boot. If the checksum of the blocks it reads in doesn't match it's internal checksum, you get the message. Both the table of block numbers and the checksum are installed in the low level boot by the installboot program living in /usr/mdec. The cause of checksum errors is usually from installing a new /boot program and then not re-running installboot, or not doing a sync before running installboot. This second form bit me quite annoyingly during the 4.0.1 upgrade. To find the block numbers, installboot opens the *raw* disk and scans through the inode tables to find the block numbers. If you install /boot and then run installboot before the inode table has gotten updated on disk, it picks up the old block numbers and makes your disk unbootable. installboot should do a sync before it tries to read the raw device, or it should read the block device, or you should do a sync before you run installboot. You should be able to fix this by loading the mini-root and mounting your real /usr as /usr and your real / as /mnt, then do: cd /usr/mdec ./installboot /mnt/boot bootXX /dev/rXX0a Where XX is the appropriate disk type.