Patch Name: PHKL_13032 Patch Description: s700_800 10.X hpux(1M) - large kernels & make_recovery(1M) Creation Date: 97/11/06 Post Date: 98/02/03 Warning: 98/02/23 - This Non-Critical Warning has been issued by HP. - Kernels larger than 13 megabytes will still not load with PHKL_13032 installed unless one of the supersededed patches was installed first: PHKL_7765, PHKL_7465, or PHKL_6189. - A modification is required in the /usr/conf/gen/config.sys file in order for a kernel larger than 13 megabytes to be loaded. Patch PHKL_13032 does not include this modification, but the earlier patches did. Therefore, if one of the earlier patches is loaded then PHKL_13032 works correctly. However, if PHKL_13032 is installed in an environment where one of the earlier patches has not been applied then the kernel load will still fail. - Patch PHKL_7765 will be re-released until a replacement patch is available. - There are several resolutions and workarounds: 1. Remove PHKL_13032 via swremove(1M) and install PHKL_7765. If the sparse file defect addressed in PHKL_13032 is required, then PHKL_13032 can be installed after PHKL_7765. 2. Manually edit the /usr/conf/gen/config.sys file and change the line: SZLIMIT= -l 13580288 to match the size of the first memory module in the system. For example, if the first memory module is 16 MB, the value would be: SZLIMIT= -l 16777216 and for 128MB it would be: SZLIMIT= -l 134217728 Hardware Platforms - OS Releases: s700: 10.01 10.10 10.20 10.30 s800: 10.01 10.10 10.20 10.30 Products: N/A Filesets: OS-Core.KERN-RUN Automatic Reboot?: No Status: Special Superseded With Warnings Critical: Yes PHKL_13032: OTHER This patch fixes a problem of not being able to boot a kernel with a hole in the kernel file. PHKL_7765: OTHER This patch fixes the problem of being unable to load kernels that are greater than 13 MBytes. Path Name: /hp-ux_patches/s700_800/10.X/PHKL_13032 Symptoms: PHKL_13032: The user may see a panic. The type of panic may not be the same for all kernels. Previous patches: PHKL_7765: ERROR: Kernel is too large to boot. Actual: Limit: PHKL_7465: ERROR: Kernel is too large to boot. Actual: Limit: PHKL_6189: ERROR: Kernel is too large to boot. Actual: Limit: Defect Description: PHKL_13032: The hpux(1M) boot loader cannot handle sparse files. Instead of returning a block of zeros when block zero is referenced (a sparse file), block zero is read. PHKL_7765: The following defect description is for PHKL_7765: ERROR: Kernel is too large to boot. Actual: Limit: The hpux(1m) boot loader can not boot a kernel that is larger than approximately 13 MBytes. If the user attempts to build such a kernel, by increasing tunable parameters and/or adding subsystems or drivers, the system will refuse to generate the kernel, printing the error above. This restriction is caused by the need for the boot loader to remain in memory briefly after the kernel is loaded. So that both can exist inside a 16 MB initial memory controller, the boot loader is compiled to load at 13 Megabytes. This patch changes the boot loader to make room for a large kernel (greater than 13 MBytes) by moving itself near the top of the initial memory module. As such, the boot loader cannot be used in a system where the kernel is within 2.5 MBytes of the size of the initial memory module. The boot area on the root disk will be updated with the new boot loader as part of the installation of this patch. PHKL_7465: The following defect description is for PHKL_7765: ERROR: Kernel is too large to boot. Actual: Limit: The hpux(1m) boot loader can not boot a kernel that is larger than approximately 13 MBytes. If the user attempts to build such a kernel, by increasing tunable parameters and/or adding subsystems or drivers, the system will refuse to generate the kernel, printing the error above. This restriction is caused by the need for the boot loader to remain in memory briefly after the kernel is loaded. So that both can exist inside a 16 MB initial memory controller, the boot loader is compiled to load at 13 Megabytes. This patch changes the boot loader to make room for a large kernel (greater than 13 MBytes) by moving itself near the top of the initial memory module. As such, the boot loader cannot be used in a system where the kernel is within 2.5 MBytes of the size of the initial memory module. The boot area on the root disk will be updated with the new boot loader as part of the installation of this patch. PHKL_6189: The following defect description is for PHKL_6189: ERROR: Kernel is too large to boot. Actual: Limit: The hpux(1m) boot loader can not boot a kernel larger than approximately 13 megabytes. If the user attempts to build such a kernel, by increasing tunable parameters and/or adding subsystems or drivers, the system will refuse to generate the kernel, printing this error above. This restriction is caused by the need for the boot loader to remain in memory briefly after the kernel is loaded. So that both can exist inside a 16 MB initial memory controller, the boot loader is compiled to load at 13 Megabytes. This patch changes the load point for the boot loader, from 13 Megabytes to 29 Megabytes. As such, it cannot be used in a system with an initial memory module smaller than 32 MB. If the system memory configuration is later changed such that the initial memory module is smaller than 32MB, then isl(1M) cannot load the boot loader. The boot area on the root disk will be updated with the new boot loader as part of the installation of this patch. SR: 5003280297 Patch Files: /usr/lib/uxbootlf what(1) Output: /usr/lib/uxbootlf: A.00.38 (3250) -- OCT 26, 1994 X11.00.C HP-UX() #1: Oct 30 1997 11:34:37 PATCH_10.X: sys.o 1.73.106.4.1.3 97/10/30 PHKL_13032 cksum(1) Output: 2978367419 707584 /usr/lib/uxbootlf Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: The system must have an initial memory module equal to or greater than 16 MBytes. Supersedes: PHKL_6189 PHKL_7465 PHKL_7765 Equivalent Patches: None Patch Package Size: 770 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHKL_13032 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_13032.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHKL_13032.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_13032. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHKL_13032.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_13032.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: Before installing this patch: 1) make sure your system is backed up or 2) make sure that you have some way to restore the boot area on the disk without using the system.