Solaris Common Messages and Troubleshooting Guide

Can't invoke /etc/init, error int

Cause

This message can appear while a system is booting, indicating that the init(1M) program is missing or corrupted. Note that /etc/init is a symbolic link to /sbin/init.

Action

Boot the miniroot so you can replace init(1M). Halt the machine by typing Stop-A or by pressing the reset button. Reboot single-user from CD-ROM, the net, or diskette. For example, type boot cdrom -s at the ok prompt to boot from CD-ROM. After the system comes up and gives you a # prompt, mount the device corresponding to the original / partition somewhere, with a command similar to the mount(1M) command below. Then copy the init(1M) program from the miniroot to the original / partition, and reboot the system.


# mount /dev/dsk/c0t3d0s0 /mnt
# cp /sbin/init /mnt/sbin/init
# reboot
If this doesn't work, other files might be corrupted, and you might need to reinstall the entire system.

Technical Notes

The error number is 2 if /sbin/init is missing, or 8 if /sbin/init has an incorrect executable format. This is usually followed by a "panic: icode" message. The system tries to reboot itself, but goes into a loop, because rebooting is impossible without init(1M).

See Also

For more information on booting the system, see the section on halting and booting the system in the System Administration Guide, Volume I.