Tiny Core Base > piCore Final Releases
piCore-13.0.3 released (32-bit)
Paul_123:
Its not a race condition, but for some reason the kernel is not creating loop devices fast enough to satisfy mount. This error also is seen with tce-load, but mainly on the slower single core pies. This was fixed in git, The pull request is still sitting open, So it appears to not be in 13.x. The 64 bit version does have this fixed in 13.....which reminds me, I need to move this from Beta.
As a work around, add to your command line "max_loop=64" (Or a little bigger than the number of extensions you are loading. The kernel will create the loop devices during boot.
MrPorcine:
--- Quote from: Paul_123 on May 21, 2021, 08:15:42 AM ---As a work around, add to your command line "max_loop=64"
--- End quote ---
This works to get rid of the errors that forklog.txt reports. Also the undocumented command line argument is debugbootload, not debugbootlog.
I still see problem of missing files. Not very often now, but maybe 1 in 20 boots. It just happened again, the file is present in /etc/tcloop file tree but the simlink is missing in the file system. It's not always the same file. I suspect that the behavior is present more often than I know as not all missing files will prevent X or my app from starting.
MrPorcine:
I decided to try to reproduce this behavior with the stock image. I was successful. Here is what I did:
1)Flashed the piCore13 image to an 8G SD card. Expanded partition 2 to max with gparted.
2)booted a RPi 3B+ with the new card. Added "syslog max_loop=50" to the end of cmdline.txt. Made the following changes to config.txt:
--- Code: ---disable_overscan=1
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=spi=on
[PI3]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-kms-v3d
dtoverlay=disable-bt
dtoverlay=sdio,poll_once
--- End code ---
3)Used tce to install Xorg and busybox-httpd.
4)Commented out the last few lines of dot profile so Xorg will not start.
5)wrote a script "findMissingFile" to check for missing simlinks and put it in /home/tc. Did a filetool.sh -b, then a sudo reboot. I've attached the script (the forum won't let me put it in-line).
6)After the boot the script found several missing simlinks:
--- Code: ---/usr/local/lib/xorg/modules/drivers/fbturbo_drv.so does not exist!
....................................................................................
/usr/local/share/pixmaps/screenshot.png does not exist!
/usr/local/share/pixmaps/services.png does not exist!
/usr/local/share/pixmaps/settime.png does not exist!
...............................................................
--- End code ---
MrPorcine:
OK, never mind. You should just remove that last post. It turn out the max_loop=50 is too small. On my custom image I removed the Xprogs extension which eliminates a few dependencies, so 50 is big enough. Also ash seems to treat -e as something other that "exists". The png files are present, but fail the -e test.
Paul_123:
Yes, busybox apps have some odd behavior when compared to full versions.
I've done a lot of testing trying to speed up the boot process. In general 1 thread per CPU has worked really well. The mount errors happen if you run multi threaded or not.
I experimented with checking for a free loop device and creating it before mount, but that slowed things way down, since during boot it always needed to created a new loop device. In the end, I opted to just retry the mount if it fails....With a max number of retries, in case of a real error. That seems to be the best of both worlds, speed vs reliability.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version