Windows installer for Linux Mint based on Wubi
C++ C Python Assembly Perl Shell Other
Switch branches/tags
Nothing to show
Clone or download
Latest commit 1d3b321 May 9, 2013
Failed to load latest commit information.
.bzr 12.04 May 10, 2012
blobs 11.10 Nov 8, 2011
data Updated version May 9, 2013
debian Updated changelog May 9, 2013
po Mint 13 May 10, 2012
src Don't hide the installer from the cd menu May 20, 2012
tests Fixed link key Nov 5, 2012
tools 12.04 May 10, 2012
.bzrignore Need .bzr to compile... (well... I know...) Oct 14, 2010
AUTHORS 10.04 May 11, 2010
LICENSE 10.04 May 11, 2010
Makefile 12.04 May 10, 2012
README fix typo; fix wiki link (issue #1) Feb 24, 2013
THANKS Mint 13 May 10, 2012
bin 10.04 May 11, 2010


== Introduction ==

Wubi is the Windows Linux Mint Installer. Wubi installs Linux Mint inside a file
within a Windows partition, and thus it does not require CD burning or
dedicated partitions, yet the installation is a dual boot setup identical
to a normal installation.

For more information see:

== Compiling ==

 * make: builds wubi.exe, note that the first time you run it, you will have
to install python inside of wine, this is performed automatically, just
confirm all the default choices in the installation screens that will appear.
 * make runpy: runs wubi under wine directly from source
 * make runbin: builds wubi and runs the packaged binary under wine
 * make wubizip: creates a special zip file conatining python.exe and non
   byte compiled python files that is convenient for debugging purposes.
   Inside of Windows, unzip the archive, then run
   "python.exe --verbose". You can edit any file inside of ./lib.
 * make pot: generates a gettext template (po/wubi.pot)

== Code overview ==

 * src/winui: thin ctypes wrapper around win32 native graphical user
 * src/pylauncher: makes python code into an executable, the python
script is examined and all the dependencies are added to an lzma
archive, then an executable header is concatenated to the archive that
decompresses it and runs the script using the python dll
 * src/wubi: the main wubi application, the code is split between backend
and frontend, where each runs in its own thread. The two interact via a
tasklist object, where the frontend usually runs a tasklist which is a set
of backend tasks. Backends and frontends are platform specific. For
now only the Windows platform is supported.
 * data: settings for wubi branding and customization
 * po: translations
 * bin: other binary files required at runtime (will be compiled at a later

== Wubi tasks ==

Wubi performs the following tasks

 * feteches information about the running system which will be used
during installation
 * checks that the minimum installation requirements are met
 * retrieves required user information via a GUI
 * looks for available local CDs and ISO files
 * downloads the ISO if one is required, using bittorrent and an http
download manager
 * checks the ISO/CD md5 sums and the md5 signature
 * extracts the kernel and initrd from the ISO
 * adds a new boot entry to the existing windows bootloader
 * prepares a preseed file to be used during the linux-side installation
 * allocates space for the virtual disk files

The actual installation is performed within linux after rebooting the

== Customizations ==

 * edit the files in data as appropriate and build your image
 * you will need to provide an ISO that is similar to the Linux Mint ISO and in
particular it must have .disk/info formatted like .disk/info in the Linux Mint ISO
 * you must provide a webserver with metalink file, metalink file md5
checksums and signatures for the md5 sums
 * add your signing key to data/trustedkeys.gpg
 * on the linux side, the distribution must be capable of booting and
rebooting off a loop file, perform an automatic installation and accept
the special boot parameters that indicate the local preseed file and ISO
image to boot from.

== License ==

GPL v2