usb-installation-images blueprint can be more easily implemented with my existing tool, UNetbootin?
Colin Watson
cjwatson at ubuntu.com
Wed Jun 25 11:29:19 BST 2008
On Tue, Jun 24, 2008 at 10:41:55PM -0700, Geza Kovacs wrote:
> I see that the "Install Ubuntu from a USB disk" spec has been approved
> for 8.10, and would like to help out with implementing the feature.
> However, judging from the spec, I believe that the proposed approach of
> writing multiple frontends for each platform on top of a Python backend
> is a rather inefficient both in terms of maintainability and executable
> size,
Executable size aside, Python is typically far more maintainable than
C++ (at least for us), and we have significantly more Python than C++
experience in the Ubuntu team.
> and that some of my code for UNetbootin, which already performs
> graphical USB installation from Windows/Linux, could be modified and
> reused to yield a cross-platform solution, rather than starting to write
> the application from scratch. I've posted the following comment at
> http://wiki.ubuntu.com/USBInstallationImages but I'm sending in to the
> list in case it isn't noticed:
UNetbootin would have to be rather seriously cut down. We don't want an
all-singing all-dancing UI here - in fact, the fewer options the better,
I think!
I haven't looked at the code, though. Evan, could you look over it and
see what you think?
> Additionally, Python-GTK is a rather poor choice for usage on Windows;
> it will lead to an extremely large executable size since the Python
> runtime and GTK libraries, which amount to several megabytes even once
> compressed, will have to be bundled in. I believe that C++ and Qt4
> (which UNetbootin is written in) would be a much better choice for
> this particular task, since Qt4 has better integration with the native
> Windows look and feel, and there will be no issues with Qt licensing
> because Ubuntu is licensed under the GPL.
Windows is not the only concern, and is not even the most important
concern. We want to be able to ship this with Ubuntu (as distinct from
Kubuntu), and we do not want to ship Qt with Ubuntu; in fact, doing so
would make us unable to ship this application on the Ubuntu CD due to
size constraints, which would be quite self-defeating. Even if it would
fit, Qt is not going to have as good integration with the native Ubuntu
look and feel as GTK.
Let me be very clear here: while a Windows frontend would be useful, we
need to put Ubuntu first in this design, *not* Windows. After all, if
you don't have another Ubuntu machine to hand, you can always just boot
the Ubuntu live CD on a system with a CD drive, attach a USB stick, and
run this application; that would be easy for us to document and it might
even fit on the CD sleeve text if done properly. This is something we
have to support, and it won't be feasible with Qt.
Multiple frontends will be necessary to avoid this problem no matter
what, so we need to start out with that assumption in the design. Is
UNetbootin already designed with a separation between frontend and
backend?
Regards,
--
Colin Watson [cjwatson at ubuntu.com]
More information about the Ubuntu-installer
mailing list