Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: wysiwyg on October 08, 2016, 04:22:04 PM
-
Good afternoon all. Has anyone seen a situation where after loading the kernel to RAM, the system chokes with the following:
...
Booting the kernel.
intel_powerclamp: Intel powerclamp does not run on family 6 model 23
Failed to execute /init (error -2)
Kernel panic - not syncing: No working init found. Try passing init= option to
kernel. See Linux Documentation/init.txt for guidance.
Kernel Offset: disabled
Rebooting in 60 seconds..
The ramdisk image certainly has an /init and the /sbin/init points to busybox. I've recently tried to use the core64 kernel instead of the corepure64 so that I have a larger variety of software (since the corepure64 repo lacks in comparison to the 32bit one). Also, nothing has changed in the grub menu.lst aside from renaming which kernel to boot to. I've tried Googling for this, but can't really find any helpful info...
Thanks,
Dave
-
The lack of /init is the error; the powerclamp message is unrelated.
-
Thanks for the reply curaga! The /init script does exist. Here's the 'ls' output from the image:
# ls -al
drwxrwxr-x 3 root root 4096 Oct 10 09:07 bin
drwxrwxr-x 7 root staff 4096 Oct 10 09:07 dev
drwxrwxr-t 7 root root 4096 Oct 10 09:07 etc
drwxrwxr-x 4 root root 4096 Oct 10 09:07 home
-rwxr-xr-x 1 root root 496 Oct 10 09:07 init
drwxrwxr-x 4 root root 4096 Oct 10 09:07 lib
lrwxrwxrwx 1 root root 11 Oct 10 09:07 linuxrc -> bin/busybox
drwxrwxr-x 2 root staff 4096 Oct 10 09:07 mnt
drwxrwxr-x 2 root root 4096 Oct 10 09:07 opt
drwxrwxr-x 2 root staff 4096 Oct 10 09:07 proc
drwxrwxr-x 1 root root 12 Oct 10 09:07 run
drwxrwxr-x 2 root root 4096 Oct 10 09:07 sbin
drwxrwxr-x 1 root root 12 Oct 10 09:07 sys
drwxrwxrwt 2 root staff 4096 Oct 10 09:07 tmp
drwxrwxr-x 7 root root 4096 Oct 10 09:07 usr
drwxrwxr-x 8 root root 4096 Oct 10 09:07 var
# cat init
#!/bin/sh
mount proc
grep -qw multivt /proc/cmdline && sed -i s/^#tty/tty/ /etc/inittab
if ! grep -qw noembed /proc/cmdline; then
inodes=`grep MemFree /proc/meminfo | awk '{print $2/3}' | cut -d. -f1`
mount / -o remount,size=90%,nr_inodes=$inodes
umount proc
exec /sbin/init
fi
umount proc
if mount -t tmpfs -o size=90% tmpfs /mnt; then
if tar -C / --exclude=mnt -cf - . | tar -C /mnt/ -xf - ; then
mkdir /mnt/mnt
exec /sbin/switch_root mnt /sbin/init
fi
fi
exec /sbin/init
# ls -al sbin/init
lrwxrwxrwx 1 root root 14 Oct 10 09:07 sbin/init -> ../bin/busybox
# bin/busybox
BusyBox v1.20.2 (Ubuntu 1:1.20.0-8.1ubuntu1) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: busybox --list[-full]
or: busybox --install [-s] [DIR]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, adjtimex, ar, arp, arping, ash, awk, basename, blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp, cpio, crond, crontab, cttyhack, cut, date, dc, dd, deallocvt, depmod, df,
diff, dirname, dmesg, dnsdomainname, dos2unix, dpkg, dpkg-deb, du, dumpkmap, dumpleases, echo, ed, egrep, env, expand, expr, false, fdisk, fgrep, find, fold, free, freeramdisk, ftpget, ftpput, getopt, getty, grep, groups,
gunzip, gzip, halt, head, hexdump, hostid, hostname, httpd, hwclock, id, ifconfig, ifdown, ifup, init, insmod, ionice, ip, ipcalc, kill, killall, klogd, last, less, ln, loadfont, loadkmap, logger, login, logname, logread,
losetup, ls, lsmod, lzcat, lzma, md5sum, mdev, microcom, mkdir, mkfifo, mknod, mkswap, mktemp, modinfo, modprobe, more, mount, mt, mv, nameif, nc, netstat, nslookup, od, openvt, passwd, patch, pidof, ping, ping6, pivot_root,
poweroff, printf, ps, pwd, rdate, readlink, realpath, reboot, renice, reset, rev, rm, rmdir, rmmod, route, rpm, rpm2cpio, run-parts, sed, seq, setkeycodes, setsid, sh, sha1sum, sha256sum, sha512sum, sleep, sort,
start-stop-daemon, stat, static-sh, strings, stty, su, sulogin, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, taskset, tee, telnet, telnetd, test, tftp, time, timeout, top, touch, tr, traceroute,
traceroute6, true, tty, tunctl, udhcpc, udhcpd, umount, uname, uncompress, unexpand, uniq, unix2dos, unlzma, unxz, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, watch, watchdog, wc, wget, which, who, whoami, xargs, xz,
xzcat, yes, zcat
As you can see, /init is there, /sbin/init is there, busybox has been compiled with the 'init' applet. Any other ideas?
Thanks,
Dave
[EDIT]: Added code tags. Rich
-
Error -2 means "file not found". edit: Make sure you have the correct modules in the initrd.
-
Thanks for the continued help curaga, I think it is an issue with mismatched binaries and modules. Let me make sure, looking under http://tinycorelinux.net/7.x/x86/release/distribution_files/ I can see the a core.gz which is rootfs.gz + modules.gz right? I don't see a core64.gz, which I suppose should be rootfs.gz + modules64.gz right?
Thanks,
Dave
-
I think what's happening is that the /init script is failing when it tries to start /sbin/init (which points to busybox), hence giving the 'missing init error'. Something is mismatched in my fs. I'll keep playing with it...
Dave
-
Hi wysiwyg, You'll find pure x86_64 under "Other Ports"
hope you find what you need there
-
Hey coreplayer2, thanks for the tip! I'm actually not looking for the corepure64, but rather the 64bit parts that allow both 32 and 64 bit software to run - which should be under the x86 area IIRC.
Dave
-
Hi
well I believe the x86_64 modules are the same, however from http://tinycorelinux.net/7.x/x86/release/distribution_files/ (http://tinycorelinux.net/7.x/x86/release/distribution_files/) you'll need
rootfs.gz
modules64.gz
vmlinuz64
;)
-
I just checked the md5sum for the modules64.gz in both repo's and they are the same file. Thanks coreplayer2!
Dave
-
Thanks to you guys, it was an issue with mismatched parts. I've gotten the system booting now!