Tiny Core Base > TCB Q&A Forum
init (error -26) with Core 15.0
linic:
With Core 15.0, init fails with error code -26 on by IBM 560Z (Pentium II, 64 MB of RAM). I have a working Core 14.0 frugal install on it which works very well.
Just for testing, I tried this:
--- Code: ---0. boot my frugal Core 14.0 install like I usually do.
1. wget the new version of core.iso in /home/tc/
2. mkdir c15 && mount core.iso c15/
3. mount /dev/sda1 (this is where my /tce/boot/ is)
4. sudo mkdir /mnt/sda1/tce/boot/c15
5. cp /home/tc/c15/boot/core.gz /mnt/sda1/tce/boot/c15/core15.gz
6. cp /home/tc/c15/boot/vmlinuz /mnt/sda1/tce/boot/c15/vmlinuz15
--- End code ---
Then, I edited /mnt/sda1/tce/boot/extlinux/extlinux.conf to add the following
--- Code: ---LABEL core15
KERNEL /tce/boot/c15/vmlinuz15
INITRD /tce/boot/c15/core15.gz
APPEND vga=789 base norestore syslog showapps nozswap
--- End code ---
vmlinuz15 and core15.gz get loaded and the boot process starts until it fails with:
--- Code: ---Run /init as init process
Failed to execute /init (error -26)
Run /sbin/init as init process
Starting init: /sbin/init exists but couldn't execute it (error -26)
Run /etc/init as init process
Run /bin/init as init process
Run /bin/sh as init process
Starting init: /bin/sh exists but couldn't execute it (error -26)
Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
Kernel Offset: disabled
Rebooting in 60 seconds..
--- End code ---
I tried the same thing with Core 14.0 by copying the core.gz and the vmlinuz in /mnt/sda1/tce/boot/c14/core14.gz and /mnt/sda1/tce/boot/c14/vmlinuz14 and added the following to /mnt/sda1/tce/boot/extlinux/extlinux.conf
--- Code: ---LABEL core14
KERNEL /tce/boot/c14/vmlinuz14
INITRD /tce/boot/c14/core14.gz
APPEND vga=789 base norestore syslog showapps nozswap
--- End code ---
This works well.
Before going deeper into this rabbit hole, does anyone know why I'm getting error -26 only with Core 15.0? Thank you!
[Edit]: Added code tags. Rich
Rich:
Hi linic
Please use Code Tags when posting commands and responses seen in a terminal. To use Code Tags click on the # icon
above the reply box and paste your text between the Code Tags as shown in this example:
--- Quote ---[code][ 36.176529] pcm512x 1-004d: Failed to get supply 'AVDD': -517
[ 36.176536] pcm512x 1-004d: Failed to get supplies: -517
[ 36.191753] pcm512x 1-004d: Failed to get supply 'AVDD': -517[/code]
--- End quote ---
It will appear like this in your post:
--- Code: ---[ 36.176529] pcm512x 1-004d: Failed to get supply 'AVDD': -517
[ 36.176536] pcm512x 1-004d: Failed to get supplies: -517
[ 36.191753] pcm512x 1-004d: Failed to get supply 'AVDD': -517
--- End code ---
Code Tags serve as visual markers between what you are trying to say and the information you are posting. They also preserve
spacing so column aligned data displays properly. Code tags also automatically add horizontal and or vertical scrollbars
to accommodate long lines and listings.
Rich:
Hi linic
Maybe you are running out of RAM?
Just a thought, try adding a small (64Meg) swap partition to your device.
linic:
Hi Rich,
Thanks for responding so quickly! I'll use the Code Tags from now on.
About, the swap partition, I have one of 3145724k. Here's an excerpt of the logs which print on the screen at
boot up for 14.0:
--- Code: ---[...]
fb0: VESA VGA frame buffer device
ccp_crypto: Cannot load: there are no available CC
Driver for HIFM 795x crypto accelerator chip has been successfully registered.
hid: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usb 1-1: new full-speed USB device number 2 using uhci_hcd
ipip: IPv4 amd MPLS over IPv4 tunneling driver
initializing XFRM netlink socket
MET: Registered PF_PACKET protocol family
Key type dns_resolver registered
microcode: sig=0x652, pf=0x2, revision=0x2c
microcode: Microcode Update Driver: v2.2
IPI shorthand broadcast: enabled
registered taskstats version 1
Key type .fscrypt registered
Key type fscrypt-provisioning registered
Key type encrypted registered
Freeing unused kernel image (initmem) memory: 732K
Write protecting kernel text and read-only data: 8500k
Run /init as init process
init started: BusyBox v1.36.0 (2023-01-17 10:14:32 UTC)
[...screen clears out...]
Booting Core 14.0
Running Linux Kernel 6.1.2-tinycore
[...]
Adding 3145724k swap on /dev/sda2. Priority:-2 extents:1 accross:3145724k SS
Possible swap partition(s) enabled.
--- End code ---
With 15.0, I get:
--- Code: ---[...]
MET: Registered PF_PACKET protocol family
Key type dns_resolver registered
microcode: Microcode Update Driver: v2.2
IPI shorthand broadcast: enabled
registered taskstats version 1
Key type .fscrypt registered
Key type fscrypt-provisioning registered
Key type encrypted registered
Freeing unused kernel image (initmem) memory: 772K
Write protecting kernel text and read-only data: 8780k
Run /init as init process
Failed to execute /init (error -26)
Run /sbin/init as init process
Starting init: /sbin/init exists but couldn't execute it (error -26)
Run /etc/init as init process
Run /bin/init as init process
Run /bin/sh as init process
Starting init: /bin/sh exists but couldn't execute it (error -26)
Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
Kernel Offset: disabled
Rebooting in 60 seconds..
--- End code ---
It looks like swap is only loaded when init and BusyBox have started.
Interestingly I was able to boot using this entry
--- Code: ---LABEL vmlinuz15withcore14
KERNEL /tce/boot/c15/vmlinuz15
INITRD /tce/boot/c14/core14.gz
APPEND vga=789 base norestore syslog showapps nozswap
--- End code ---
and I get:
--- Code: ---[...]
MET: Registered PF_PACKET protocol family
Key type dns_resolver registered
microcode: Microcode Update Driver: v2.2
IPI shorthand broadcast: enabled
registered taskstats version 1
Key type .fscrypt registered
Key type fscrypt-provisioning registered
Key type encrypted registered
clk: Disabling unused clocks
Freeing unused kernel image (initmem) memory: 772K
Write protecting kernel text and read-only data: 8780k
Run /init as init process
init started: BusyBox v1.36.0 (2023-01-17 10:14:32 UTC)
[...screen clears out...]
Booting Core 14.0
Running Linux Kernel 6.6.8-tinycore
[...]
Adding 3145724k swap on /dev/sda2. Priority:-2 extents:1 accross:3145724k SS
Possible swap partition(s) enabled.
--- End code ---
Does /init comes from BusyBox? Since swapping the core.gz makes init work, it looks like my issue comes from the version of BusyBox which comes with 15.0.
Additionaly, I searched for error -26 and it looks like it is ETXTBSY and happens when something writes to a file that is being executed (https://lwn.net/Articles/866493/). I don't understand which file init would be modifying which is also being executed. init is the first process and the parent of all other processes. Would it be trying to modify itself after it has started execution? Could another possibility maybe be that error -26 is not accurate and the new init has an insctruction that the CPU doesn't support and this fails in a weird way returning error -26?
Juanito:
/sbin/init is provided by busybox, but looks like it is called by /init, which is a script.
You could try replacing /bin/busybox in tc-15.x by the one in tc-14 to confirm if busybox is the problem or not?
Navigation
[0] Message Index
[#] Next page
Go to full version