Solaris Common Messages and Troubleshooting Guide

Can't invoke /etc/init, error int


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.


Do the following:

  1. Boot the mini-root so you can replace init(1M).

  2. Halt the machine by typing Stop-A or by pressing the reset button.

  3. Reboot as a single user from the CD-ROM, the net, or a diskette. For example, type boot cdrom -s at the ok prompt to boot from a CD-ROM.

  4. After the system comes up and gives you a # prompt, mount the device corresponding to the original root (/) partition somewhere, with a command similar to the mount(1M) command, as shown below:

    # mount /dev/dsk/c0t3d0s0 /mnt
    # cp /sbin/init /mnt/sbin/init
    # reboot

  5. Then copy the init(1M) program from the mini-root to the original root (/) partition.

  6. Reboot the system.

If this does not 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 message 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 1.