Tiny Core Linux
General TC => Remasters / Remixes - Unofficial => Topic started by: simonc_67 on February 20, 2015, 06:11:17 AM
-
I'm trying to remaster the standard tinycore image with xf86-video-intel + Xorg-7.7-3d
Using ezremaster I add the two extra modules into "Add App inside initrd on boot"
When I boot the custom image on the screen is displaced upwards. The display is fine. Just in the wrong place.
Part of the reason is because the .xsession file has not been changed. The Xvesa command is still in place instead of Xorg.
This used to work in TinyCore 5.3 with Xorg-7.6-3d.
It also works if you boot Tinycore 6.0 then drop back to the prompt and use
$ tce-load -iw xf86-video-intel Xorg-7.7-3d
$ startx
the .xsession file has changed.
What additional steps do I need to take to get this to work?
-
Based on limited information, it sounds to me as though the remastering is EMBEDDING Xorg instead of using tce-load/onboot.lst, but it's hard to say.
IF TRUE, be sure you check each extension's launch scripts found in /usr/local/tce.installed
Suggestion: For embedding apps into core, edit /etc/init.d/tc-config and locate where the extensions are being loaded by simply finding the MSG= line which says it's "loading extensions." Immediately BEFORE it loads extensions, add the following lines:
for file in /usr/local/tce.installed
do
$file
done
This will take any scripts found in the tce.installed directory and launch them before loading tcz files, which adds their own files there, so you're only running those which are NOT based on tcz files.
It's my preference NOT to use ezremaster as you're never sure what the outcome will be in some instances. Instead, I recommend following the wiki instructions which puts you much more in control of the outcome and makes changes to things like tc-config much, much more simplistic.
http://wiki.tinycorelinux.net/wiki:remastering
(Whether you're just remastering the core or building the entire CD, I believe instructions are there for either.)
Now, if you're just remastering the CD itself and not the boot image, there may be an issue regarding the ORDER in which files are loaded (onboot.lst) For example, if you loaded Xorg and all other items but Xlibs isn't loaded yet before startx is called, startx won't even be found. My suggestion would be to ensure your boot order be firmware/drivers, followed by file systems, followed by system utilities and finally, anything end-user related such as the X engine. Mind you, there are going to be some out there which argue my way of thinking in regards to which comes first... the chicken or the egg.
Good luck!
-
I have tried this some time ago as well. For me it failed to display anything and completely blocked the system. I couldn't find anything in /var/log/Xorg.0.log so I gave up. Some Xorg libs have special permissions (set UID?) maybe this could be an issue?
I also have some tczs embedded in my initrd (not /tmp/builtin) which tce.installed scripts wont get executed at boot so I have to edit bootlocal.sh for those.
centralware, I have just added this to my tc-config .
Slightly extended to show less errors while booting.
right above MSSG=...
if [ "$(ls -A /usr/local/tce.installed 2>/dev/null)" ]; then
echo -n "${BLUE}Executing embedded tce scripts ... "
for EMSCRIPT in /usr/local/tce.installed/*
do
if [ -s $EMSCRIPT ]; then
$EMSCRIPT 2>>/tmp/abscripterr
if [ "$?" == 0 ]; then
echo -n "${GREEN}:"
else
echo -n "${RED}!"
echo -e "... occured while loading: " "$EMSCRIPT" "\n" >> /tmp/abscripterr
fi
fi
done
echo " ${GREEN}Done${NORMAL}"
fi
-
/usr/local/bin/Xorg needs set uid
I guess /etc/sysconfig/Xserver needs to be set to Xorg as the startup script to do this will not run in a remaster - this should take care of the change in ~/.xsession to suit Xorg rather than Xvesa.
-
/usr/local/bin/Xorg
is a script which executes
/usr/local/lib/xorg/Xorg
which has set uid.
-
@Misalf: I may have done things (the script-let) a bit differently... but that's the beauty of it all. I could go Right... you go Left... the only thing that matters is the destination! :)
I still have to stand by my suggestion regarding booting just Core and trying things from a fresh CLI, then monitoring any differences regarding your hardware layout. In so many cases things hiccup over missing/lacking firmware and drivers and with a clean slate, it's much easier to detect (in my opinion.)
Good luck and keep us apprised!
-
I use the boot to CLI mode whenever am starting a new project then load each extension one a once to reslove any issues.
When creating repeatable full working TC images I use nothing else but ezremaster which produces consistently reliable bootable tinycore images, honestly I can't imagine using anything else.. However, Initially I had some teething problems and it took a while to understand all the options, but that was my bad not ezremaster. Id give ezremaster another try and perhaps use a script for consistent results as explained in the info file
-
Many thanks for all of your helpful suggestions. After a lot of head scratching and learning I finally got to the root of the problem.
The reason why it works from the command line using tce-load -iw xf86-video-intel Xorg-7.7-3d is after delving into the tce-load shell, because of the
-
oops sorry.
tce-load does a depmod -a followed by a udevadm trigger.
Once you put these commands in the tc-config file after the tce-installed code it all starts to work.
I've learnt a lot more about tinycore along the way. I think the reason why ezremaster does not work in this case is that I am embedding the extensions in the initrd. I use the images for PXE boot so that is a neccessity. And also why they do not work as tce-load is never called upon.
Once again thanks for all the help.
-
With PXE boot you can use nfs, aoe, or nbd to supply a tce directory for onboot and backups.