Tiny Core Linux
General TC => Tiny Core on Virtual Machines => Topic started by: danielibarnes on April 14, 2011, 08:01:34 PM
-
I submitted my open-vm-tools extensions, and they are now posted. Since there are at least a half-dozen separate threads on the topic, I am starting a new one to centralize information on the extensions, helpful tips on their usage, and receive feedback on any issues. I tested these extensions with VMware Player 3.1.4 and VMware ESXi 4.1.0 Update 1.
There are seven extensions:
- open-vm-tools, -dev, -modules: tools built with only a glib2 dependency
- open-vm-tools-x, -dev, -modules: tools built with X support and a total of 37 dependencies.
- vm-scsi-2.6.33.3-tinycore: kernel modules for SCSI devices used by VMware guests
Since it doesn't depend on X, the open-vm-tools extension is ideal for Micro Core. It provides kernel modules such as the vmxnet driver for the "Flexible" adapter used by VMware Player. The vmmemctl driver, although no longer a part of open-vm-tools, is built from the last release of open-vm-tools that provided it. The vmtoolsd daemon is started with a script in /usr/local/etc/init.d. It will synchronize time with the host and work with Shared Folders. You can even create a VMware remix of Micro Core (http://forum.tinycorelinux.net/index.php?topic=8522.msg50534#msg50534).
The open-vm-tools-x extension depends on Xorg, and is a larger package. The extensions plus dependencies total about 40MB. In addition to the features provided by the basic extension, features such as mouse integration, the shared clipboard, Unity, and automatic screen resizing are provided and work as expected. The vmware-user daemon is started automatically when X starts in order to provide this functionality. Instructions for creating a VMware remix of Tiny Core (http://forum.tinycorelinux.net/index.php?topic=8522.msg50539#msg50539) are also available.
Tips:
- Do not run the startup script in /opt/bootlocal.sh with Tiny Core because X may start before the script has had a chance to set up the necessary files.
- The xclip extension is useful with the shared clipboard feature.
- In order to configure the vmxnet interfaces with a static address, be sure to specify the nodhcp bootcode and configure the interface after running the start script.
-
Great job, Daniel! I'm using VMWare Workstation a lot with TC, so thank you very much for this extension :)
-
vmxnet is included in the base?
-
vmxnet is included in the base?
vmxnet3 is included; vmxnet is not part of the linux kernel. Perhaps because the PCI ID is the same as the pcnet32 module.
-
Also thank you Daniel. I am a long time user of the other operating system and have been using TC to teach myself about the rest of the It world. I've decide to jump from v2 to v3 but I'm still learning Linux. Hence a couple of stupid questions if I may.
I have load open-vm-tools-x and vm-scsi... in a virtual TC session under VMWare Fusion 3 on an iMac 10.6 O/S. Both of these files are listed in the OnBoot Items in AppsAudit.
Apparently the vmtools is running OK because I now don't get an message to load it when I start the session. But the mouse still stays stuck in the session screen unless I manually release it (control-command). I see your reference to the xorg.conf being modified with the mouse "driver=vmmouse" line. My system has an xorg.conf.vesa file. I assume this is what needs modifying (it says "driver=mouse"). Problem is it is R/O. I ran sudo su before starting vi but it is persistently R/O. Is this the correct file and how can I get around the R/O please.
Secondly, in system stats I see the vmxnet loaded but no reference to flexible drive. I assume I don't need to worry about the "blacklist=..." option on startup.
Can you clarify that the nodhcp option is for open-vm-tools-x and that I should modify this to include nodhcp on my dhcp server (because it is static).
-
I can only provide you with an answer to your first problem:
As the '/etc/X11/xorg.conf.vesa' file is actually a symbolic link into a RO filesystem (of the squashFS "flavour") you stand no chance of chainging the content of this file directly. Furthermore you need to edit '/etc/X11/xorg.conf', so
(1) copy the file (e.g. via sudo cp /etc/X11/xorg.conf.vesa /etc/X11/xorg.conf) and then
(2) edit the "proper" configuration file (e.g. via sudo vi /etc/X11/xorg.conf). If things are working to your satisfaction you might want to
(3) include it in your backup (e.g. via echo etc/X11/xorg.conf >> /opt/.filetool.lst).
-
Thank you Maro - that makes sense now that its explained to me.
-
Also thank you Daniel. I am a long time user of the other operating system and have been using TC to teach myself about the rest of the It world. I've decide to jump from v2 to v3 but I'm still learning Linux. Hence a couple of stupid questions if I may
These are good questions, as any new user is going to have the same concerns.
Apparently the vmtools is running OK because I now don't get an message to load it when I start the session. But the mouse still stays stuck in the session screen unless I manually release it (control-command). I see your reference to the xorg.conf being modified with the mouse "driver=vmmouse" line. My system has an xorg.conf.vesa file. I assume this is what needs modifying (it says "driver=mouse"). Problem is it is R/O. I ran sudo su before starting vi but it is persistently R/O. Is this the correct file and how can I get around the R/O please.
You need to tell Xorg to auto-detect the VMware video device and create a new xorg.conf with the appropriate settings. You also need to create a backup of these files so they will be restored the next time you boot up. The backup file is stored in your tce directory, so this means your tce directory must be on persistent storage like a hard drive or usb flash drive.
tc@box:~$ sudo Xorg -configure
tc@box:~$ sudo mv /home/tc/xorg.conf.new /etc/X11/xorg.conf
tc@box:~$ echo etc/X11/xorg.conf >> /opt/.filetool.lst
tc@box:~$ echo /usr/local/etc/init.d/open-vm-tools-x start >> /opt/bootsync.sh
tc@box:~$ filetool.sh -b
Notes:
1) 'Xorg -configure" will auto-detect the proper settings and create a xorg.conf.new file in your home directory.
2) You must move it to the proper location for backup.
3) Add the xorg.conf file to you backup list.
4) Include the startup script in your bootsync.sh script for convenience.
5) Perform the backup.
Secondly, in system stats I see the vmxnet loaded but no reference to flexible drive. I assume I don't need to worry about the "blacklist=..." option on startup.
You only need the "blacklist=pcnet32" option if you see the module loaded:
tc@box:~$ lsmod|grep pcnet32
Can you clarify that the nodhcp option is for open-vm-tools-x and that I should modify this to include nodhcp on my dhcp server (because it is static).
If you aren't sure that you need it, then you don't. The nodhcp option is for users which need to configure the interface with a static IP address. Typical users have a DHCP server or use the one provided by VMware for NAT and host-only networking.
-
Thanks Daniel, I'll work through that over the next couple of days.
One of the VM's that I want to create is a database and DHCP / DNS server, hence the nodhcp question. I can set the IP address under VM for testing but will need to set it under TC when I build the actual server ( I have an old Dell server with a bucket load of SCSI disk space).
My next two challenges will then be getting aoetools working ( I see the thread) and install CouchDB (which I don't see anywhere).
Cheers and be well.
-
My next two challenges will then be getting aoetools working ( I see the thread) and install CouchDB (which I don't see anywhere).
I use couchdb in a VM, and I have a few tips. I presume you know or can find out how to customize and preserve files using a cpio archive or a backup tgz.
1) Customize /etc/couchdb/local.ini to store your databases on a virtual HDD. By default, they are stored in tmpfs (which is really just memory).
database_dir = /mnt/hda1/couchdb
view_index_dir = /mnt/hda1/couchdb
uri_file = /mnt/hda1/couchdb/couch.uri
2) Set your bind address to 0.0.0.0 in local.ini, otherwise connections will only be accepted from localhost:
bind_address = 0.0.0.0
3) Start couchdb in /opt/bootlocal.sh for convenience:
/etc/init.d/couchdb start &>/dev/null
-
Daniel, Can you please re-release the package for the 4.x of tinycore ?
-
Sorry, I am way behind in maintenance. I'll look into it.
-
Any updates ?
-
I will not have time to look at it until the end of the month.
-
Thanks for looking at this. It will really help me as well!
-
Could you maybe post just how you did it ? I tried to download the sources and compile myself, but was unsuccessful.
-
Hi ido
Saying you were unsuccessful is not the same as telling what steps you took and what error messages you received.
If you share that information, it is more likely that someone will offer some suggestions. If have not already done so,
install the compiletc extension.
-
I installed compiletc, and downloaded the open-vm-tools latest sources. I'm not exactly sure at which point I got stuck, since it was about a month ago when I opened the thread.
I just hoped the original package creator would update his release by now, that's all :)
-
Tried again. Installed all the requires libs.
configure went FINE with no errors:
./configure --disable-unity --without-gtk2 --without-gtkmm --without-procps
Make error:
tc@box:~/open-vm-tools-8.4.2-261024$ make
Making all in lib
make[1]: Entering directory `/home/tc/open-vm-tools-8.4.2-261024/lib'
Making all in guestRpc
make[2]: Entering directory `/home/tc/open-vm-tools-8.4.2-261024/lib/guestRpc'
if [ ../.. != ../.. ]; then \
cp -f ../../lib/guestRpc/cpFileContents.x .; \
fi
h -o cpFileContents.h ./cpFileContents.x
/bin/bash: h: command not found
make[2]: [cpFileContents.h] Error 127 (ignored)
/usr/local/bin/sed 's,rpc/rpc\.h,vmxrpc.h,' cpFileContents.h > cpFileContents.h.tmp
/usr/local/bin/sed: can't read cpFileContents.h: No such file or directory
make[2]: *** [cpFileContents.h] Error 2
make[2]: Leaving directory `/home/tc/open-vm-tools-8.4.2-261024/lib/guestRpc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/tc/open-vm-tools-8.4.2-261024/lib'
make: *** [all-recursive] Error 1
tc@box:~/open-vm-tools-8.4.2-261024$
Tried to go through makefiles and find out whats it is trying to do, but thats too complicated for me.
-
Seems the h: command not found is coming from rpcgen.
haven't figured out how to solve it.
-
Hi ido
I did a little digging and I think I found something useful. It looks like the actual command should look like:
rpcgen -h -o cpFileContents.h ./cpFileContents.xYou'll still have to track down where and why part of the line is missing.
-
Progress has been made, but still a no-go. I really with the maintainer would share his build commands or make us a package.
I installed rpcgen (which was missing, and hence the error) (in glibc_apps package)
I can configure, and then:
Make RPCGEN="rpcgen -Y /usr/local/bin"
Which failed because its missing generated Makeflie.normal in the module directories.
I then installed xmkmf (in the imake package), which I assumed is missing, but it did not fix it.
-
Anybody has an idea how to solve it?
Have identical error -h: file not found coming from rpcgen
while trying to build Open VM Tools 9.2.2 on Pure64
sebus
edit:
There seems to be a bug with rpcgen
https://mailman.archlinux.org/pipermail/arch-general/2012-July/028107.html
There is either a bug in Arch's packaging of glibc/rpcgen or it is upstream.
rpcgen was removed from glibc a while back and then was put back in when
libtirpc wasn't ready for use. Given this failure, after much investigation, it
was discovered that the rpcgen in glibc on arch searches for cpp in:
(1) /lib/cpp
(2) /usr/ccs/lib/cp (really...?)
Neither of which are present on Arch any longer leading to the tdebase build
failure. To fix the problem all I did was create a symlink in the archroot for
/lib/cpp->/usr/bin/cpp.
Even with link make does not work, but I can generate nicinfo.h & nicinfo_xdr.c by hand with rpcgen
The make carries on a bit further, but chokes on unknown type name 'Bool' (as per attachment)
-
Hi sebus
Did you install eglibc_apps.tcz ?
Also, rather than posting screen shots, you can copy from the terminal by holding down the left mouse button
and dragging the mouse. Then paste by clicking the middle mouse button.
-
Well, without working tools I can not really copy between VM & host (from which I am posting), also on laptop there is no middle button, but both buttons click works fine
Ofcourse I installed eglibc_apps.tcz which has rpcgen executable - see my previous message edit
sebus
-
Hi sebus
I think you may be missing some includes in your nicinfo.h or nicinfo_xdr.c file
A little Googling turns up the following:
bool is defined in stdbool.h or you can use _Bool
I don't know about uint32 but uint32_t is defined in stdint.h
-
I know, I can also Google the same.
The .h & .c get generated from .x not something that I write myself
I have few stdbool.h in filesystem
Ofcourse I can #include stdbool.h and/or stdint.h, but it makes no difference to this error
sebus
-
Well, without working tools I can not really copy between VM & host (from which I am posting), also on laptop there is no middle button, but both buttons click works fine
Shift+Insert ;)
-
Hi altogether,
I've saved some building instruction and scripts for the open-vm-tools an tinycore4 on github.com.
/lapawa/tc4-open-vm-tools
The resulting package do not reach the quality of danielibarnes ones but I'm working on that ;)
The impatient might give it a try and build the extension on their own.
Best regards
-
Could this be updated to TC 6
I'm trying to used VMWare shared folders
new post
http://forum.tinycorelinux.net/index.php/topic,19149.0.html
-
yes, they are extremely out of date. If I have the chance to work on it, I'll reply to this thread.