Read Me
Tuxboot Modify from UNetbootin Revision 485
Homepage at http://tuxboot.sourceforge.net
Licensed under the GNU GPL v2 and above, components from other projects are licensed under their respective licenses
UNetbootin Source Revision 485
Copyright Geza Kovacs
Homepage at http://unetbootin.sourceforge.net
Licensed under the GNU GPL v2 and above, components from other projects are licensed under their respective licenses
Build generated on Sun Jun 20 15:52:33 PDT 2010
See http://tuxboot.wiki.sourceforge.net/compile for build instructions
Building a Dynamically Linked Version
Dynamically linked builds are most useful for packaging into Linux distributions. If you are attempting to standalone version for deployment on Windows, go to the statically linked section.
Prerequisites
Latest "clean" tarball at http://tuxboot.sourceforge.net/tuxboot-source-clean-latest.tar.gz
libqt4-dev
g++
Instructions
1. Extract the tarball and cd to it
2. Run either the "INSTALL" script, or the following commands:
sed -i '/^RESOURCES/d' tuxboot.pro
lupdate-qt4 tuxboot.pro
lrelease-qt4 tuxboot.pro
qmake-qt4 "DEFINES += NOSTATIC" "RESOURCES -= tuxboot.qrc"
make
3. A dynamically linked executable which you can package will then be generated at "tuxboot"
4. If building a package, place the tuxboot_*.qm files in the /usr/share/tuxboot/ directory to enable the usage of localization.
5. If building a package, add "syslinux", "p7zip-full", "libqt4-core" (libQtCore.so.4), "libqt4-gui" (libQtGui.so.4), and "libqt4-network" (libQtNetwork.so.4) as dependencies.
Building a Statically Linked Version
Statically linked builds are most useful for standalone deployment, not packaging. They are the type that is available for download on the website.
Build System
I build on Ubuntu with g++ and mingw32, though it should work on other distributions as well.
Prerequisites
Latest source zip package at http://tuxboot.sourceforge.net/tuxboot-source-latest.zip
libqt4-dev
mingw32
g++
Instructions (Simple)
These instructions use pre-compiled versions of static Qt4 for Windows and Linux. If you'd like to build statically linked versions of Qt4 yourself, use the manual instructions instead.
1. Go to http://launchpad.net/tuxboot/+download and download these files:
qt4-win.7z http://launchpad.net/tuxboot/trunk/trunk/+download/qt4-win.7z
qt4-x11-glibc23.7z http://launchpad.net/tuxboot/trunk/trunk/+download/qt4-x11-glibc23.7z
Or if you can handle a GLIBC 2.4 dependency:
qt4-x11.7z http://launchpad.net/tuxboot/trunk/trunk/+download/qt4-x11.7z
2. Extract those files using 7-zip http://www.7-zip.org/ or p7zip-full on Linux, to get the directories "qt4-win" and "qt4-x11"
3. Move the qt4-win and qt4-x11 directories into the tuxboot build directory (the same directory containing the files tuxboot.cpp and tuxboot.pro, which is src/tuxboot in the repository).
4. cd to the tuxboot build directory, and run the script "./build"
5. Statically linked tuxboot binaries should be generated in the release subdirectory.
Instructions (Manual)
1) Build a statically linked Qt4 for Windows (instructions from http://doc.trolltech.com/4.3/deployment-windows.html#static-linking and http://qtnode.net/wiki?title=Building_static )
cd C:\Qt4
configure -static
make sub-src
2) Set up cross-compile environment (instructions from http://gentoo-wiki.com/HOWTO_MinGW_and_Qt4 )
If cross-compiling on Ubuntu, simply copy the file qmake-qt4.conf to /usr/share/qt4/mkspecs/win32-g++/qmake-qt4.conf
3) Copy over your statically linked Windows qt4 install directory to /usr/$(ls /usr/ | grep mingw32 | head --lines 1)/Qt/
4) Go to the directory containing the source files (tuxboot.cpp, main.cpp, tuxboot.pro, etc.), and run "./build" to automate steps 4 and 5, or to do it manually, run the following commands:
qmake -spec win32-g++ "RESOURCES += tuxboot-windows.qrc" "RC_FILE += ubnembed.rc" "QMAKE_LFLAGS += -Wl,-subsystem,windows"
make
5) You should now have a Windows .exe file at release/tuxboot.exe
To reduce file size, compress the executable using upx ( http://upx.sourceforge.net/ )
./upx --lzma ./tuxboot.exe
rsync -e ssh release/* thomas_tsai,tuxboot@frs.sourceforge.net:/home/frs/project/t/tu/tuxboot/`date +%G%m%d`/
git archive --format=tar --prefix=tuxboot-$ver/ HEAD | gzip > ../tuxboot-$ver.tar.gz
7z Licenses for files are:
1) 7z.dll: GNU LGPL + unRAR restriction
2) All other files: GNU LGPL
The GNU LGPL + unRAR restriction means that you must follow both
GNU LGPL rules and unRAR restriction rules.
Note:
You can use 7-Zip on any computer, including a computer in a commercial
organization. You don't need to register or pay for 7-Zip.
GNU LGPL information
--------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You can receive a copy of the GNU Lesser General Public License from
http://www.gnu.org/
unRAR restriction
-----------------
The decompression engine for RAR archives was developed using source
code of unRAR program.
All copyrights to original unRAR code are owned by Alexander Roshal.
The license for original unRAR code has the following restriction:
The unRAR sources cannot be used to re-create the RAR compression algorithm,
which is proprietary. Distribution of modified unRAR sources in separate form
or as a part of other software is permitted, provided that it is clearly
stated in the documentation and source comments that the code may
not be used to develop a RAR (WinRAR) compatible archiver.