Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: Tarkus on January 25, 2011, 06:23:26 AM
-
Hello to everyone :)! I'm having a hard time at understainding how an extension persistent installation is performed.
Here is my issue: I have installed Emesene from the AppBrowser, but in order to run it first I have to select the Python extension from the Local section of the AppBrowser (the one that lets the user choose extensions from the local machine), every time I boot my PC... I've tried to set Python both in OnDemand and OnBoot modes, but with no positive results.
Also, every time I want to install an extension while I'm in the "tinycore base" mode I have to perform this "re-installation" too. For example, if I want to install Dillo I have to:
- Enter the AppBrowser.
- Search for it.
- Install it by clicking the Go button.
- When the final OK message appears I have to enter the Local browser and choose Dillo.
If that last step is not performed Dillo does not launch.
Note: I have the "tce=UUID=" boot code in Grub's menu.lst file in order to have persistent extensions.
Well, I hope someone can give me a hand on this, as I've read the Wiki documents several times and can't understand this mechanism.
Thanks in advance!
PD: Sorry for my bad English :P Please ask if I'm not being clear.
-
Hi Tarkus
I'll try my best to push you in the right direction. Python should be OnBoot otherwise
Emesene will not find it. When you change it to OnBoot the setting will not take effect
until you restart TinyCore. If you boot to base mode your installed extensions will not
get loaded. As far as UUID is concerned, it is easy to get a typo in that long series of
letters and numbers, double check it. I don't use Grub so I can't help with that. I would
suggest you post a copy of your menu.lst file for someone else to look at. Don't forget
to backup when you shutdown or reboot.
-
As rich has already explained that boot code 'base' prevents the installation of extension listed in 'onboot.lst' I just like to add that you can check whether the "guidance" provided with your 'tce=UUID=...' bootcode is working by looking at the output of cat /opt/.tce_dir
If this is still pointing to '/tmp/tce' I could see two different causes: (1) a typo in the UUID, or (2) if using a USB device that you either have not specified a 'waitusb=...' bootcode, or the value is not sufficiently large for TC to pick up the device (best read again the FAQ (http://www.tinycorelinux.com/faq.html#pendrives) to be aware of your options).
-
Tarkus
It is not clear what you have done, so we can only guess.
Is it installed on a usb drive or a hard drive?
If it is installed on a usb drive, it is easiest to reinstall using HD/USB Install from the control panel. That will get it right.
If it is installed on a hard drive, you are better using something like tce=sda1 (use the correct partition), not tce=UUID=.
-
Thanks a lot for the responses!
Well, I'll try to be more clear.
The UUID is fine, I used the blkid command to get it and saved it to a file (using the >> command, so I could copy&paste the UUID to the menu.lst file -I was very careful to take the UUID of the proper device-). I double checked it too.
Extensions DO remain after reboots. For instance, I installed Midori and it launches without problems from Wbar.
Emesene issue:
As I said before, I tried setting Python in OnDemand mode and then in OnBoot mode, but that didn't solved my problem (both times rebooting my PC). So in order to launch Emesene I have to:
1) Boot my PC.
2) Enter the AppBrowser.
3) Click on the Local button.
4) Select Python.
5) Launch Emesene.
If I don't perform steps 2, 3 and 4 Emesene does not launch (because it doesn't find Python).
Initially, I tried to launch Python from the terminal (and NOT doing steps 2, 3 and 4), but it does nothing.
Base issue:
I talked about the "base" mode because the symptoms were the same, in order to install ANY extension on this mode I have to:
1) Download the extension.
2) Enter the AppBrowser.
3) Click on the Local button.
4) Select the extension.
5) Launch the extension.
I hope this explanation is better :)!
Note: FYI, I also put the home=UUID, the opt=UUID and restore=UUID codes.
-
I don't use those apps, but 2 ways this can be overcome:
1. Modify the .dep file of Emesene to include Python (in /tce/optional). However, when you update .dep files, this will be lost.
I don't use those apps, but should the .dep file be modified for everybody?
2. Have Python in OnBoot. (Maybe add a line to start if from /opt/bootlocal.sh.)
With any extension, if you put them in On Boot or On Demand, you should just be able to start them.
-
@Tarkus, your "base issue" is not an issue.
From the first page of Core Concepts ", http://www.tinycorelinux.com/concepts.html
The boot code base is notable. Use base to simulate Default Mode and skip all application extension installing or mounting. This is a useful tool for trouble-shooting, extension building, upgrading ... and just checking out how fast Tiny Core can boot on your hardware.
If you have questions about a specific extension it should directed accordingly.
-
Hi Tarkus
Boot your machine and check if the /usr/local/bin has a link in it called python, it should
look like @python.
Guy: If he wants Emesene to start Python needs to be OnBoot, otherwise he would have
to first start it from the OnDemand menu every time.
-
@Guy&Rich: I'm at work right now, when I am back at my house I'll check those things!
@Tarkus, your "base issue" is not an issue.
From the first page of Core Concepts ", http://www.tinycorelinux.com/concepts.html
The boot code base is notable. Use base to simulate Default Mode and skip all application extension installing or mounting. This is a useful tool for trouble-shooting, extension building, upgrading ... and just checking out how fast Tiny Core can boot on your hardware.
If you have questions about a specific extension it should directed accordingly.
Hello roberts, thanks for the response. Precisely, I used the base mode to simulate the Default mode and I found curious that in order to install extensions I had to download it using the "Go" button and then use the Local browser to install it (I thought that the "Go" button would download and install it). Sorry for the confusion (now that I see the thread title again I realize that it sounds a bit rude, sorry for that too)!
-
Note: FYI, I also put the home=UUID, the opt=UUID and restore=UUID codes.
Those options are conflicting, unless you modify your backup not to include any files from /home and /opt.
-
Hey! Sory for the late response...
I don't use those apps, but 2 ways this can be overcome:
1. Modify the .dep file of Emesene to include Python (in /tce/optional). However, when you update .dep files, this will be lost.
I don't use those apps, but should the .dep file be modified for everybody?
2. Have Python in OnBoot. (Maybe add a line to start if from /opt/bootlocal.sh.)
With any extension, if you put them in On Boot or On Demand, you should just be able to start them.
I tried with both suggestions but with no results!
Hi Tarkus
Boot your machine and check if the /usr/local/bin has a link in it called python, it should
look like @python.
Guy: If he wants Emesene to start Python needs to be OnBoot, otherwise he would have
to first start it from the OnDemand menu every time.
Unluckily there is no @pyhton file... And yes, there is a python file in /usr/local/bin.
Another strange thing is that if I set Skype in OnDemand mode it does not launch when I type skype at the terminal, but it does launch if I set it in OnBoot mode...
Well, I think I'm going to reinstall TinyCore when I have a little more time in order to aislate my problem (this is likely to be a PICNIC xD). If you have any more ideas, they are welcomed :).
Thanks a lot for your time!
-
Hi Tarkus
I don't think you understand the difference between OnBoot and OnDemand.When a
program is loaded with OnBoot it is ready to run as soon as you see the desktop.
When it is loaded OnDemand you have to mount it first by clicking on the desktop
and going to the OnDemand selection of the pop up menu and clicking on that
application. Once you have done that you can start the application, assuming it did
not start when you clicked on it. The filemanager I used shows links prefaced with
an @ sign, you probably used the Fluff filemanager which shows links with --> sign
to the right of the name, but since you found it it's obviously there. Using filemanager
go to /usr/local/bin and right click on the python file, select Properties, and make a
note of the link path, then go to that location make sure the file being pointed to
exists.
-
Correction, just took another look at the python package, the link should be:
/usr/bin/python -> /usr/local/bin/python2.7.
-
Tarkus
It is still not clear what you are doing, or what you understand.
Have you included "base" in menu.lst in Grub? If you have, remove it.
Applications should be OnBoot or OnDemand. If they are not, you need to install local before you can run them.
-
Hello :)
It seems that I'm actually not understanding the system (though I have carefully read the wiki and forums, so please be patient ;D). Forget what I said about the Base bootcode, it's not really important right now.
Let's see if I can get it...
OnDemand:
If I want to run an extension that is set in OnDemand, I have to:
1) Click on the Wbar icon.
2) Click on the application name that appears in the right click menu.
3) Run it (assuming it didn't started yet) <-- Can this be done from the terminal, the right click menu or the Wbar icon?
Please notice that in order to launch Midori I just have to click in the Wbar icon, so I these steps are not applicable in that case... What makes me more confused.
OnBoot:
If I want to run an extension that is set in OnBootDemand, steps 1 and 2 are automatically performed by TinyCore.
Is this correct? If it is, could you give me a brief explanation on what is what I'm really doing? What does it mean that I have to mount the extension?
Thanks once again!
Note: The path that is shown when I go to the Properties section of /usr/local/bin/python2.7 is /usr/local/bin and the file type is executable.
-
Whether set to OnBoot or OnDemand, you start it by clicking on the icon in the wbar, or clicking on the name in the menu. Nothing more.
OnBoot means the application is mounted when you start the computer, but not started until you start it.
OnDemand means the application is not mounted when you start the computer. When you start it, it is mounted, then started.
Having apps in OnBoot means there is more in ram. Having apps in OnDemand, uses less ram.
Having apps in OnDemand results in the computer starting faster. When in OnBoot, they all need to be mounted, so the computer starts slower.
In OnDemand, the apps may start slower. Less than a second slower for most apps.
I have most apps in OnDemand. The computer starts quick, and uses less ram, even though I have enough ram to run them all in OnBoot.
I have a few apps in OnBoot. Some examples:
I run the Iptables firewall in OnBoot, and start it from /opt/bootlocal.sh. This way I don't need to do anything. It just runs every time I start the computer.
I run wget in OnBoot. Wget runs from the terminal. When you want to do a download, just do it. If you run it in OnDemand, you need to start if from the menu, before doing a download using the terminal.
It is a good idea to have sound in OnBoot, so it just works when you start the computer.
I run most other apps in OnDemand.
Another thing to be aware of using OnDemand. If you want to run an application as root, you need to run it as a regular user, and close it, before running it as root. For example, if you want to run Leafpad as root to edit certain files, you need to run it as a regular user first.
- - -
Extensions are automatically mounted. You don't need to do anything.
Applications are extensions in /tce/optional.
If you run them in OnBoot, or start them after running them in OnDemand, they are mounted in /tmp/tcloop. Files in the apps then become part of the filesystem. You can check, by running them in OnDemand, and seeing more extensions mounted when you start an app. Dependencies are also mounted in the same way.
I hope this makes it clearer.
-
That was really clear!! The wiki is clear too, but my issue with Emesene made me really confused... I'll have a better look on the installation of it.
Also, it's good to know that extensions are mounted in /tmp/tcloop and that in order to run applications as root they have to be run as regular user first.
The Iptables idea is great! Regarding sound, I have configured it in OnBoot too.
Thanks a lot for the explanation Guy! And thanks to the rest of the users for the support :).