![]() |
Tailwind - Live : Manual | html rev: 2010-Nov-05 |
|---|
|
Introduction FAQ (top)
Tailwind-Live is a Linux distro based on Debian and built using Live-Helper.
Most live distro's are designed to introduce a user to a particular way of packaging Linux (i.e. Debian, Ubuntu, Redhat Fedora etc.) with the hope that the user would then install the distribution onto a hard disk.
Once you've installed your live distro (either directly from the live CD or by downloading the installable Cd's), you then start customizing to tailor Linux to your particular needs by adding tools, adding users/passwords, fixing issues with media packages, fonts etc. Eventually you have what you want and you pray you don't have to do it again because you can't quite remember 'how you did it'.
The goal of Tailwind-Live is to give you everything you need and have it all working together as a Live distribution .. so you don't have to customize anything .. it just works.
Well yes, of course it is .. so 'my' solution is to simply replicate 'my' working environment and hope that you like it!
This is something like what you do when you invite someone to your home for dinner. You are given two choices .. you can try to guess what your guest will like and compromise your dinner by making food you are not that happy with OR you can simply make what you like and assume the user will like it too!
I prefer the latter approach because it at least ensures one person is happy!
In fact, the way I use this environment is to boot everything from hard drive.
With today's fast processors and large memory configurations, this results in a surprisingly fast computing environment.
You can experiment with adding new applications/configurations to the live environment and, when you have it right, you can re-build the distro with these changes. This makes it really easy to know exactly what you have in your build.
You can keep other users in sync with your improvements simply by copying one file over to the user's hard disk (filesystem.squashfs).
You no longer have to spend days configuring a Linux system for a user trying to remember 'how you did it' last time! Instead, you spend an hour setting up the hard disk partitions and grub boot and then add the live boot files and set a few Tailwind-Live configuration settings and you are done.
Harold Blount .. pleased to meet you!
contact: hb at tailwind-live dot org
/usr/local/bin there are three scripts that use mogrify to create
medium, small and thumbnail images from a large directory of images.
The programs are mk-pics-medium, mk-pics-small and mk_pics-thumb and all
you have to do is put your source pictures in a directory called large and then run the
appropriate script to create your new size.
(This is the mksq x3d option in Maker)
The directories /usr/share/zoneinfo, /usr/share/locale and /usr/share/doc
take up about 100Meg (compressed) space on the filesystem.squashfs image (i.e. grows from 840Meg
to 940Meg). To keep the size down, Tailwind-Live prunes these directories down to a size of around 25Meg.
See also Package Lists for a list of Debian packages typically found in Tailwind-live.
If you are running Tailwind-live right now, this file is found at the root and is called 'package.list'. You could open it with:
kwrite /package.list
in a shell. It will only list Debian packages of course and not the binary installed programs included in Tailwind-live.
One of the annoying things about CD-ROM/DVD Live Distros is that they respond slowly to user input because it takes time for the drive to spin up to speed to read data.
You can remove this 'hesitation' delay by installing Tailwind-Live on your hard drive.
To do this, boot into your default operating system
and copy the directory called 'live' from the Tailwind-Live DVD
to the root of your hard drive. (i.e. in Windows it might look something like: C:\live
when you are finished).
This works with virtually any partition type including NTFS, FAT32 or some other Linux partition.
Next time you boot Tailwind-Live from DVD, it will find your live directory on your
hard drive and finish booting from there for a marked speed improvement with the
added benefit of freeing up your CD-ROM/DVD drive for other uses.
If at any time you want to remove Tailwind-Live from your hard drive, simply delete this live
directory.
NOTE that if you are putting Tailwind-Live on an NTFS directory, you have to do it from Windows as described above as Linux can not write to an NTFS partition.
To connect to a wired network, simply plug your computer's network adapter into your network and then boot Tailwind-Live.
If this fails, open the Wicd Network Manager from the Xfce menu (under Network)
and try to connect to your wired Network with the Connect button.
NOTE: In some cases it seems that you may be connected to the network but the Wicd Network Manager does not seem to know and does not report the correct status.
If you are lucky, you may find that your wireless just 'works' and you can connect
using the Wicd Network Manager. In this case you are using the default kernel
wireless drivers which is fine.
If this is not the case, you may have to use another approach and that is the ndiswrapper tools.
To assist you with this, there is an example ndiswrapper driver script in the /live/twl_setup_dir/examples
directory called wireless-driver.sh. It is for the DLINK dwlg630 wireless network card
and sets up ndiswrapper and installs the windows drivers. If you copy this script (or one that has been
modified for your wireless card) in the /live/twl_setup_dir/scripts_custom directory,
Tailwind-Live will see this script and run it when it is setting up the network.
Tailwind-Live has a firewall pre-configured to start automatically when a network is connected and to shut-down once the network connection goes down.
The firewall is generally configured to allow the following ports access: 22 (ssh), 515 (lpd), 631 (cups)
and 80 (www). Only port 22 (ssh) will allow access beyond the network gateway.
See the Tailwind-Live script firewall-rules.sh for details.
DISCLAIMER: IT IS THE RESPONSIBILITY OF THE USER OF TAILWIND-LIVE TO UNDERSTAND THIS FIREWALL AND WHETHER IT MEETS THE USERS SECURITY REQUIREMENTS OR NOT. TAILWIND-LIVE AND NORDICWIND INC. ASSUME NO RESPONSIBILITY FOR ERRORS IN THE CONFIGURATION OR INTEGRATION OF THIS FIREWALL IN TAILWIND-LIVE.
Obviously a web browser is a good place to start to see if you are connected (firefox is an unbranded version firefox).
Another way to look at your network is
to open a Command Prompt (X terminal Emulator) and try the ping command on something like www.google.com
You can also run the ifconfig command as user root and you should see the status of
your network interface (usually eth0 or wlan0) and look for the inet addr: line to see if you
have an ip address.
Some wireless network cards come up as wlan0 and others
as ath0. Tailwind-Live tries to figure this
out for you and configure wicd correctly. It is possible that your wireless card
(or even wired card) is something stranger and you may have to change the settings in wicd
accordingly. A useful console command to figure this out is ifconfig -a
(as root user) which will list all (configured and not configured) network devices.
The WICD configuration files are in /etc/wicd and can be saved to your twl_setup_dir with the
savesettings-wicd script in /usr/share/tailwind-live/scripts.
The assumption here is that twl_setup_dir is NOT in ram but rather on a hard disk or flash as
configured in boot.sh. If twl_setup_dir IS in ram, then copy changes in this directory
over to your /live/image/live/twl_setup_dir so on next boot the ram version has your changes.
Of course, you will have to do this in multiple steps since /live/image is mounted as
read-only when Tailwind-Live is booted.
To play a DVD movie on Tailwind-Live, you need the decryption software which you might be able to download from here: http://www.debian-multimedia.org/dists/testing/main/binary-i386/package/libdvdcss2.php . (For legal reasons, the decryption software can not be included in Tailwind-Live).
If you place this Debian package file in the /live/twl_setup_dir/packages directory, Tailwind-Live
will automatically install this package and you will be able to see your movie!
Tailwind-Live has a program called mencoder in this package that can create mpeg movies from your digital camera.
I've only done it with files from a Canon Powershot SD600 digital camera and I don't know if the following command can be applied universally.
mencoder -o mymovie.mpeg -oac mp3lame -ovc lavc -srate 11025 \
-channels 1 -af-adv force=1 -lameopts preset=medium \
-vf scale=320:240 \
-lavcopts vcodec=msmpeg4v2:vbitrate=400 -mc 0 MYMOVIE.AVI
... where mymovie.mpeg is the new movie and MYMOVIE.AVI is the
file from the camera.
The simplest way to grab video and audio from your webcam seems to be with ffmpeg.
Here is what I do:
ffmpeg -r 25 -sameq -f video4linux2 -s 800x600 -i /dev/video0 -f alsa -i hw:1,0 mymovie.mpeg
To get a list of audio devices:
arecord -l
To checkout your webcam before recording:
vlc v4l2:///dev/video0:width=600:height=480
There is a way to record with vlc while monitoring input but I find it crashes after a few minutes.
And of course to play back your movie:
vlc mymovie.mpeg
There are a few approaches you can take to creating a working Tailwind-Live environment that runs just like a 'non-live' installed operating system.
The first way is around a Dual-boot Windows/Linux System where you share common files on a FAT32 partition and you have Linux partitions for Linux and NTFS partitions for Windows.
The second approach is a One-boot Linux System which only uses Linux partitions. If you understand how to setup a Tailwind-Live One-boot Linux System, you will find it easier to configure a Dual-boot Windows/Linux System and better understand what trade-offs you are willing to make creating the dual-boot.
The assumption here is that you are starting with a empty hard disk that you are going to re-format and DESTROY ANY EXISTING DATA ON THAT HARD DISK.
boot up Tailwind-Live from a DVD or CD-ROM drive.
open a shell
login as root (su - where password is 'windy')
run fdisk /dev/SDX where SDX is your hard drive .. usually hda or sda ... or use 'gparted'
create partitions to look similar to the following:
Device Boot (size...) (comment ...............) Id System /dev/SDX1 2gig /live version 0 83 Linux /dev/SDX2 2gig /live version 1 83 Linux /dev/SDX3 1gig optional if lots of ram 82 Linux swap / Solaris /dev/SDX4 * ??gig boot and user data 83 Linux
Format the partitions:
# mkfs.ext3 /dev/SDX1 # mkfs.ext3 /dev/SDX2 # mkswap /dev/SDX3 # mkfs.ext3 /dev/SDX4
copy Tailwind-Live files over:
# mkdir /live1 # mount /dev/SDX1 /live1 # cp -r /live/image/live /live1
create boot directory:
# mkdir /data # mount /dev/SDX4 /data # mkdir -p /data/boot/grub # cp /usr/lib/grub/i386-pc/* /data/boot/grub
create menu.lst in boot/grub to look as follows (modify hostname and username as required):
NOTE: vmlinuz-2.6.30-twl-2 and initramfs-2.6.30-twl-2 will differ with
different Tailwind-live releases .. check /live/image/live/ for current filenames.
default 0
timeout 5
# Pretty colours
color cyan/blue white/blue
title Tailwind-Live 0
root (hd0,0)
kernel /live/vmlinuz-2.6.30-twl-2 boot=live live-media=/dev/SDX1 union=aufs QUICKREBOOT=yes
hostname=tailwind username=baffin timezone=America/Montreal utc=yes
noxautologin twlflags=ssh:ntp
initrd /live/initramfs-2.6.30-twl-2
title Tailwind-Live 1
root (hd0,1)
kernel /live/vmlinuz-2.6.30-twl-2 boot=live live-media=/dev/SDX2 union=aufs QUICKREBOOT=yes
hostname=tailwind username=baffin timezone=America/Montreal utc=yes
noxautologin twlflags=ssh:ntp
initrd /live/initramfs-2.6.30-twl-2
## NOTE: the 3 'kernel' lines above are all one line!
## (some day you may need this ...)
## title Windows XP
## root (hd0,0)
## makeactive
## chainloader +1
install grub (using grub-legacy):
## if grub is not installed: # apt-get update # apt-get install grub-legacy ## create a local /boot so 'grub' does not complain: # mkdir -p /boot/grub # cp /usr/lib/grub/i386-pc/* /boot/grub ## start up grub and create new MBR # grub # root (hd0,3) # setup (hd0)
modify script /sda1/live/boot.sh to look like this at start:
#! /bin/bash ## This is a good place to mount any other required partitions ## i.e. : mkdir /data mount /dev/SDX4 /data ## This tells Tailwind-Live where to put the users account TWL_LINK="/data/tailwind_live_home"; ## this is the setup device (/dev/*) SETUP_DEV=""; ## this is the setup dir or mount point (if SETUP_DEV is not empty) SETUP_DIR='/data/twl_setup_dir'; ############ end of variable setup and customization #########################
un-mount file systems
#umount /live1 #umount /live2 #umount /data
You should now be able to boot your Tailwind-live computer without the DVD and it should come up and ask you for a password for your new username. If you did not change the username in menu.lst, then the password is 'bylot'.
To change the root password, open a shell and remove the file /data/twl_setup_dir/root.md5
and reboot. Tailwind-Live will ask you for a new root password when booting.
NOTE: The /dev/SDX2 partition can be used to switch to a new revision of Tailwind-Live. Don't
forget to include your changes to boot.sh when creating /dev/SDX2 .. then change the default value
to '1' in menu.lst and reboot!
In an earlier incarnation of Tailwind-live (FreeWRL) , the intent was to support accelerated graphics on as many video cards as possible. This is especially useful for opengl x3d/vmrl direct rendering (dri).
Presently the focus is now on MyPlace and Pushbutton Linux and so the requirement for opengl has now diminished and the only driver supported is the NVIDIA GeForce driver along with Intel.
Wouldn't you know it - I found an old laptop that boots up fine with this version of Tailwind-Live
except the cursor does not appear! So the solution is to use the Frame Buffer Graphics driver (called fbdev).
The default xserve-xorg video driver library that is included in Debian supports Intel and many of the earlier ATI chip sets automatically and the user should not need to specify an NVIDIA or ATI driver if this is the case.
To enable the automatic loading of NVIDIA Drivers by Tailwind-Live, add the following flag to the boot parameters in your grub menu.lst file:
twlflags=nvidia
.. and for the Intel Frame Buffer driver:
twlflags=fbdev
To boot Tailwind-live on an Acer Aspire One, select the Aspire One menu item in
the grub menu and this will tell Tailwind-live to use xorg.conf.aspireone which adjusts the font size.
NOTE that this simply adds the aspireone flag to twlflags boot parameter.
I've tried letting the machine crash when the power dries up and it re-boots ok since just about everything is ram-based and the Tailwind-live boot files are all mounted as read-only. You won't want to do that too often if you have an SD flash mounted as writable and are working on a document!
See http://wiki.debian.org/DebianAcerOne for more info on card readers and fonts. The large font fix works great.
Windows systems like to set the computers hardware clock to local time but Linux systems prefer UTC (GMT) time because ntp (network time protocol) servers that Linux can interface with work (only?) with a UTC system clock.
This means that when you boot Tailwind-Live from a computer that runs Windows, the time may be incorrect.
If your computers hardware (bios) clock is on local time, set the grub boot parameter UTC=no and don't set
any timezones.
If you want to use the network to set your system clock, then set the twlflag boot parameter to include the flag ntp and set UTC=yes and set your timezone.
The Nordicwind Document Management System (NOAH) is a server-based documentation system that manages document revisions in a central repository.
NOAH's Web browser interface makes it easy for a user to create, update, lock, search and manage revisions of a family of documents for access by multiple users across many geographical sites.
NOAH is installed by default in Tailwind-Live and auto configures itself to store data in the
directory /home/noah.
THIS MEANS THAT IF YOU UPLOAD FILES IN NOAH THEY WILL DISAPPEAR WHEN YOU RE-BOOT TAILWIND-LIVE.
To store data permanently with Tailwind-Live, adjust your /live/boot.sh script to
mount the correct hard disk and create a link in /home so that noah points to
the correct directory on your hard disk.
i.e.
# mkdir /data # mount /dev/SDX4 /data # mkdir -p /data/noah # ln -s /data/noah /home/noah
To access NOAH go to http://localhost/cgi-bin/noah/
To approve new usernames and passwords, log in as user 'admin' with password 'blizzard' and go to 'manage users/groups'.
Don't forget to change your admin password to something more secure!
.. and read the Help and FAQs for NOAH (upper right corner of most NOAH pages or on-line at http://www.nordicwind.ca/noah
NOTE: that NOAH is access on port 80 (www) and that the firewall in Tailwind-Live limits access of port 80 to the local network and denies access beyond the GATEWAY.
IT IS UP TO THE USER TO VERIFY THAT THE TAILWIND-LIVE FIREWALL IS PERFORMING AS EXPECTED AND TAILWIND-LIVE and NORDICWIND INC. TAKE NO RESPONSIBILITY FOR FIREWALL CONFIGURATION ERRORS.
It is inevitable that you will find Debian packages that you would like to include with Tailwind-Live and so here is how you go about doing just that!
First thing to know is that Tailwind-Live is based on Debian/Squeeze which was 'Testing' in the summer of 2010.
Find the Debian package that you want to install and download it to
your working Tailwind-Live OS. It will be a file ending in '.deb'.
Log in as root user (password 'windy') and run the command 'dpkg -i filename' where filename is the name of the .deb file (with extension).
... and verify that the package works!
Now that you know that the .deb file works, put it in the twl_setup_dir/packages directory
(assuming a hard disk boot) and reboot!
Tailwind-Live will look in this directory and automatically install .deb files when it boots up.
Release skype-debian_2.1.0.47-1_i386.deb seems to work well. Release skype-debian_2.1.0.81-1_i386.deb seems to be buggy and crashes when a call comes in. (June 2010)
In the latest releases of Tailwind-live, the latest v4l-dvb drivers are included.
There are two ways:
Tailwind-Live comes with an ssh server which is started on boot-up if
the GRUB kernel parameter twlflags has the ssh flag present
(i.e. twlflags=ssh).
This is generally the default GRUB configuration, but check if in doubt.
When the ssh server is started, it uses the pre-generated openssl keys that come with Tailwind-Live.
This is mostly a convenience because if Tailwind-Live generated a new set of keys on every boot, you would be forever getting 'Man-in-the-Middle' attack warnings from the ssh client on your other machines.
In some cases you may want to generate new ssh keys on boot up and so
add genkeys to the twlflags kernel parameter option. It might look like twlflags=ssh:genkeys.
If you are on a Windows system, then try something like 'Putty' (google). On a Linux OS, the usual approach is to open a shell window (sometimes called a command prompt) and use the ssh command .. something like:
ssh freewrl@192.168.0.52
Another way to connect to your Tailwind-Live computer is through VNC.
The VNC client installed in Tailwind-Live is xtightvnc and it is capable of tunneling through the ssh server on a Tailwind-Live computer.
For example, if you have one Tailwind-Live computer wanting to remotely display the desktop of another Tailwind-Live computer, open a shell and type the following command:
xtightvncviewer -via baffin@192.168.0.100 localhost
Notice the IP Address of the target Tailwind-Live machine .. it could also be a hostname if available.
Of course if the username is different, change that as well.
You will now be able to view the existing desktop and move the mouse and generally control that machine including shutting it down etc.
For Windows machines, look at ssvnc at sourceforge:
http://sourceforge.net/projects/ssvnc/
This method requires the user on the TARGET machine to know what IP address it wants to invite a VNC connection from .. and requires the user at the INVITED end (i.e. the user that wants to access the TARGET machine) to be running VNC in 'listen' mode.
This is what you do at the TARGET machine:
x11vnc -display :0 -solid grey -noxdamage -connect_or_exit IP -passwd PWD -norc -timeout 2 # where IP is the IP address that you are inviting to your desktop # and PWD is the password that you want that person to use to log in to # your machine.
The beauty of this approach is you don't have to worry about opening the firewall ports on the TARGET network. Ofcourse the downside is the OTHER computer (the invited) needs port 5500 open and mapped.
If you are not sure of your IP Address, then the wicd tool may tell you
(but not always .. there is a status/IP Address display bug that shows up on some computers).
The other sure way is to open a shell and login to root (su - ... password:windy) and
run the command ifconfig and you should see your IP Address in the line 'inet addr'
on your interface (usually eth0 if wired, wlan0 or ath0 if wireless)
Tailwind-Live has a firewall setup using iptables. See the firewall script at
/usr/share/tailwind-live/scripts/firewall-rules.sh and search for ssh.
If the Tailwind-Live firewall has been modified or does not suite your requirements, this
is where you make fixes and then put the script in the /live/twl_setup_dir/scripts_custom
directory.
Starting and stopping your network connection will start and stop the firewall.
You can see the firewall rules with the command:
iptables -L -n
(Use -n option for numeric so the domain names do not have to be resolved .. which can be slow)
The one thing that can cause a rejection of your xtightvncviewer connection is
if the network address changes (perhaps you changed the IP Address associated with that
computer, or switch from wired to wireless).
The simple solution to this is to log out of your X windows session and log back in. (If you are 'autologin', then you will first go to a command console and then after a small delay, the X Window System will restart). You should now be able to connect.
When xtightvncviewer connects to a remote Tailwind-Live desktop, it does
it by tunneling through ssh and starting x11vnc on the remote machine.
On the client side, its the environment variable VNC_VIA_CMD that xtightvncviewer
uses to start x11vnc on the remote machine. This variable is defined in /etc/profile
and looks like:
VNC_VIA_CMD="ssh -f -t -L %L:%H:%R %G x11vnc; sleep 5" export VNC_VIA_CMD
On the remote machine that xtightvncviewer is connecting to, x11vnc
gets it's settings from the .x11vnc configuration file that it expects
to see in the target users home directory.
-localhost -rfbport 5900 -display :0 -nopw -solid grey -timeout 60 -noxdamage
The -noxdamage option is to improve behaviour for openGL.
Let's summarize some info you may need .. depending on what you are doing:
root password: windy
Default Tailwind-live username: baffin password: bylot
Default Freewrl-centric username: freewrl password: x3d
How to change the boot up username: set GRUB kernel parameter username to new username
Link to manage printer(s) via CUPS:http://localhost:631
(If asked for a username its: root .. and you know the password now!)
How to print a file from the command line: lp 'filename' (not lpr ..)
How to print a page of 4 photos on glossy photo paper:
# montage -geometry 800x800+4+4 photo1.jpg photo2.jpg photo3.jpg photo4.jpg montage.jpg gwenview montage.jpg #Rotate image 90 deg if it looks like it would better fit a portrait print.
How to make an iso file:
# mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \ # -boot-load-size 4 -boot-info-table -o new.iso iso_dirwhere
new.iso is your new iso file and iso_dir is the directory
with all your files/dirs for this new iso file.
How to burn a DVD:
# growisofs -Z /dev/hdc xfce-oo.iso # .. where /dev/hdc is the DVD drive
How to check md5sum of DVD:
# ls -plat xfce-oo.iso to find the iso size
# divide this number by 2048 and call it 'n' (you could use bc -l for this math)
# md5sum xfce-oo.iso
# dd if=/dev/hdc bs=2048 count='n' | md5sum
# ... where 'n' is the 'n' calculated in step 2 and /dev/hdc is the DVD drive.
# Try to remember to write the number 'n' on the DVD to make it easier to calculate
# md5sum later ..
How to mount an iso image file (read-only?):
# mkdir /mnt/iso # mount -o loop -t iso9660 file.iso /mnt/iso
How to mount a filesystem.squashfs file:
# mkdir /mnt/squashfs # mount -o loop -t squashfs filesystem.squashfs /mnt/squashfs
How to create a new password: go to the twl_setup_dir and remove the 'username'.md5 file. Next time you reboot,
Tailwind-Live will ask for a new password.
But wait! .. my twl_setup_dir gets regenerated every time I reboot .. because I am RAM based! .. what now?
In this case, you need to go to the /live directory either on the DVD or on another hard disk and save the new 'username'.md5
file in the /live/twl_setup_dir. Obviously if it's a DVD, you'll have to re-burn your DVD. The better approach is to copy the
/live directory to a hard disk partition .. then you can easily change the 'username'.md5 file.
That's a pain, just tell me how to generate a 'username'.md5 file directly and I'll copy it to where it has to go!
OK .. go to /usr/share/tailwind-live/scripts and run the script:
# ./genpw.sh 'username' # grep SETUP_DIR /etc/tailwind-live.conf ## (to get location of new md5 file .. you know what to do now ...)
How to re-work the Tailwind-live filesystem.squashfs to add a new application, change a setup etc.
# apt-get update # apt-get install squashfs-tools ## ... copy /live/image/live/filesystem.squashfs to a working directory # unsquashfs filesystem.squashfs # (creates squashfs-root) # chroot squashfs-root # mount -t proc proc proc # mount -t sysfs sys sys ## ... make your changes .. ## (if you need Internet connectivity, make sure /etc/resolv.conf is correct!) # unmount /proc # unmount /sys # exit # rm new.squashfs #(if it exists) # mksquashfs squashfs-root new.squashfs ## (note .. if you forgot to unmount /proc and /sys, mksquashfs will fail.) ## (also note: remove OLD version of new.squashfs before mksquashfs) ## ... thats it!
NOTE: you could remove the /boot directory here as it is not needed when booting Tailwind-Live as the initrd and vmlinuz files are in the /live directory. You could save 20Meg.
Use Tailwind-Live Maker.
how to add another user:
#adduser 'newuser' #NOTE: not useradd as this would not use the /etc/skel (skeleton) files!Of course this new user would disappear after reboot!
The Tailwind-Live boot-up deviates from the standard Linux and Live-Debian boot-up to make customization of many user and machine specific features easier.
The boot process goes like this:
Linux boots normally until it gets to the end of the first multi-user runlevel (3)
and then it executes /etc/rc.local.
/etc/rc.local normally does nothing, but in Tailwind-Live it copies
/live/image/live/boot.sh to the directory /usr/local/tailwind-live and executes it.
NOTE: /live/image is the mount point for the boot medium (typically the DVD) and hence /live/image/live is the path to the directory live on the medium.
Assuming you have not customized boot.sh, the script copies /live/twl_setup_dir
to /home/twl_setup_dir (which is writable), reads some boot command line settings and
creates /etc/tailwind-live.conf with a number of parameters which subsequent scripts will
read. One of the more important parameters is $SETUP_DIR which is the path to the writable
version of twl_setup_dir.
boot.sh will eventually call the startup.sh script in /usr/share/tailwind-live/scripts but first it checks for script updates in $SETUP_DIR/scripts_custom and, if some are found, copies them
into /usr/share/tailwind-live/scripts.
Similarly, files in $SETUP_DIR/docs are copied to /usr/share/tailwind-live/docs,
files in $SETUP_DIR/freewrl/docs are copied to /usr/share/freewrl/docs
and files in $SETUP_DIR/freewrl/images are copied to /usr/share/freewrl/images.
This provides a way of updating documentation for Tailwind-Live without having to re-build the squashfs image from live-debian as well as a means of 'fixing' or customizing Tailwind-live scripts before they are incorporated into the squashfs image.
When boot.sh finally calls startup.sh, the output gets directed
to /var/tmp/twl.log. (Until then, output was being logged to /var/log/live.log.)
startup.sh is the main configuration script for Tailwind-Live and it does the following:
Create /etc/hosts if $SETUP_DIR/hosts exists to define local network host names.
Create /etc/X11/xorg.conf if $SETUP_DIR/xorg.conf exists to permit customization of
X windowing environment.
See GRUB kernel option: twlflags for more xorg.conf support options.
Setup true type fonts from Microsoft if $SETUP_DIR/msttcorefonts.tgz exists and you don't like
default liberation fonts.
Check for .deb packages in $SETUP_DIR/packages and install them.
This is where you can put packages to manage DVD security codes, Skype and other packages that can not be legally distributed with Tailwind-Live but are must-haves.
Check /etc/cups/ppd and see if $SETUP_DIR/cups.tgz exists and should be installed
to get printing to work.
Decide if sshd needs to be configured and started.
Check for $SETUP_DIR/apache2/default and configure and start apache2 web server and NOAH if it does.
Check for various configuration files and optionally setup fetchmail
(gets incoming mail off an external server like GMAIL), exim (a MTA - moves icoming and outgoing mail around)
and courier IMAP (a mail server that serves up emails using IMAP protocol).
To configure these tools, startup.sh tests for HOME_PB, (in /etc/tailwind-live.conf),
SETUP_DIR/etc_exim4.tgz and SETUP_DIR/etc_default_fetchmailrc. See start.sh script
for more details.
Run setpw.sh script to set root and $USERNAME passwords if
$SETUP_DIR/root.md5 and $SETUP_DIR/$USERNAME.md5 exist. If they do not, prompt for passwords.
Run setuserhome.sh script to setup the $USERNAME home directory.
This is important if $TWL_LINK has been set and needs to re-direct the user home directory to
a non-ram disk location.
This script also checks for $SETUP_DIR/$USERNAME-dot and, if this directory exists
and if dot_overwrite is found in twlflags, it re-creates
the dot directories from there. This is useful for a 'granny'
computer where you want the defaults to come up exactly the same every boot.
Infact, this does not have to be restricted to 'dot' files because this script simply extracts all .tgz files it finds in the $SETUP_DIR/$USERNAME-dot directory. If $SETUP_DIR/$USERNAME-dot does NOT exist it will use $SETUP_DIR/default-dot if it does exist.
Adjusts /etc/sudoers to permit users to call shutdown and stops any user from getting
root access through sudo.
Check twlflags for video options and install/enable NVIDIA graphics drivers if appropriate.
Run setupnetwork.sh to setup the network, start dhclient with eth0 if possible, setup firewall and configure WICD (wireless controller).
If $SETUP_DIR/X* files exist, copy to /etc/X11/xdm. This is used to customize
appearance of the xdm login screen.
FINALLY, if this is a login boot (noxautologin is in GRUB kernel command line), then start xdm and exit.
ELSE if this is an xautologin, then simply exit startup.sh
The final step in boot-up is done by the /etc/profile script which is run when a user
first logins in to a shell.
Live-Debian is setup to have the USERNAME automatically spawn and login to /dev/tty1 through tty6.
The Tailwind-Live addition to the /etc/profile script
checks to see if it is /dev/tty1 and if it is, and the USERNAME is correct and AUTOLOGIN is "yes"
and a few other things are ok, then it runs startx which starts X and the XFCE4 window manager
without any login prompt.
Note: for more details, see the /usr/local/share/tailwind-live/scripts/startup.sh script
for more details .. it is well documented!
(content yet to be written)
You can download a Tailwind-Live Make CD-ROM image here that's 85Meg in size and then make your own super-sized DVD of Tailwind-Live.
When booting Tailwind-Live from DVD or CD-ROM, the GRUB boot loader is the first thing you see.
Here is a link to the help files accessible from the menus in the GRUB boot loader.
To simplify enabling some of the Tailwind-Live boot options, a kernel
option twlflags is used where each option is separated with a ':'.
For example, if you want to set the ssh and utc options,
it would look as follows:
twlflags=ssh:utc
Here is a summary of the currently used twlflags parameters:
ssh : starts ssh server - generates ssh keys if they do not exist.
nvidia : load NVIDIA video driver (recent video cards only)
aspireone : load Acer Aspire One xorg.config.aspireone
viachrome : load Via Chrome xorg.config.viachrome
msi : load MSI TopWind touchscreen xorg.config.msi along with touchscreen drivers
eeetop : load ASUS EEE Topxorg.config.eeetop along with touchscreen drivers
genkeys : generate new ssh keys on boot even if $SETUP_DIR/ssh-keys.tgz
exists. You can use mktgz-ssh-keys script to create a new
$SETUP_DIR/ssh-keys.tgz for next reboot.
ntp : set clock with ntp when network starts.
dot_overwrite : enable dot file/dir overwrite on boot in users directory. See dot_overwrite for more info.
New for v0.8.5 is a graphical language/keyboard tool which is accessible on the bottom toolbar
once you have booted into Tailwind-Live. Look for the
icon!
The language/keyboard mapping is controlled by the file lancodes.txt which is
located in the directory /usr/local/etc.
If you want to alter this file for different
language selection, edit it and place it in SETUP_DIR and Tailwind-live will see it on boot-up
and install it for you.
NOTE that this graphical language/keyboard tool is available in xdm if you
choose to disable autologin.
If you would rather control language and keyboard through GRUB, you will need
to set the locale and keyb
boot parameters to your keyboard/language of choice.
Some examples:
locale=de_DE.utf8 keyb=de for German (quertz keyboard)
locale=fr_FR.utf8 keyb=fr for French
locale=sv_SE.utf8 keyb=se for Sweden
When the grub menu comes up, hit 'e' to edit and scroll down one line to
the kernel line and hit 'e' and add locale=de_DE.utf8 keyb=de to the end
of the line and hit RETURN and b for boot.
You should boot into a german keyboard (qwertz) and various locale-enabled windows will be in german. I see that firefox does not show german :( but many other tools do.
In the future, the plan is to add a better way to select keyboard/language preferences on bootup through a more 'intellegent' GRUB menu.
Tailwind-Live, like many Linux Distros, is a compilation of many programs and applications.
In general, most of this software is free to download and use and in many cases it is also free and unrestricted for users to modify and redistribute the modified code.
Tailwind-Live is based on the Debian Linux distribution which prides itself in producing 'free' Linux distros. See http://www.debian.org/social_contract.
That said, there is code in Tailwind-Live that is 'non-free' by Debians definition and thus there are some licenses in this Tailwind-Live distro that you may want to be aware of.
The list is:
RealPlayer11GOLD : LICENSE
Everyone else:
ls /usr/share/doc/*/copyright
The Tailwind-live documentation is concentrated in one file called manual.html ... which is THIS html page.
To conduct a search in THIS document, use the search function in your browser which is usually accessed with the Ctrl-F key combination (opens search window at bottom of the Iceweasel browser). The Ctrl-G key combination repeats a search.
In Firefox/Iceweasel/Mozilla products, the forward slash (/) opens a temporary 'quick' search window (a vi carry-over).
You may also find the Sitemap useful.
fbdev to Graphics
dot_overwrite.
twlflags to GRUB help files and added a summary to this manual in the GRUB section.
| Copyright © 2007-2009 Nordicwind Inc. All rights reserved. | Legal Statement | Privacy | |
| Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved. |