PDA

View Full Version : Windows-based Ubuntu Installer Development Thread (merged parts 1 and 2)



Pages : [1] 2 3 4 5 6 7 8

tuxcantfly
November 23rd, 2006, 02:11 AM
THIS THREAD, FORMERLY TITLED " Idea: Install via windows on loopmounted ntfs?" HAS BEEN MERGED TOGETHER WITH ITS CONTINUATION THREAD, FORMERLY TITLED "Windows based installer - testers and developers wanted", FOR EASIER TRACKING/READABILITY PURPOSES. THE BEGINNING OF THE SECOND PART OF THE THREAD IS HERE: http://ubuntuforums.org/showthread.php?p=2011371#post2011371

THIS THREAD IS OUTDATED. THE ORIGINAL WINDOWS-BASED UBUNTU INSTALLER SITE IS AT http://cutlersoftware.com/ubuntusetup/archive/website/original/, THE SPECIFICATION IS AT https://wiki.ubuntu.com/install.exe, THE NEW WUBI SITE IS AT http://wubi.sourceforge.net, THE LUBI/LVPM/UNETBOOTIN/BUBAKUP SITE IS AT http://lubi.sourceforge.net, AND THE FORUMS ARE AT http://ubuntuforums.org/forumdisplay.php?f=234

Original Thread Begins Here:

A PROTOTYPE IS NOW AVAILABLE! SEE https://wiki.ubuntu.com/install.exe/Prototype FOR DOWNLOADING AND INSTALLATION INSTRUCTIONS!

A major barrier for entry into the ubuntu world is the installation process. Not too many people know how to burn an iso, set the BIOS to boot from a cd, and format a hard drive, and few are patient enough to read documentation how to figure out how to do so, so they just give up on ubuntu. A way to fix this problem is to let people download ubuntu in the form of a setup.exe installer, which will install ubuntu in a loopmounted partition, as a file in the ntfs partition, and install a bootloader which will allow booting from ubuntu or windows, like topologilinux http://www.topologilinux.com/ does. Think of what this would mean:

1. Much simpler installation: just download setup.exe, double click, next-next-next, reboot, welcome to ubuntu.

2. No need to partition; no chance of data loss.

3. No need to burn a cd for those with no cd writers, or no spare cds.

4. No need to reboot into the live cd to install; just download and install in windows.

5. Lowered risk of someone doing something wrong; no chance of screwup while burning the iso, booting from the cd, or partitioning.

6. Quicker installation; it'll be getting the installation files from the hard drive, not from the cd.

7. It'll have much better performance than a live cd, and will be nearly as fast as a standard installation, so it'll be a much more realistic performance preview.

8. We could even include an "uninstall ubuntu" option that will restore the original windows bootloader and remove the loopmounted file to reassure those people who are scared that ubuntu will destroy their system irreparably.

9 (maybe). We might even allow people to upgrade to a full-blown ubuntu on a dedicated partition if they want to get rid of windows and get a performance boost by shrinking the ntfs partition, cloning the loopmounted file into a real filesystem in the new space freed up, then deleting the ntfs filesystem, expanding the new ubuntu one to take up the freed space, and modifying the bootloader to boot from the new ubuntu filesystem.

/*10 (removed because of criticism). We might even detect what browser and email client is being used in windows and import the mail, addressbook, and cookies into ubuntu to make the migration easier.*/

/*11 (removed because of criticism). We might even use windows to detect the hardware and apt-get install the necessary drivers automatically during installation so there will be no hardware issues later.*/

For those of you who say this can't be done: Topologilinux managed to do the loopmounted installation and dual-booting on an ntfs drive; we could nab some code from them. /*(removed because of criticism) Firefox and Thunderbird already have the ability to import from IE and Outlook Express, so we could use that for the migration.*/

For those of you who say that this isn't going to be useful for people, think of all the people it will open ubuntu up to; plenty of average computer users know how to download a file and double-click through an installer, but few know how to burn an iso, set the BIOS to boot from a cd, and format a hard drive. This way, we will expand our target audience to the average home users who want a better desktop experience, instead of ultra-nerds and their friend who they convert.

For those of you who think this will divert resources from the ubuntu team: the ubuntu team probably isn't going to be working on this; it'll probably be done by some third-party people who know how to code windows installers, then it might later be accepted by the official ubuntu community. Also, it shouldn't be too hard, as topologilinux already has done most of the work; we only have to adapt their work to ubuntu and polish it.

For those of you who think this will make people dependent on windows: if they can't install ubuntu, they will be using windows. It's better to have people dual-booting ubuntu than having them not use it at all. Also, if point 9 is possible to do, we could have this be a nice, step-by-step migration to ubuntu; get them used to ubuntu while having it in a loopmounted partition, then once they're ready, let them get rid of windows and give ubuntu its own dedicated partition. Besides, the live and alternate install cds will still be available for people who want to install ubuntu the normal way; this will just open up more options.

This will NOT run ubuntu witihn windows, like vmware, andLinux, or colinux does. It just aims to make the installation of standard, directly bootable ubuntu easier.

Further information at: https://wiki.ubuntu.com/install.exe https://wiki.ubuntu.com/install.exe/Prototype https://blueprints.launchpad.net/distros/ubuntu/+spec/windows-installer https://launchpad.net/setup-ubuntu/

So, is this a good idea? Vote on the poll, and ask developers!

pelago
November 23rd, 2006, 05:42 PM
Interesting idea, I voted it should be a third-party project though, at least initially.

scourge
November 23rd, 2006, 11:32 PM
I really don't like this idea, even if it was possible. It's difficult enough to support a wide variety of hardware and software configurations, but now the Ubuntu installer should have support for every somewhat recent version of Windows too?

It's true that everyone doesn't know how to burn an ISO file or set the BIOS to boot cds. But that's why we have the instructions on Ubuntu's download page. After installation the new users will have to learn a lot of things anyway, and read a lot of guides. If they can't do that they shouldn't even think about installing an OS. Many of the post-install stuff is way harder than burning the ISO.



2. No need to partition; no chance of data loss.

Linux on NTFS? What could possibly go wrong...



3. No need to burn a cd for those with no cd writers, or no spare cds.

There's always Shipit + various other sources of getting the cd, and pretty much everyone who has a PC capable of running Ubuntu also has a CD writer.



6. Quicker installation; it'll be getting the installation files from the hard drive, not from the cd.

I don't think the CD-ROM speed plays a big part in the installation. Most of the time is spent setting things up and uncompressing files.



9 (maybe). We might even use windows to detect the hardware and apt-get install the necessary drivers automatically during installation so there will be no hardware issues later.

Whoa! "What could possibly go wrong" #2.

tuxcantfly
November 24th, 2006, 02:30 AM
Linux on NTFS? What could possibly go wrong...

No, ubuntu will NOT be running on NTFS. It will be running on an ext3 filesystem within a file (loopmounted) on an ntfs filesystem. The stable ntfs write kernel drivers will be used, as the filesize of the loopmounted filesystem will not be changing, nor will new files be created. I've used topologilinux for a few months, and have had no issues with this approach.

tuxcantfly
November 24th, 2006, 02:36 AM
If confused about the approach, think of it like a mounting a .iso file; it's a iso9660 filesystem contained within a file on a ext3 or whatever filesystem. It's the same here, only it's an ext3 filesystem contained within a file on an ntfs filesyste; the loopmounted ext3 filesystem is being written, not the ntfs. If confused, see here: http://en.wikipedia.org/wiki/Topologilinux "Storage System: Topologilinux creates an hard disk image file on an NTFS or FAT partition."

tuxcantfly
November 24th, 2006, 02:38 AM
There's always Shipit + various other sources of getting the cd, and pretty much everyone who has a PC capable of running Ubuntu also has a CD writer.

Wouldn't it be faster and more logical to just download an installer and install, instead of downloading an iso, burning it, then installing, or ordering a cd, waiting weeks for it to arrive, and then installing? Besides, this would take a big burden off of shipit; only people without internet would need it.

glotz
November 24th, 2006, 04:02 AM
Just download setup.exe, double click, next-next-next, reboot, welcome to ubuntu.
I think even most windows users could manage that!

xeo_Nightwing
November 24th, 2006, 11:26 AM
I agee with the idea, it's been done before, in the likes of WinLinux 2000/2001, Dragon Linux, and others. I don't think it should be a primary means of distribution of Ubuntu until it's out of a diaper more, but I think it could be made to work and I think it's a very wise and smart idea!

delfick
November 24th, 2006, 01:46 PM
methinks this would be a great idea :D

especially when xorg implements a dynamic xorg.conf file so that doesn't need to be changed by the user...........


just one question though...

would it be possible for the installer to have an option to create a new partition for ubuntu ??

would an actual partition (whilst maintaining the windows partition) be better off than a loopback device thingo...?? :D

(my common sense, and it's not backed up by much knowledge, tells me an actual partition seperate to windows would be better?? (or is this loopback thing seperate to windows anyway......i don't like being clueless :p))

.......

mmcmonster
November 24th, 2006, 02:17 PM
Well, I guess the idea is that the installer will create a single file in the NTFS partition that will be a few gigabytes and then mount that file as one or more partitions and then do the installation into that file.

This is a great idea because partitioning is what puts off most novice users (especially if they want to remove the OS later). Another plus is that, with the size of hard drives now, most people still have the entire drive as a single C: windows partition. We wont mess with that and just write a single (maybe 10-20 GB) file into the partition. That file contains the entire Ubuntu filesystem (like an ISO). The boot process will be changed to boot into the file.

Since the size of the file is fixed, the stable NTFS write drivers will work. (They may fail if the size of the file changes).

timas
November 24th, 2006, 03:53 PM
I love this idea!

I don't think the fetching of data from the Windows system is a very good idea technically, but besides that, I'm all for it.

The live CD can be slow, depending on the quality of the CD drive, even in really new machines..

A few things I'm wondering about though:
- How's NTFS going to enjoy a 10gb+ file?
- swap space? Another file? or will the single storage file carry a whole partition table? "Everyone's got more than ## memory now a days!" is a bad argument, imagine people with machines of say 512mb RAM.

A few more things really, but those are just the main things I'm seeing..

And I'd stay clear of trying to detect anything on the Windows filesystem at first.. but once it runs stable I imagine this to be the perfect way for people to switch to ubuntu.

ejos
November 24th, 2006, 07:46 PM
This is stupid. If someone can't or isn't willing to learn how to burn a cd or use the installer to partition their hard drive, then they shouldn't be using a computer period. Resources are vast and it takes very little effort to find out how to do these very basic tasks. At the very least they could have a friend show them how. It would be a waste of time to make something like this. Do we really want such ignorant people using linux? They're still going to be the same ignorant person after switching from windows.

tuxcantfly
November 24th, 2006, 08:50 PM
If someone can't or isn't willing to learn how to burn a cd or use the installer to partition their hard drive, then they shouldn't be using a computer period.

Well, we could make the learning curve easier by simplifying the installation. Also, like this, we could appeal to casual computer users; the guys who just want to have a better, more secure experience browsing the web, reading email, and typing documents. Ubuntu is perfect for these people; no need to tinker with antivirus software, spyware, and firewalls; the only thing that has been preventing their entry has been the complicated process of setting up ubuntu. This should make ubuntu more appealing to casual users, and not just the hardcore power users.

tuxcantfly
November 24th, 2006, 09:01 PM
And really, it isn't about whether they know how to partition a hard drive, but whether they're willing to do so. For my own ubuntu migration, my parents were too scared of partitioning and possible data loss, even though I knew how to partition drives, and wouldn't let me do it, so topologilinux was the only linux they let me use. Luckily, though, I later got my own computer, which I instantly put ubuntu onto. Similarly, a lot of my friends I have tried to convert to ubuntu have parents who are scared to death of partitioning and possible data loss, so they haven't let them put ubuntu onto the computer. So really, it isn't just about knowledge, but also the sense of safety associated with no partitioning, no possibility of data loss, and an uninstaller that can undo everything.

tuxcantfly
November 24th, 2006, 09:08 PM
And of course, this would also make ubuntu the perfect "hobby" linux, for people who just want to try it out. Easy installation, no need to waste a cd-r, no chance of data loss, and an uninstaller that can undo everything- what else can they ask for?

joshier
November 24th, 2006, 09:19 PM
I am loving this idea, and I think that we could get a little more advanced as well.

For example, John isn't tech-savy enough to partition his hard drive, his love for his windows apps/games is too much to totally format the HD and he does not like the idea of adding a partition.

He finds out he can run ubuntu with little hassle by downloading a setup.exe, one method of which he is very familiar with.

John installs, enjoys ubuntu and heavily considers installing it on it's own partition for a better experience.

Now, if John happens to use his ubuntu quite a lot on top of windows, couldn't another third party application (or an integrated one) give him a nice GUI which enables him to create the ext3 file system partition and then moves the current ISO data file to the ext3, restoring his configuration? 8)

tuxcantfly
November 24th, 2006, 09:24 PM
Now, if John happens to use his ubuntu quite a lot on top of windows, couldn't another third party application (or an integrated one) give him a nice GUI which enables him to create the ext3 file system partition and then moves the current ISO data file to the ext3, restoring his configuration?

exactly. see point 9:


We might even allow people to upgrade to a full-blown ubuntu on a dedicated partition if they want to get rid of windows and get a performance boost by shrinking the ntfs partition, cloning the loopmounted file into a real filesystem in the new space freed up, then deleting the ntfs filesystem, expanding the new ubuntu one to take up the freed space, and modifying the bootloader to boot from the new ubuntu filesystem.

tuxcantfly
November 24th, 2006, 09:29 PM
As you can see right here: http://darkdust.net/marc/diskimagehowto.php all this disk imaging and restoring is possible with mount and dd. Now we just have to make it nice and user friendly.

tuxcantfly
November 24th, 2006, 09:36 PM
swap space? Another file? or will the single storage file carry a whole partition table? "Everyone's got more than ## memory now a days!" is a bad argument, imagine people with machines of say 512mb RAM.

In topologilinux, the swap partition has its own disk image file, so I guess it should be done the same way here, too.

Keshyden
November 24th, 2006, 09:36 PM
Considering Ubuntu is by far the largest desktop Linux distro, are we really losing potential users to an installation?

The user should have to think a little.

I am not a fan of the idea that everything should be point and click.

Just a thought.

tuxcantfly
November 24th, 2006, 09:38 PM
Considering Ubuntu is by far the largest desktop Linux distro, are we really losing potential users to an installation?

Yes, we are the largest desktop linux distro, but desktop linux is less than 1% of the market, compared with 90% or so for windows. So yes, we have PLENTY of users to gain.

tuxcantfly
November 24th, 2006, 09:41 PM
The user should have to think a little.

Yes, but for a person who just wants to browse the web, read his email, type up his homework, and do a bit of image editing, like 90% or so of computer users, isn't learning how to reformat a hard drive a bit TOO much thinking? It might scare them off...

tuxcantfly
November 24th, 2006, 09:50 PM
And also, to solve Bug #1 https://launchpad.net/distros/ubuntu/+bug/1 we need to appeal to the masses. We can't just restrict ourselves to those who are willing to read pages of documentation and tinker with complicated installations (and yes, it's complicated. Just read the forums; there are plenty of questions about the installation). And as for the argument "stupid people shouldn't be using ubuntu", I'll assure you, the vast majority of computer users would qualify as "stupid", so unless we want linux to remain with a tiny market share on the desktop, we should make everything easy for the "stupid" users, instead of trying to force them to become "smart", and scaring them away.

joshier
November 24th, 2006, 10:17 PM
Well, contrary to Keshyden, I am a huge believer in point and click.


If someone could double click an ubuntu icon from windows and have it running in a very short time, I think we'd see a hell of a lot more ubuntu users come around and using it.

Viva la point and click!

xeo_Nightwing
November 24th, 2006, 10:37 PM
An idea of concept jumped into my mind, what if we were to get hold of a DOS based partition manager with the capability to resize NTFS file systems and create EXT3/ReiserFS file systems [Those two are the most common today though I think Ext3 is better liked by many] and thus our installer can just run a batch script to take care of the re-partitioning for the user. etc. I think this approach may look crude though for a first release, would work. Only problem I can think of is CMD.EXE in WindowsXP not being permitted access to DIRECTLY access the hard drive and what not. I'll google around today when I get a chance and see if I can find something to fill this bill and or something better. :)

gummibaerchen
November 24th, 2006, 11:32 PM
Yeah, would be good to have an easier method for all the win users.

(I think others know how to burn ISOs easily, as it is integrated in most OS).

Should be something between official and 3Party.

Should be there, but it's nothing what helps the world, so.

tuxcantfly
November 25th, 2006, 02:18 AM
Alright, seems like people like the idea. So, how do I get this project started? Do I:

1. File it as a bug under launchpad
2. Recruit people in the forums
3. Try to make a crude prototype on my own
4. Something else?

xeo_Nightwing
November 25th, 2006, 02:32 AM
Well, I would personally say we should iron out many of the details first before we do start announcing the idea or turn it into a full fledge project. Or else we talk someone into it only to find out after we can't make it into a reality for this or that reason.

The other Linux distro's that I made mention too earlier on in the thread, Dragon Linux, and WinLinux, [and I think maybe BestLinux too??] are UMSDOS based distro's. Which means they only worked with versions of Windows that are running on File Allocation Table based file systems such as vFat/Fat16, Fat32, and I suspect even Xbox's FatX could be made to work, though no logic in that.

And also it's note worthy to say that even with WinXP on a Fat16/32 partition, still gave a good fight to these distribution's, not letting them have any real access to the system to even so much as reboot.

UMSDOS unforunatley will not work on the NT File System.

In theory we may be the first to try it on NTFS.

glotz
November 25th, 2006, 02:44 AM
Alright, seems like people like the idea. So, how do I get this project started? Do I:

1. File it as a bug under launchpad
2. Recruit people in the forums
3. Try to make a crude prototype on my own
3. Something else?

1 and 3 if you feel like you're up to the challenge. Researching the other distros that supposedly do this is probably a good step. And maybe make a wiki page for planning besides this thread.

xeo_Nightwing
November 25th, 2006, 03:07 AM
1 and 3 if you feel like you're up to the challenge. Researching the other distros that supposedly do this is probably a good step. And maybe make a wiki page for planning besides this thread.

Agreed! I'll try to do what research I can on my end. Not much else to do tonight. Let you guys know if I can find anything actually relevent or useful.

mdurham
November 25th, 2006, 03:15 AM
If a Windows user doesn't know about partitioning and burning iso's etc, why would they want to use Linux? What's in it for them? It won't be cheaper because they already have Windows and the software that they need.
It would seem like a waste of time and effort to do this.

Don't know about partitioning.
Don't know how to burn a CD
Know how to use Linux? I don't think so.

Cheers, Mike

xeo_Nightwing
November 25th, 2006, 03:30 AM
One does not need to know anything more then but how to use a GUI these day's. Know how to type on a keyboard from back in the typewritter days? Know how to use a mouse? Obviously or else they wouldn't be using a computer at all no matter what operating system they have on it. You see text on a screen, assuming you can read, and your arthritis isn't too bad and you can use the mouse to click on something, and your wrists arn't ceased up with tendenitis yet, you should be good to go. Applications, Places, System, firefox quicklaunch, can see a speaker volume control and a clock in the corner of the screen, hey it's more like Windows they then not.

I'm not saying Ubuntu/Linux's Gnome interface is like Windows, I'm saying it's damn obvious what everything is and does and how to interact with it. That's what and how a Graphical User Interface works. The complications you claim a first time user would have with Linux is non-existant as it's not a problem with Linux, but rather something that applies to ALL Operating Systems and there for can not be helped. If you can use one GUI, you can sure enough use them all, the only difference is cosmetics and appearance, the look and feel of it. etc.

Back to topic now. Phat Linux claims to be fully Windows XP compatiable. Unforunatley they havn't seen an update since September 18th, 2002.

Below is a VERY short FAQ from Phat Linux's website that is sounding close to the bill. Unforunatley as well, there download page is down. I'll check a few sites out and see if I can get a hold of it to check to see how similar it is to our needs, just to check out how they handled the issue of a FS file on NTFS, etc. I also bolded one question in the faq that stood out. Indicating our idea can become reality if this is true/accurate/not-exagerated.



Q. Will I have to repartition my hard drive to install Phat Linux?

A. No, that's what's great about Phat Linux. Unlike other Linux distributions, Phat Linux does not need it's own partition. It will run happily on any Windows/DOS partition.

Q. What are Phat Linux's system requirements?

Phat Linux needs about 1.1GB of hard disk to be installed. Other than that the system requirements are minimal. Phat Linux needs at least a 386 processor to run, but Pentium-class is recommended. You should have at least 32MB of RAM to run Phat Linux.

[b]Q. Will Phat Linux run on my version of Windows?

Phat Linux works with any version of Windows. In fact, you don't even have to have Windows. As long as Phat Linux is on a FAT32 or NTFS partition, the Phat Linux boot CD will find it.

Q. What type of programs does Phat Linux come with?

Phat Linux comes with many programs. You can use Phat Linux right out of the box. It comes with many productivity, multimedia, and internet applications. See the tour to see some of them in action.

Q. Will Phat Linux delete Windows?

No, Phat Linux will install in a folder on any of your Windows drives. To uninstall Phat Linux, simply delete the directory.


http://phatlinux.com/images/shots/installer.jpg
screenshot: Phat Linux's XP Installer: [Caption with picture:]
This is the Phat Linux installer. There is nothing complicated about it. All you do is select the drive where you want to install Phat Linux. There is no messy repartitioning process involved. Phat Linux will install on your native FAT32/NTFS partitions.

tuxcantfly
November 25th, 2006, 05:00 AM
Researching the other distros that supposedly do this is probably a good step.

Apart from Phat linux, there's another distro that does just this: topologilinux. Info at http://www.topologilinux.com/ and http://en.wikipedia.org/wiki/Topologilinux It's slackware based, and it's what I based this thread off of: install to a disk image in an ntfs parition. Apparently, Phat linux does the same, only topologilinux is a lot more modern (6.0 released 2005-11-25). I've done plenty of research on this distro, I've actually used it for half a year before I switched to ubuntu (it was my first distro), and it works just fine. The only issue with it is that the installation is done through colinux in windows, and needs 2 cds, which makes things unnecessarily complicated. This could probably be solved by shipping our setup.exe as a self-extracting disk image which has everything preconfigured except user name, password, timezone, and hardware. User name, password, and timezone could be asked for during the installation in windows, then written to a large, ~1GB text file which will be checked for during the 1st bootup in ubuntu, registered as a user, then the text file will be converted to a swap parition image of equal size to destroy all the evidence. As for the hardware configuration, all hardware should be detected and automatically configured on the 1st bootup of ubuntu. This way, we would not need colinux for installation, nor would we need any configuring apart from the initial questions asked by setup.exe in windows, and the hardware autoconfiguring on the initial ubuntu bootup.

tuxcantfly
November 25th, 2006, 05:10 AM
However, there is a key difference between the proposed ubuntu setup.exe installer and both these distros (Phat and topologilinux), as the other distros use the actual package management system for configuration (slackware tgz for topologilinux, not sure for Phat), while since dpkg isn't available in windows, we'll have to ship the disk image preconfigured (except for hardware, username, password, and timezone), so that we'll have as simple an installation process as possible. That's the only major difference from the other 2 distros that have already done this, so this should be possible to do.

tuxcantfly
November 25th, 2006, 05:16 AM
About the wiki page and launchpad entry, I see someone has already created them:

https://blueprints.launchpad.net/distros/ubuntu/+spec/ubuntu-setup.exe
https://wiki.ubuntu.com/UbuntuSetup

This idea is most similar to option 3:


Install Ubuntu as an image file withing the windows file system + a bootloader that will mount loop the image and boot from it. This has the additional advantage that it does not require to repartition the HD. Moreover it should be possible to create a dedicated partition later on and dump the image contents in it.

tuxcantfly
November 25th, 2006, 05:33 AM
Oh, wow, just noticed something similar already exists:

http://instlux.sourceforge.net/
http://sourceforge.net/project/showfiles.php?group_id=151507&package_id=192787

szaka
November 25th, 2006, 11:45 AM
In theory we may be the first to try it on NTFS.
Running Linux on NTFS is part of the NTFS-3G quality assurance process: http://www.ntfs-3g.org/quality.html#testmethods
"General, every-day file system use where NTFS is the root file system."

This is not a loopmount on NTFS but full native NTFS access from Linux. So both Windows and Linux have reliable access to all files of both OSes.

But please note that NTFS-3g doesn't support permissions and users yet, so basically it runs in single user mode which is not advisable for general use because filesystem level security is not implemented yet.

tuxcantfly
November 25th, 2006, 11:29 PM
Running Linux on NTFS is part of the NTFS-3G quality assurance process: http://www.ntfs-3g.org/quality.html#testmethods
"General, every-day file system use where NTFS is the root file system."

This is not a loopmount on NTFS but full native NTFS access from Linux. So both Windows and Linux have reliable access to all files of both OSes.

I don't think using NTFS as the root filesystem is a good idea, due to all the patent and legal issues surrounding NTFS. Besides, Microsoft made NTFS; the ubuntu community would probably not like their OS running on anything related to MS. What's wrong with EXT3 loopmounted on NTFS, anyhow? It's been tested, it's been proven to work, and it isn't experimental like NTFS support via ntfs-3g.

Jimmy_r
November 26th, 2006, 12:07 AM
This is stupid. If someone can't or isn't willing to learn how to burn a cd or use the installer to partition their hard drive, then they shouldn't be using a computer period.

If someone can't or isn't willing to learn how to change the oil or replace the sparkplug, then they shouldn't be driving a car period. :p

szaka
November 26th, 2006, 12:50 AM
I don't think using NTFS as the root filesystem is a good idea, due to all the patent and legal issues surrounding NTFS. Besides, Microsoft made NTFS; the ubuntu community would probably not like their OS running on anything related to MS. What's wrong with EXT3 loopmounted on NTFS, anyhow? It's been tested, it's been proven to work, and it isn't experimental like NTFS support via ntfs-3g.
There isn't any known patent and legal problem with NTFS: http://www.ntfs-3g.org/support.html#patent Nobody are forced to run Ubuntu on NTFS. This is only an option for those who want reliable file access from both OSes to any files. Loop mounted ext3 isn't visible from Windows. The ntfs-3g driver is not experimental, it doesn't have any reliability or stability problem. It's beta because more features are being implemented.

But I didn't mean this is how things should be done. I only commented that this is possible and used already.

delfick
November 26th, 2006, 04:23 AM
If someone can't or isn't willing to learn how to change the oil or replace the sparkplug, then they shouldn't be driving a car period. :p

well done :D

umanzor
November 26th, 2006, 04:47 AM
I consider myself to be a poweruser but when it comes to linux I am still a 3 weeks newbie. I love this idea, not for me, but for those experienced or inexperienced people who want try Ubuntu.

We can give the choice to install it this way, or the traditional ISO way for those who want more control.

^lol, me talking like if I was part of the team....

tuxcantfly
November 26th, 2006, 05:05 AM
If someone can't or isn't willing to learn how to change the oil or replace the sparkplug, then they shouldn't be driving a car period.

That's why we have auto mechanics...

doobit
November 26th, 2006, 05:12 AM
If someone can't or isn't willing to learn how to change the oil or replace the sparkplug, then they shouldn't be driving a car period. :p

I actually feel a LOT safer with people who don't know a thing about computers installing Ubuntu, than allowing people who know knothing about driving to be on the road.

timas
November 27th, 2006, 11:15 AM
From what I'm seeing on Launchpad this project is still in, or never got past the, initial stage.. or even only a proposal..

I've given the different possibilities some more thought as far as the file system goes and if it doesn't decrease the system tremendously to use a huge singular file for a file system, use that.

# The usage of NTFS or FAT(16/32/X) as its base file system offers a whole new list of possible issues, such as the user suddenly being able to access the linux file system from the Windows Explorer.. I suppose some people would see this as a pro, though.

# Another proposed option in the launchpad thing is to download a cdburning mini-app and the iso and just bake your own live-cd without having to think.. This defeats the purpose if you ask me..

# Automatic partitioning is bound to go wrong.. There's a reason no professional partitioning software gives any guarantees and still makes it very known they want you to make backups.

# One option I hadn't seen yet but one that is getting more and more common in the professional market: Virtual Machines. In my eyes this seems to defeat the purpose just as well because it has to run on an existing system that runs the VM's and the older machines (w98/ME) wont be able to run it.

# Using a loopback file in the existing filesystem makes it the most solid and simple solution.. a really small app that runs inside of Ubuntu can easily check the way Ubuntu is currently ran [regular install or ontopofntfs install] and based on that propose to upgrade the installation to a faster, better and technically more solid installation. Con's from the loopback file would be that its bound to be the first thing people get rid of if the windows system is in need of space. Another one that it IS running on another filesystem, thus it IS slower and it IS subjective to issues with the base filesystem.

--- So much for my thoughts on that ;)

Why do this? or why not do this? Arguments such as "if a user can't burn a CD, we don't want them" is exactly the mentality that has limited Linux in the past.. Sure, Linux isn't for everyone, sure it still requires more know-how than a windows or mac installation but the longer we insist on only allowing people with a certain level of knowledge, or certain experiences the longer we're bound to lose users that could contribute too. A lot of these people just never had to burn a CD. I can ask 20 random people what an ISO file is here in my office and I doubt of those 20 even 15 will know, but of the 20 I know for a fact at least 15 are interested in Ubuntu after they've seen it used on my machine. Stop seeing boundaries and limits and start seeing the freedom we constantly promote behind Linux and Ubuntu.. Everyone should be able to use this.

If at some point people decide Ubuntu is 'not it' for them all they need to do is boot into Mickeysoft's Windows and run the uninstaller. This turns Ubuntu in a very non-obtrusive piece of software.

My 0.02 euro.

doobit
November 27th, 2006, 03:42 PM
"Why do this? or why not do this? Arguments such as "if a user can't burn a CD, we don't want them" is exactly the mentality that has limited Linux in the past.. Sure, Linux isn't for everyone, sure it still requires more know-how than a windows or mac installation but the longer we insist on only allowing people with a certain level of knowledge, or certain experiences the longer we're bound to lose users that could contribute too. A lot of these people just never had to burn a CD. I can ask 20 random people what an ISO file is here in my office and I doubt of those 20 even 15 will know, but of the 20 I know for a fact at least 15 are interested in Ubuntu after they've seen it used on my machine. Stop seeing boundaries and limits and start seeing the freedom we constantly promote behind Linux and Ubuntu.. Everyone should be able to use this."

I agree!
I think that new users testing development releases is exactly what we need, actually. Maybe the bug reporting process is what needs to be simplified.

Johnsie
November 29th, 2006, 05:08 AM
The first Linux distro I tried was Phat Linux. It installed itself using a windows installer into c:\phat

I really liked that distrobution except for some hardware issues which were standard issues with Linux at the time. Phat Linux was based on red hat and worked quite well.

Something similar probably could be done with ubuntu but obviously only as a third party project.

ubuntuman001
December 7th, 2006, 09:57 PM
so what's up with this? has anyone started a project for this? (just curious)

tuxcantfly
December 9th, 2006, 12:19 AM
so what's up with this? has anyone started a project for this? (just curious)

No, I don't think any work has been started on this yet, judging from the launchpad page. I'd be glad to throw my (very limited) skills at it, only I don't know where to start. Any suggestions?

timas
December 11th, 2006, 12:14 PM
I can't contribute codewise, my programming skills don't go much beyond that of PHP..

The steps I think we'd need to take are:

- Investigate how the different buntu's run on the loopback filesystem
:: Install a Linux distro that already works with this and see if we can install a buntu into that created filesystem

- Investigate (free) windows installer software
:: I've seen a few free software installer things fly by when I was still a windows user.. can't recall which though


- Investigate how the boot manager (Grub?) hooks into the loopback filesystem
:: We need to make it so that the manager, whichever it might be, can be cleanly set up to recognize all the existing OS'es and ADD our new loopback version to it.. possibly even just add the new loopback into the existing boot manager

- Make the windows installer software install a (non) working copy of the Linux system and work on it being uninstallable
:: This is important.. if we're going to tell people we offer a non-obtrusive and clean way to try out Linux we need to make sure that is exactly what we give.. It shouldn't be too hard, all the uninstaller has to do is restore the boot sector and remove the two linux files

- Make the windows installer software install the boot manager
:: Once that we investigated it and feel up for it, make the windows installer install the boot manager. Expect this step to be lengthy and problematic as a failure to install the boot manager makes the machine unbootable!

- Work out the issues that the distributions might have with loopback
:: If, which I don't expect, the buntu has issues with the loopback filesystem instead of being a 'real' filesystem on a disk we gotta look into it and make it work

- Write a package for buntu that will easily let it take over the whole harddisk
:: Sweet, Linux runs next to windows and we're converting users by the hundreds, the sky is blue the sun is bright and we're all in a happy place until people decide they want the extra speed advantages and want linux on their harddrive without Windows.. We make a package that makes this easy as 1.2.3.

Now, chop chop! to work! ;)

* buntu: buntu is short for Kubuntu, Ubuntu, and any other ubuntu derivative that is out there

garba
December 11th, 2006, 03:23 PM
all i can say is this idea simply kicks ***, period, installing ubuntu this way would be way more appealing than the livecd approach for a lot of users

tuxcantfly
December 12th, 2006, 01:23 AM
Ah, I've encountered my first problem. Apparently, ubuntu's kernel doesn't support writing to NTFS through the safe file overwriting method. It probably isn't enabled in the kernel. Can anybody confirm this issue? Does this mean that we'll have to rebuild the entire kernel with ntfs rw support enabled, or can we just ship it as an add-on module? We'd like to differ from standard ubuntu as little as possible to maintain compatibility, and having a different kernel is only going to create compatibility problems and more maintainence for us, so the module approach is preferable.

timas
December 12th, 2006, 10:25 AM
Why are you trying to write to NTFS?

Detail your issue and reasoning a bit more ;) Perhaps there are alternative ways to do it.. I'm kinda not sure why we'd need to write to NTFS from Linux at all but that could be my lack of understanding :)

Lord_Freelancer
December 12th, 2006, 02:36 PM
I realy realy like this idea, and would love to be apart of its creation, my 2c's are below


1. Much simpler installation: just download setup.exe, double click, next-next-next, reboot, welcome to ubuntu.

This will reduce the "im to scared of linux cos its so hard" idea ppl have


2. No need to partition; no chance of data loss.

again some people just done understand all of this so it puts em off the whole linux shift, and the guarantee of no data lost is a big drawcard as well


3. No need to burn a cd for those with no cd writers, or no spare cds.

well not that its a real issue but a gud plus


4. No need to reboot into the live cd to install; just download and install in windows.

That catches the "i dont have enough time / i cbf waiting for it to restart nd load nd all sorts of bull#### excuses"


5. Lowered risk of someone doing something wrong; no chance of screwup while burning the iso, booting from the cd, or partitioning.

well who hasnt F##KED thigs up and wished it didnt break just at that point


6. Quicker installation; it'll be getting the installation files from the hard drive, not from the cd.

Again cashes in on the time issue.


7. It'll have much better performance than a live cd, and will be nearly as fast as a standard installation, so it'll be a much more realistic performance preview.

Try befor you commit, that i like a lot


8. We could even include an "uninstall ubuntu" option that will restore the original windows bootloader and remove the loopmounted file to reassure those people who are scared that ubuntu will destroy their system irreparably.

Again not making linux vergins to afraid of it.


9 (maybe). We might even allow people to upgrade to a full-blown ubuntu on a dedicated partition if they want to get rid of windows and get a performance boost by shrinking the ntfs partition, cloning the loopmounted file into a real filesystem in the new space freed up, then deleting the ntfs filesystem, expanding the new ubuntu one to take up the freed space, and modifying the bootloader to boot from the new ubuntu filesystem.

Fits in nicely with the "try befor you commit" stratergy


/*10 (removed because of criticism). We might even detect what browser and email client is being used in windows and import the mail, addressbook, and cookies into ubuntu to make the migration easier.*/

well i know its removed but it would make things a lot eiser with outlook and others


/*11 (removed because of criticism). We might even use windows to detect the hardware and apt-get install the necessary drivers automatically during installation so there will be no hardware issues later.*/

What was wrong with that one, but it would be a nice feature to ease the install process

A lot of good ideas but i think if we aproach the "Try befor you Commit" stratergy it will be a real winner, i know Live-CD does that but not at the near speed of the host system.


I think even most windows users could manage that!
well i honnestly wonder with some of my clients, why the even bother with a computer at all :mrgreen:

tuxcantfly
December 13th, 2006, 02:30 AM
Why are you trying to write to NTFS?

No, I'm not trying to do full writing to ntfs, but we need the limited ntfs write support (can't create, resize, or delete files, only modify the contents) built into the kernel to write to the loopmounted image. Of course I don't want to use ntfs-3g or any of that other experimental stuff. Instead, we'll need the stable kernel drivers, which are apparently not built into ubuntu's default kernel.

timas
December 13th, 2006, 09:40 AM
Now comes the point where I'm not going to be of a lot of use anymore simply because I'm not too familair with these things ;)

I'm going fully on assumptions from here on, so if I'm wrong just laugh and let me know!

The needed NTFS support can be compiled as a kernel module? Alternatively we could go for the long shot. Detect the hardware in windows and pick the modules and drivers we need and from there compile our own new, fresh, perfectly suitable kernel..

I'm still not certain why we need to write to NTFS.. let alone even read from it.. if we read/write to NTFS, why use loopmount?

patrickfromspain
December 13th, 2006, 10:05 AM
I don't like this idea. After less than 10minutes of googling I'm sure nearly everyone would get the necessary information on how to burn an ISO, how to make the PC boot from cd and format a hard drive. And, if people go step by step, reading all the screens from the instaler, finally they would get a perfect working dualboot system. Installing ubuntu, isn't difficult at all.

Another point is... should ubuntu be wasting money in that project? This installation method isn't easy, and sure would mean a lot of developing. And not only developing in linux, but also in windows. Now the ubuntu devs will have to develop a windows XP installer and a Vista installer? NO way!

I think that would be an installation method for computer non-skilled people, those who even have trouble installing skype: 'hey, here it is, install-ubuntu.exe, lets try'. 'Oh ****, what's that? I can't even install microsoft office nor call of duty 2, I don't like it, windows is better'.

Who doesn't want to google to solve a little problem as "How do I burn an ISO" shouldn't be installing ubuntu.

givré
December 13th, 2006, 10:18 AM
No, I'm not trying to do full writing to ntfs, but we need the limited ntfs write support (can't create, resize, or delete files, only modify the contents) built into the kernel to write to the loopmounted image. Of course I don't want to use ntfs-3g or any of that other experimental stuff. Instead, we'll need the stable kernel drivers, which are apparently not built into ubuntu's default kernel.
:confused:

1. ntfs-3g is not an experimental solution, it's a working solution.
2. the kernel driver rw support is currently highly experimental and should not be use, that's why it is disable by default.

mcduck
December 13th, 2006, 10:18 AM
I don't really get the idea of running Linux inside Windows.

And if you want to do that for some reason There's always the free VMWare Player that even has ready-to-use Ubuntu virtual machines..

Besides, those people who are not motivated enough to spend 5 minutes learning how to burn iso file to disk or boot from a CD would just stick to using windows apps anyway as that would still be the easiest way..

RAOF
December 13th, 2006, 11:07 AM
...
2. the kernel driver rw support is currently highly experimental and should not be use, that's why it is disable by default.

Your information is about 3 years out of date - the kernel r/w driver has been totally rewritten, and there have been no reports of data loss with the new driver. However, the write support is not fully implemented - it can't always create new files, etc. It can always overwrite files, though, so the loop-back mount idea works.

The old driver, of course, regularly ate NTFS partitions, leaving only an oily residue where tall stands of data once existed.

And @mcduck - it's not actually running linux inside windows. It's packing the root filesystem of a perfectly normal linux install inside a file on an NTFS partition. You'd get to boot into linux, and wouldn't be running windows at all.

That said, I'm certainly not the target audience here. I don't have a windows partition :).

scxtt
December 13th, 2006, 11:21 AM
. . . And if you want to do that for some reason There's always the free VMWare Player that even has ready-to-use Ubuntu virtual machines . . .exactly ... vmware does everything this project could consider, probably more ... it's not a bad idea, but vmware can do it all (.exe installer, no partitioning, "couple clicks", etc.) ...

glotz
December 14th, 2006, 12:45 AM
Looks interesting to me but who can swim thu that http://www.vmware.com/download/eula/player_distribution.html

ps. we should kill all lawyers

tuxcantfly
December 14th, 2006, 03:07 AM
No, vmware is NOT the solution to this problem. We will NOT be running ubuntu under windows, we will just be installing it through windows, on the ntfs partition. With vmware, you will have to boot windows to boot ubuntu, and performance will suffer from virtualization. With this, you can just boot directly into ubuntu through your standard bootloader, and performance will be practically the same. The idea is just to have a standard ubuntu installation, that can be installed without partitioning, thus eliminating chances of data loss. Running ubuntu in windows is NOT the aim of this project, it's just to provide an easier installation.

tuxcantfly
December 14th, 2006, 03:16 AM
I'm still not certain why we need to write to NTFS.. let alone even read from it.. if we read/write to NTFS, why use loopmount?

By definition, loopmounting is having a file on a different partition mounted as a filesystem. Therefore, we will need to read and write that file to do loopmounting, and since that file will be on an ntfs filesystem, we will need to have read support, and some write support. However, since the entire filesystem will just be a ~10GB file on the ntfs filesystem, and the size won't ever change, we won't have to create new files or folders on the ntfs filesystem, or resize existing ones. For this reason, we will be able to use the limited write support built into the standard (but for some reason, not ubuntu's) kernel, instead of a full-fledged ntfs write solution like ntfs-3g.

tuxcantfly
December 14th, 2006, 03:29 AM
Now, a lot of people think using ntfs-3g would be better than loopmounting. However, the major issue with it would be the lack of filesystem permissions, which would result in some major security issues, because everybody would essentially be root, not to mention that when the user boots into windows, his entire ubuntu filesystem will be available as read-write. Also, performance isn't exactly great, but as seen on http://www.ntfs-3g.org/performance.html it's getting better. If ntfs-3g matures enough to have support for these things, that would probably be better than loopmounting, but currently, as it lacks support for these, loopmounting would be the way to go. Besides, loopmounting is a tried-and-true solution, while nobody else has yet used ntfs for the root filesystem for linux, so it would probably be harder to do.

tuxcantfly
December 14th, 2006, 03:39 AM
I don't like this idea. After less than 10minutes of googling I'm sure nearly everyone would get the necessary information on how to burn an ISO, how to make the PC boot from cd and format a hard drive. And, if people go step by step, reading all the screens from the instaler, finally they would get a perfect working dualboot system. Installing ubuntu, isn't difficult at all.

Another point is... should ubuntu be wasting money in that project? This installation method isn't easy, and sure would mean a lot of developing. And not only developing in linux, but also in windows. Now the ubuntu devs will have to develop a windows XP installer and a Vista installer? NO way!

I think that would be an installation method for computer non-skilled people, those who even have trouble installing skype: 'hey, here it is, install-ubuntu.exe, lets try'. 'Oh ****, what's that? I can't even install microsoft office nor call of duty 2, I don't like it, windows is better'.

Who doesn't want to google to solve a little problem as "How do I burn an ISO" shouldn't be installing ubuntu.

For a bunch of people, formatting their hard drives is simply not an option. Think of corporate environments; they don't want even the slightest chance of data loss from shrinking and reformatting partitions, so they stick with windows, and don't let you dual boot. And yes, it's a possibility; just see in the forums how many people have lost all their data from failed ntfs partition shrinking. Of course, you might say you should back up all your data, so you can restore it in case you lose it while shrinking your partitions. But then again, think of how much work and time that'll take, especially if you have a lot of data, like if you do video editing. It could be several gigabytes, that is, several DVDs will have to be burned to back up data. Think of how much of a hassle that is, not to mention what an issue it would be if you don't have a DVD burner or spare DVD-Rs. Many will just think, this takes too long, I don't have the time and money to back up all my data and install ubuntu, and will just give up.

tuxcantfly
December 14th, 2006, 03:46 AM
Now the ubuntu devs will have to develop a windows XP installer and a Vista installer? NO way!

We won't need a separate one for the various versions of windows, because this will just be a straightforward installer of a loopmounted image and a boot.ini editor. We won't be using anything specific to any particular version of windows, so if it is done properly, only 1 will ever be needed.

tuxcantfly
December 14th, 2006, 03:57 AM
This installation method isn't easy, and sure would mean a lot of developing. And not only developing in linux, but also in windows.

It's a lot easier than you think. Practically no changes will be needed in the core ubuntu system, except maybe a few additional kernel modules for loopmounting support, which won't even need any new code to be written, as it can just be rebuilt from the ubuntu source packages with the additional options. Then, we'll just have to make a partition image that can be loopmounted, which can be done with dd. The modified boot loader can be taken from topologilinux, because they have already done this. Apart from that, the only thing that will be needed is the nice fancy windows installer, which can be pretty minimalistic; just a 7-zip (http://www.7-zip.org http://sourceforge.net/projects/peazip/) self extracting archive for the disk image, and a script to add ubuntu to the boot.ini

delfick
December 14th, 2006, 04:03 AM
For a bunch of people, formatting their hard drives is simply not an option. Think of corporate environments; they don't want even the slightest chance of data loss from shrinking and reformatting partitions, so they stick with windows, and don't let you dual boot. And yes, it's a possibility; just see in the forums how many people have lost all their data from failed ntfs partition shrinking. Of course, you might say you should back up all your data, so you can restore it in case you lose it while shrinking your partitions. But then again, think of how much work and time that'll take, especially if you have a lot of data, like if you do video editing. It could be several gigabytes, that is, several DVDs will have to be burned to back up data. Think of how much of a hassle that is, not to mention what an issue it would be if you don't have a DVD burner or spare DVD-Rs. Many will just think, this takes too long, I don't have the time and money to back up all my data and install ubuntu, and will just give up.

exactly :D

tuxcantfly
December 14th, 2006, 04:08 AM
I think that would be an installation method for computer non-skilled people, those who even have trouble installing skype: 'hey, here it is, install-ubuntu.exe, lets try'. 'Oh ****, what's that? I can't even install microsoft office nor call of duty 2, I don't like it, windows is better'.

Who doesn't want to google to solve a little problem as "How do I burn an ISO" shouldn't be installing ubuntu.

I have to disagree. Ubuntu is perfect for these people; it can do simple things like web browsing, email, word processing, and spreadsheets out of the box, and that's probably going to be just about everything these people do with their computers anyhow. And of course, it'll be easier for them, as they will no longer have to worry about things like spyware, adware, viruses, trojan horses, crashes, driver installations, and all that. If we manage to make ubuntu easier to install and set up than a firewall, antivirus software, and MS Office, casual computer users will flock to us. This could open up ubuntu to the group of completely unskilled computer users, as an easy-to-install, easy-to use, hassle-free, secure, and stable OS. And I'm pretty sure there's a lot more of these casual computer users than the ultranerd population that makes up the current majority of linux users, so we will have access to a much larger base of users.

delfick
December 14th, 2006, 04:26 AM
I have to disagree. Ubuntu is perfect for these people; it can do simple things like web browsing, email, word processing, and spreadsheets out of the box, and that's probably going to be just about everything these people do with their computers anyhow. And of course, it'll be easier for them, as they will no longer have to worry about things like spyware, adware, viruses, trojan horses, crashes, driver installations, and all that. If we manage to make ubuntu easier to install and set up than a firewall, antivirus software, and MS Office, casual computer users will flock to us. This could open up ubuntu to the group of completely unskilled computer users, as an easy-to-install, easy-to use, hassle-free, secure, and stable OS. And I'm pretty sure there's a lot more of these casual computer users than the ultranerd population that makes up the current majority of linux users, so we will have access to a much larger base of users.

i would agree with this as well :D

i would classify linux easier than windows...

the only hard thing about linux is when the hardware doesn't work....but if it all works, and you don't need to mess around with anything more technical than a theme, it is incredibly "user-friendly" especially since most of what an average person needs is already installed, and it's all in a very clearly laid out menu :D

glotz
December 14th, 2006, 05:28 AM
Ubuntu is not Linux for geeks. It's Linux for human beings. Stop being so elitist, please. I think newbies are great aid in usability testing. They will be confused and usually vocal when things don't work intuitively. That will help us make Ubuntu and GNU/Linux even better.

Let there be light. For everybody.

Sorry for this spam.

timas
December 14th, 2006, 09:58 AM
I think I had mentioned why VMWare was not going to work much much easier on, take the time to read the thread if you're going to randomly spit out comments.

NTFS r/w: got it! :)

Installer: I'm thinking we can work something out for that.. I'd personally vote for something with a little more of a 'wow' factor to it.. an auto extracting zip might not so much put forward the 'wow, look at this!' thing.. Initially it will work fine though.. I imagine that if/once we make a neat looking installer it will just be a wrapper around the commandline that still executes the same things as the auto extractor would.. but while the downloading is done and the unpacking and stuff we could, very mickysoft like, give the user some information about the stuff we're installing.. think about: "I can't find Microsoft Word/Excel/Access/Powerpoint!" which we can tackle by showing some information about OpenOffice2.1.. think about: "You wont have to worry so much about security anymore" stuff like that :)

Another thing to consider is the, much earlier mentioned, copying existing user info that is available while we're in Windows so they wont have to re-enter all that stuff.. Has anyone recently installed Edgy through that icon on the desktop in the live CD? That's what I'm looking for with this.. Straight forward, simple and very usable.

Tuxcantfly, keep it up! The lack of interest from the elitists was to be expected.

A curiously offtopic question to the elistists:
A few friends of mine that live in the US got their drivers license while driving a car with automatic transmition.. because they never learned, should we just simply not allow them to drive in a car with a manual transmition or should we perhaps help them get accustomed to it and show them it's not that difficult and usually more efficient in the end? To me, this is the same argument as the "They can google for the howto on burning an ISO"
Here's another argument: Not everyone has a CD/DVD burner. Even today computers are still sold with regular drives to push costs. That and we're not only aiming this at the users of today, but also those with a machine that can run Buntu a lot better than it could run Windows 98/2000/XP because it's starting to get outdated.

delfick
December 14th, 2006, 10:25 AM
we could, very mickysoft like, give the user some information about the stuff we're installing.. think about: "I can't find Microsoft Word/Excel/Access/Powerpoint!" which we can tackle by showing some information about OpenOffice2.1.. think about: "You wont have to worry so much about security anymore" stuff like that :)


like this http://www.ubuntuforums.org/showthread.php?t=286808&highlight=tutorial

:D:D

(i also agree, the installer should have a *wow* factor to it :D)

timas
December 14th, 2006, 04:24 PM
Exactly like that yes, a clear, informative overview of the alternatives Ubuntu offers :)

Something I'm only thinking about now is the usage of codecs and the likes.. I imagine people will want to play mp3's, watch their avi's and view the webpages they know with the fonts they were meant to be viewed in (MS TTF's)..

Maybe someone who knows can answer this: If a user has a legal Windows (which we should assume), aren't they automatically licensed to use said parts, even while running Linux? Alternatively we could suggest that the whole mp3/aac/wma/whatevah collection could be converted to a free format..

Apps that are writen in Mono can run on Windows as well, right? .NET framework and stuff.. so wouldn't we be able to write an installer (wrapper!) in Mono?

I listed this before, but I'll try to detail it a bit more this time.. The stuff the windows installer will need to do, according to me (assumptions!):
- Start the download of the ISO file from an FTP location and just display a progress bar in the top of the installer window
>> This should be do-able without too much trouble..

- Collect information from the Windows Installation.. username, full name, resolution, hardware
>> Read registry? env. variables?

- Set up the loopback filesystems (ext3 and swap)
>> No idea, maybe we can simply set up two big files and say they are loopback and let the linux install format them as ext3/swap

- When finished downloading install the ISO into the partition while using the extra data collected from the Windows parititon
>> No idea.. install it and edit the config files afterwards?

- Set up the new partition in current boot manager (lilo, grub, boot.ini, bootcamp)
>> dunno, assuming it's not too hard

This all happens while IN windows, no reboot, no switch to Buntu, first boot into Buntu has to be perfect: First impressions count! :)

While the installer runs we display info about some of the cool apps available for Buntu.. OOo, Amarok(?), Firefox/Iceweasel, k3b(?), Kontact/Evolution/Thunderbird, Kopete/Gaim? and the stuff Delfick mentioned in his thread :)

tuxcantfly, this sound good? I'm kinda just brainfarting away in this thread and it's really your idea :P

delfick
December 15th, 2006, 02:40 AM
sounds good to my non-technical brain :D:D

tuxcantfly
December 15th, 2006, 03:43 AM
Apps that are writen in Mono can run on Windows as well, right? .NET framework and stuff.. so wouldn't we be able to write an installer (wrapper!) in Mono?

It would be better just to use a standard windows installer, not a mono/.net one, because older versions of windows don't have the .net runtime preinstalled. I think NSIS http://nsis.sourceforge.net/Main_Page is what we're looking for.

tuxcantfly
December 15th, 2006, 03:48 AM
- Collect information from the Windows Installation.. username, full name, resolution, hardware
>> Read registry? env. variables?

I don't exactly like the idea of muddling around the registry, especially because it's different on various versions of windows, so we'd need to modify the installer for each one. It's a good idea, but it'll probably be a bit too hard to implement. Let's keep it simple for now, and maybe add stuff like this later.

tuxcantfly
December 15th, 2006, 03:56 AM
- Start the download of the ISO file from an FTP location and just display a progress bar in the top of the installer window
>> This should be do-able without too much trouble..

The idea's good, but why don't we use bittorrent instead of FTP, and have the installer contain a stripped down, embedded bittorrent client that will download the file? It would conserve bandwidth, would require no additional software, and would only add a few KB to the installer size. Also, we won't be downloading the ISO file, we will be downloading a compressed, preconfigured hard drive disk image (.img.zip or something), so that we will need to do as little configuring under windows as possible.

tuxcantfly
December 15th, 2006, 04:09 AM
Something I'm only thinking about now is the usage of codecs and the likes.. I imagine people will want to play mp3's, watch their avi's and view the webpages they know with the fonts they were meant to be viewed in (MS TTF's)..

Maybe someone who knows can answer this: If a user has a legal Windows (which we should assume), aren't they automatically licensed to use said parts, even while running Linux? Alternatively we could suggest that the whole mp3/aac/wma/whatevah collection could be converted to a free format..

I'm not a lawyer, but I don't think that's legal; the EULA you accept permits you only to use those exact codecs, and not any other codecs. I think it's legal for the fonts, though. But for codecs, this is an entirely separate issue which is being worked on here: https://launchpad.net/distros/ubuntu/+spec/easy-codec-installation

purplearcanist
December 15th, 2006, 04:23 AM
This idea sounds good, but here is my idea...

The user downloads a small .exe file. When they run it, it will ask the user to set up the partition for Ubuntu, After installing a modest Ubuntu system on the partition, and the boot loader, it will ask the user to reboot into Linux. Once inside Linux, the user finishes the installation process. Instead of installing from disc, this installation method will download binaries directly from the ubuntu server.

Obviously, this won't work for some people, but it is an easy method for an inexperienced computer user with a wireless network. The problem , however, will be to get the wireless drivers on the modest installation.

There could also be an option for a "Typical Install" (Installs all the stock programs) and a "Custom Install" (The user selects the programs from an add/remove list, like the one in Ubuntu, but it will require an Internet connection for the non-stock programs) no matter what the procedure is.

tuxcantfly
December 15th, 2006, 04:32 AM
- Set up the loopback filesystems (ext3 and swap)
>> No idea, maybe we can simply set up two big files and say they are loopback and let the linux install format them as ext3/swap

What I'm thinking of is that the 2 loopback files are already formated and ready to go when the installer downloads them, so there will be no need to format or even run the ubuntu installer.


- When finished downloading install the ISO into the partition while using the extra data collected from the Windows parititon
>> No idea.. install it and edit the config files afterwards?

I was thinking more of creating a config.txt file in the C:\ubuntu directory, with the username, timezone, and hardware settings, right alongside the ubuntu.img and swap.img files, and it will be read on the first ubuntu boot, and the settings will be applied, without user interaction. This way, we can just use a stock ubuntu.img file, with everything preconfigured except the computer-specific stuff in config.txt, so there will be no need to modify it in windows (because windows can't write to loopmounted ext3 out of the box). And we don't want to use stuff like colinux for installation (unlike topologilinux), because that would look unprofessional, it would slow down installation, and it would increase the size of the installer. I think using a preconfigured ubuntu.img, swap.img, and config.txt file would be the easiest, fastest, and most efficient solution.


- Set up the new partition in current boot manager (lilo, grub, boot.ini, bootcamp)
>> dunno, assuming it's not too hard

Right from http://www.topologilinux.com/ "There is also a grub-based bootmanager so you can boot in real mode (not coLinuxmode) (require windows 2000/XP or higher)" this sounds like what we'll be using.


This all happens while IN windows, no reboot, no switch to Buntu, first boot into Buntu has to be perfect: First impressions count! :)

Of course; there wil be no ugly command prompts pestering users in the first boot. The first boot will take longer, though, as all the hardware will have to be detected and set up, and user info will need to be imported from the config.txt file the windows installer generated.


While the installer runs we display info about some of the cool apps available for Buntu.. OOo, Amarok(?), Firefox/Iceweasel, k3b(?), Kontact/Evolution/Thunderbird, Kopete/Gaim? and the stuff Delfick mentioned in his thread :)

Sounds nice, should be easily done with NSIS.

tuxcantfly
December 15th, 2006, 04:41 AM
This idea sounds good, but here is my idea...

The user downloads a small .exe file. When they run it, it will ask the user to set up the partition for Ubuntu, After installing a modest Ubuntu system on the partition, and the boot loader, it will ask the user to reboot into Linux. Once inside Linux, the user finishes the installation process. Instead of installing from disc, this installation method will download binaries directly from the ubuntu server.

Obviously, this won't work for some people, but it is an easy method for an inexperienced computer user with a wireless network. The problem , however, will be to get the wireless drivers on the modest installation.

There could also be an option for a "Typical Install" (Installs all the stock programs) and a "Custom Install" (The user selects the programs from an add/remove list, like the one in Ubuntu, but it will require an Internet connection for the non-stock programs) no matter what the procedure is.

Is this what you're thinking of? http://sourceforge.net/projects/instlux

purplearcanist
December 15th, 2006, 04:58 AM
Is this what you're thinking of? http://sourceforge.net/projects/instlux
No, all it would do is install a minimalist Linux system from Windows, but the installation would finish and most of the binaries will be downloaded directly from the Ubuntu server. That appears to install completely from windows, which is not what I have in mind.

delfick
December 15th, 2006, 05:15 AM
Is this what you're thinking of? http://sourceforge.net/projects/instlux

though that looks very interesting :D

(has that already been mentioned in this thread ?? i think it has :D

Circus-Killer
December 15th, 2006, 06:46 AM
its a good idea, but should only be a secondary method. what if i want to do a clean install (and i only run ubuntu). i'de have to install windows just to install ubuntu, that would be stupid.

so yah, it should only be a secondary method or even a seperate release altogether. honestly though, i feel the installer is fine the way it is.

timas
December 15th, 2006, 10:12 AM
its a good idea, but should only be a secondary method. what if i want to do a clean install (and i only run ubuntu). i'de have to install windows just to install ubuntu, that would be stupid.

so yah, it should only be a secondary method or even a seperate release altogether. honestly though, i feel the installer is fine the way it is.

It'll be a third party project I'd think.. Which is fine by me, as long as it works as it was intended :)


we will be downloading a compressed, preconfigured hard drive disk image (.img.zip or something), so that we will need to do as little configuring under windows as possible.

Wont this mean we need to repackage or rebuild the image every so many days when a bunch of updates have passed by?


I think NSIS http://nsis.sourceforge.net/Main_Page is what we're looking for.
Looks good! That was /exactly/ what I was looking for when I mentioned it previously..

Start of 2007 I should be available to actually do more than talk about all of this.. Should we, if you haven't yet, formalize this into a real project? I /think/ I can be of help with the Windows installer side, that looks like something I should be able to figure out. Throw me an email or somesuch if you're interested :)

Eddie Wilson
December 15th, 2006, 02:44 PM
Do you really think that Windows users would be more at ease with this kind of install? I think so. Also they could look before they leap.
Eddie

tuxcantfly
December 16th, 2006, 12:15 AM
Wont this mean we need to repackage or rebuild the image every so many days when a bunch of updates have passed by?

Well, the major updates come only once every 6 months, so that shouldn't be too much of a problem. As for the minor updates, the user can always use apt once ubuntu is installed.

tuxcantfly
December 16th, 2006, 12:26 AM
Should we, if you haven't yet, formalize this into a real project?

Exactly what I was thinking... but where do we start? Do we just try (note: try; I have barely any experience at programming) to throw together our own installer, and present it to the community when done, or do we write a specification on the wiki, create a new project on Launchpad, and develop it with the assistance of the community, who hopefully know better than us?

thelinuxguy
December 16th, 2006, 03:45 AM
But where do we start? Do we just try (note: try; I have barely any experience at programming) to throw together our own installer, and present it to the community when done, or do we write a specification on the wiki, create a new project on Launchpad, and develop it with the assistance of the community, who hopefully know better than us?

I think the wiki approach will be better. The initial work seems to be done as pointed out earlier at https://wiki.ubuntu.com/UbuntuSetup

tuxcantfly
December 16th, 2006, 07:24 AM
I created a seperate entry on the wiki page, and decided not to go with https://wiki.ubuntu.com/UbuntuSetup/ because their ideas are too broad, complex, and they want to use colinux, which would be more complex, and not as efficient as using preconfigured disk images and a separate config file. My specification can be found here: https://wiki.ubuntu.com/install.exe/.

tuxcantfly
December 16th, 2006, 07:44 AM
Here's the new launchpad entry I have created: https://blueprints.launchpad.net/distros/ubuntu/+spec/windows-installer.

thelinuxguy
December 16th, 2006, 09:39 AM
The ubuntu kernel only has NTFS read support, and does not have the limited, stable kernel NTFS write support needed to write to the loopmounted ext3 partition.

linux-ntfs.org reports that the NTFS Driver in Kernel 2.6 can be used to setup a loopback device on an NTFS file. Doesn't Ubuntu ship with this kernel? Or it has a modified one? When I installed dapper, I couldn't write to my Windows partitions using the standard drivers and resorted to ntfs-3g. But could it be that write support for the default driver has to be enabled somewhere? (I can't figure out where)

http://www.linux-ntfs.org/content/view/15/29

araz
December 16th, 2006, 01:43 PM
I love the idea. It could very powerful tool to attract more users to Ubuntu and simplify Ubuntu trial experience.

tuxcantfly
December 16th, 2006, 04:19 PM
linux-ntfs.org reports that the NTFS Driver in Kernel 2.6 can be used to setup a loopback device on an NTFS file. Doesn't Ubuntu ship with this kernel? Or it has a modified one? When I installed dapper, I couldn't write to my Windows partitions using the standard drivers and resorted to ntfs-3g. But could it be that write support for the default driver has to be enabled somewhere? (I can't figure out where)

Yes, that's exactly the issue. It's in the default linux 2.6 kernel, but ubuntu's one doesn't seem to have it enabled for some reason, so we'll need to add support through a module. It can be enabled while building the kernel.

thelinuxguy
December 17th, 2006, 07:30 AM
Instlux (Ubuntu edition) from http://sourceforge.net/project/showfiles.php?group_id=151507
created a folder on my C drive (which has WinXP) and extracted the kernel and initrd images into that folder. It also extracted grldr and menu.lst into my C drive. Having a look at menu.lst tells us that grub for dos boots into the kernel image that Instlux extracts.

I tried this:
Created an image of a working Ubuntu 6.06 system using dd.
Replaced the kernel image extracted by Instlux (which kicks off a Ubuntu installation) with the Ubuntu kernel from the working system and same for initrd.
Passed a boot parameter to the kernel to mount root from the image file.

It didn't work. The closest I could get was the "Non-unix root file system" section at http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html.

tuxcantfly
December 17th, 2006, 07:41 PM
Replaced the kernel image extracted by Instlux (which kicks off a Ubuntu installation) with the Ubuntu kernel from the working system and same for initrd.

Apparently, that's the problem. The standard kernel doesn't seem to have some modules needed for loopmounting the root filesystem. We'll need to figure out which ones, and build them as modules.


It didn't work

What was the error?

thelinuxguy
December 18th, 2006, 07:11 AM
What was the error?

In office now. So this is not the exact output. But it goes something like this

Kernel panic: Not syncing. Terminating init....

When using instlux, it extracts grldr to c: and makes an entry in the boot.ini which says:

c:\grldr="Ubuntu..."

I thought maybe grldr is a bootable image which reads the entries from menu.lst and boots the kernel. So I tried making an image of the bootable Ubuntu cd and modifying the boot.ini entry to

c:\Ubuntu.iso="Ubuntu...."

But it didnt boot. The screen just went blank. Maybe I missed some parameter. But if I didnt, then we will have to take a different approach. Do u have a copy of TopologiLinux? U could try installing it and take a look at the bootloader entries it creates.

With respect to the link in my previous post, Ill try and find out more about devfs and if we could use it to our advantage.

tuxcantfly
December 19th, 2006, 12:23 AM
The kernel panic error probably means it can't find/mount the root filesystem. Is this is quiet or verbose mode? Try booting in verbose; you might get some more info.

I can't install Topologilinux, though, because I don't have enough spare hard drive space for it. Would someone else mind trying it out? You could always use a vmware virtual machine, if you don't want to mess too much with your computer. This, from the Topologilinux FAQ, might help, though:


2. Problem when booting Topologilinux with bootmanager in "real mode".

solution: make sure your system works in colinux mode and that grldr is placed

in c:\ (or your windows driver) and also that boot.ini has

the entry "Start Topologilinux"

grldr.lst should be placed on the driver where Topologilinux is

installed.

You can also try to boot using the bootable cd (need to have boot from

cd enabled in Bios)

Ignore the colinux part, because I don't intend to use it. But are you sure this grldr.lst is set up correctly, as well as the menu.lst? Either could be wrong. Your boot.ini looks correct, though. I think your iso didn't work because I don't think GRLDR supports booting from a loopmounted ISO9660 filesystem.

thelinuxguy
December 19th, 2006, 01:02 AM
The kernel panic error probably means it can't find/mount the root filesystem. Is this is quiet or verbose mode? Try booting in verbose; you might get some more info.

I will do that once I get my machine back. My AMD 3600+ Dual Core based system just stopped responding for some reason and I had to fall back on my old Celeron 800. Quite some time before I can go into production again.


But are you sure this grldr.lst is set up correctly, as well as the menu.lst? Either could be wrong. Your boot.ini looks correct, though.

I installed instlux and grldr got me into the linux kernel alright. menu.lst was fine. I didn't touch grldr.lst and I don't remember having come across it.


I think your iso didn't work because I don't think GRLDR supports booting from a loopmounted ISO9660 filesystem.

I modified boot.ini to read c:\Ubuntu.iso="Ubuntu..." which means grldr was bypassed. NTLDR would have passed control to the boot sector on the ISO9660 filesystem and my machine can sure boot off it. But it didn't happen that way and the screen just went blank. grldr was not involved in this. I had done this to test the assumption that grldr 'is' a bootable image of some sort and can be replaced to boot something else. Seems logical but didn't work out as expected. Maybe I missed something somewhere.

And devfs is obsolete. We will need to follow up on udev it seems.
http://kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs
http://www.gentoo.org/doc/en/devfs-guide.xml

Regards.

tuxcantfly
December 30th, 2006, 04:36 AM
Would somebody mind trying to install topologilinux and dumping an existing ubuntu install onto the root filesystem, replacing everything except /boot and disk-related files like /etc/fstab, and report if it works? If it does, all we'll need to do is tinker a bit with the kernel, but if it doesn't, we'll need to do a bit more work. Sorry, can't do it myself; windows partition doesn't have enough free space.

tuxcantfly
December 30th, 2006, 04:39 AM
I installed instlux and grldr got me into the linux kernel alright. menu.lst was fine. I didn't touch grldr.lst and I don't remember having come across it.

You're using instlinux, I see. Does instlinux install under a loopmounted filesystem? And what are the differences between the core instlinux and standard ubuntu installs (like are any additional kernel modules loaded or anything)? Again, can't see myself; windows partition doesn't have enough space.

amano
December 30th, 2006, 05:07 AM
My suggestion: NO, because there are much more important things to be done. Can someone on Canonical's payroll PLEASE fix the FileRoller bug, that prevents files to be extracted by drag and drop instead (just as an example). If everything else works fine, this could be reconsidered IMHO.

tuxcantfly
December 30th, 2006, 05:18 AM
I just tried using ntfs-3g, and it seems like it has very good performance, likely better than a loopmounted filesystem would have. See http://www.ntfs-3g.org/performance.html for a benchmark. Also, it would likely be easier to implement, as we'd be using ntfs as just another standard filesystem (just add fuse to /etc/modules, and change the filesystem type to ntfs-3g under /etc/fstab), instead of tinkering with loopmounting, and standard grub supports booting off of ntfs. Also, windows can write to ntfs, so that would mean we could directly modify the installation files using the installer, instead of having to try to write to a disk image. The only problem would be the filesystem permissions, but wouldn't it be possible to solve that problem using unionfs? As in, you fuse the ntfs filesystem with a filesystem image, so that the ntfs filesystem stores all the files and directories, but the loopmounted filesystem image only stores permissions and everything else ntfs-3g can't handle. This way, you get the improved performance of ntfs-3g, and the advantages of writing directly to ntfs, but you still get filesystem permissions. In fact, if we use the FUSE-based version of unionfs, funionfs http://funionfs.apiou.org/?lng=en we won't even need to modify the kernel at all; fuse is built into ubuntu's kernel. So, would it be a better idea to use ntfs-3g, and would it (funionfs + ntfs-3g + small loopmounted filesystem) be possible, and technologically feasible, to do?

tuxcantfly
December 30th, 2006, 05:21 AM
My suggestion: NO, because there are much more important things to be done. Can someone on Canonical's payroll PLEASE fix the FileRoller bug, that prevents files to be extracted by drag and drop instead (just as an example). If everything else works fine, this could be reconsidered IMHO.

Who ever said anything about Canonical doing this? Notice choice 2: "unofficial third party project"? Also, the FileRoller bug probably doesn't have anything to do with ubuntu; that's up to Gnome to fix, or if it was an issue with the packaging, whoever the packager was. Remeber; ubuntu is a distribution; what we do is package the works of the open-source community (Gnome, Linux) and make them nicely available and installable. We've got plenty of people doing packaging; it's around time we started making a more user-friendly installer. Besides, fixing bugs is an ongoing task, while once this is done properly, we'll never have to do it again.

Nonno Bassotto
December 30th, 2006, 04:02 PM
My suggestion: NO, because there are much more important things to be done. Can someone on Canonical's payroll PLEASE fix the FileRoller bug, that prevents files to be extracted by drag and drop instead (just as an example).

Quite off-topic, but try dragging and dropping the files two times. The second time it works (at least for me).

Nonno Bassotto
December 30th, 2006, 04:10 PM
Would this cause any performance issue? In that case it could give a bad impression to new ubuntu users.

tuxcantfly
December 31st, 2006, 04:06 AM
Would this cause any performance issue? In that case it could give a bad impression to new ubuntu users.

When I used topologilinux, I had no noticeable performance issues, and that's with a loopmounted filesystem. ntfs-3g would likely give even better performance; as shown in http://www.ntfs-3g.org/performance.html it's almost as fast as ext3, and even outperforms it sometimes. As for the first impression, this is probably going to be much better than a live cd, because it's going to be way faster, almost as fast as an install with a dedicated partition, and will also preserve changes made.

Hello1024
December 31st, 2006, 04:43 PM
Hi,

I'm new to the ubuntu community, and have signed up to try to contribute to this project.

I'm just wondering, is anyone actively implementing this yet? How far into the development cycle have we got?

If there is nobody actively developing it, I'd like to have a go at making the windows downloader and installer, as a kind of proof of concept design, but then maybe to be integrated into ubuntu later if it works well.

I'm mainly a windows developer, rather than a linux one, although I do have a little knowledge of linux, so thats why I want to work on this sub-project.

Although there are lots of views in this forum, I would say it's probably best to download onto the NTFS partition an image of a pre-installed ubuntu system, as that saves either trying to port all of the installation system to windows, or having a double-reboot system.

As far as the bootloader goes, it's best to keep the windows one and add an ubuntu menu option to it, because that way any faliure during installation won't break windows, and also a "repair" install of windows won't break ubuntu. That will also be compatible with any other OS's that may already be installed on the system, such as windows me, windows 98, and windows 95. It also saves having two bootloaders, because windows xp doesn't run without it's own bootloader somewhere in the boot chain.

As far as running linux direct from ntfs goes, I'd ignore the idea until they have implemented all the features of ext3, to maintain compatibility with everything else.

Taking hardware setup from the current windows install I would say isn't a good idea, because so many windows systems have serious hardware issues, as well as the fact that there are various "virtual devices" in windows, that aren't required in ubuntu. It might be a good idea to simply collect a list of pnp-id's of the hardware in the computer, and check it against an online compatibility list, to warn about possible hardware compatibility issues before the download - consider this a seperate side project though.

There will have to be some ubuntu setup script on the first boot to take the settings from the config.txt file and put them into the preinstalled system, and do hardware detection and install drivers etc., although I wouldn't really know where to start with that.

Let me know what everyone thinks of my comments above!

Thanks

tuxcantfly
January 1st, 2007, 02:19 AM
How far into the development cycle have we got?

Not far, still trying to figure out whether we should be using ntfs-3g or a loopmounted filesystem, could really use some feedback and help from more experienced developers, no code yet, working on the specification...


If there is nobody actively developing it, I'd like to have a go at making the windows downloader and installer

Oh yes, please do. I know practically nothing about making fancy windows gui installers, and I doubt anybody else who has signed up for this project does either.


Although there are lots of views in this forum, I would say it's probably best to download onto the NTFS partition an image of a pre-installed ubuntu system, as that saves either trying to port all of the installation system to windows, or having a double-reboot system.

Yes, that's exactly what my specification at http://wiki.ubuntu.com/install.exe says.


As far as the bootloader goes, it's best to keep the windows one and add an ubuntu menu option to it, because that way any faliure during installation won't break windows, and also a "repair" install of windows won't break ubuntu. That will also be compatible with any other OS's that may already be installed on the system, such as windows me, windows 98, and windows 95. It also saves having two bootloaders, because windows xp doesn't run without it's own bootloader somewhere in the boot chain.

Yes, that would be done by GLRDR, which is also used by topologilinux. That's what the specification says.


As far as running linux direct from ntfs goes, I'd ignore the idea until they have implemented all the features of ext3, to maintain compatibility with everything else.

Yes, which is why the specification says that we'll be using a loopmounted ext3 filesystem, rather than ntfs-3g. But (this isn't in the specification, new idea) if we can combine the real ntfs filesystem with the loopmounted ext3 filesystem using funionfs http://funionfs.apiou.org/?lng=en wouldn't we technically have all the features of ext3, yet wouldn't lose as much performance as a full-fledged loopmounted ext3 filesystem, because we'd be storing the permissions on the ext3 loopmounted filesystem, and the files on the real ntfs filesystem? Need some more feedback about this...

tuxcantfly
January 1st, 2007, 05:00 AM
There will have to be some ubuntu setup script on the first boot to take the settings from the config.txt file and put them into the preinstalled system, and do hardware detection and install drivers etc., although I wouldn't really know where to start with that.

A shell script placed in /etc/rc2.d should do the trick; "discover" should be used for the automatic hardware detection (the same as is used in the standard installer), and all we have to do is just run the addgroup and adduser commands, with parameters based on the configuration file. Then, we can just run rm /etc/rc2.d/S99installer.sh to prevent it from running on the second boot.

Hello1024
January 1st, 2007, 01:17 PM
Your decision on the unionfs idea or loopback - whichever is simpler to get working I'd say to start with.

Has it proved possible to get anything (even if it's not ubuntu) running with the same versions of the kernel, loopback ext3 on ntfs, grldr etc. running - if so, could you provide info on how I could make or get hold of the ext3 image file, so I can use it to test the installer.

A few possible problems I thought about:
Are we planning on supporting FAT32 (used on windows 95/98/ME, and some XP systems), as an alternative to NTFS - it would be hard to support, becausae it doesn't support files larger than 4GB, and our ext3 image would probably be bigger than that. If we are to support FAT32 and windows 95/98/me based systems, then there needs to be a way to split the ext3 image file into multiple seperate files, which then appear as one as far as the lopback driver is concerned.

Also on the same grain as above, if we are going to support windows 95/98/me systems, then another bootloader would have to be used for those systems, because they don't have the NTLDR system. They have another boot loader, IO.sys, which may be able to chain-load another version of grub.

What about GRLDR compatibity with windows vista? - that would be important when vista is released. (the vista boot loader has changed to bootmgr, although it still has the option to chain-load another boot-loader, it is configured with a propietry binary config file and config app, rather than boot.ini)

I'll see what I can do with getting a proof-of-concept installer in the next few days, and if anyones got any working ext3 image files, kernel, etc to install with it, that would be great.

Also, I think the image file should be compressed for download, as quite a lot of it will be empty space to allow for user documents and extra programs.

For a future project, how hard would it be to allow the ext3 image file to automaticly resize, to allow the user the flexibility to install lots more apps, or to get smaller to save wasting space on the ntfs drive? I realise that would probably require quite a lot of coding on pretty much every level (ntfs write support, ext3 modifications, loopback driver modifications etc.)

Hello1024
January 1st, 2007, 01:36 PM
One other thing, if I'm understanding right, the contents of the swap space is irrelevant unless the system is running (because it's only swap space for ram, and ram is lost when the system is off) - doesn't that mean that since windows and ubuntu will never be running at the same time, both could use the same swap file? That saves space on the ntfs partition, and also ensures the swap space isn't too fragmented, because windows uses tricks to ensure it's swap (pagefile.sys) isn't fragmented.

A couple more questions:

Would a different version of the hard disk image be needed for every language, or is it possible to change the UI language on the first boot?

Should there be a windows based app to configure bootloader settings (eg. windows or ubuntu by default, timeout etc.) in the start menu of the windows system?

tuxcantfly
January 2nd, 2007, 02:38 AM
Your decision on the unionfs idea or loopback - whichever is simpler to get working I'd say to start with.

Loopback would probably be easier, because other distros (topologilinux, phat linux) are doing it that way. Loopback it is, then.


could you provide info on how I could make or get hold of the ext3 image file, so I can use it to test the installer.

Just make a standard ubuntu install, and use e2image to back it up into an image file. man e2image for command line options. It won't boot, of course, because I'm still figuring out what modifications we'll need to make to the kernel, grub, and such for loopback, but you could use it for testing the installer.

tuxcantfly
January 2nd, 2007, 02:43 AM
Are we planning on supporting FAT32 (used on windows 95/98/ME, and some XP systems), as an alternative to NTFS - it would be hard to support, becausae it doesn't support files larger than 4GB, and our ext3 image would probably be bigger than that. If we are to support FAT32 and windows 95/98/me based systems, then there needs to be a way to split the ext3 image file into multiple seperate files, which then appear as one as far as the lopback driver is concerned.

Not many people are using FAT32 these days; it was estimated to be around 5% and falling these days. I don't think we should bother with the additional work and testing for FAT32; they can always just do a standard install. But for splitting the filesystem into multiple images; yes, that's possible; we just mount one image as /home, another as /var, another as /usr, and the like. But still, the 4GB file limit is going to be really problematic, so I think we should only try to support NTFS, at least for now.


Also on the same grain as above, if we are going to support windows 95/98/me systems, then another bootloader would have to be used for those systems, because they don't have the NTLDR system. They have another boot loader, IO.sys, which may be able to chain-load another version of grub.

Again, pre-windows 2000 systems are problematic to support and are barely even used these days; don't bother with supporting them, at least for now.

tuxcantfly
January 2nd, 2007, 02:55 AM
Also, I think the image file should be compressed for download, as quite a lot of it will be empty space to allow for user documents and extra programs.

Obviously... we don't want people downloading 20gb empty disk images. BZ2 is probably the way to go; it has better compression ratios than zip and gz, but doesn't take too long to decompress, as is quite well supported.


What about GRLDR compatibity with windows vista? - that would be important when vista is released. (the vista boot loader has changed to bootmgr, although it still has the option to chain-load another boot-loader, it is configured with a propietry binary config file and config app, rather than boot.ini)

I'm not sure about that one... Hopefully GRLDR adds Vista support soon...


One other thing, if I'm understanding right, the contents of the swap space is irrelevant unless the system is running (because it's only swap space for ram, and ram is lost when the system is off) - doesn't that mean that since windows and ubuntu will never be running at the same time, both could use the same swap file? That saves space on the ntfs partition, and also ensures the swap space isn't too fragmented, because windows uses tricks to ensure it's swap (pagefile.sys) isn't fragmented.

I don't think that's a good idea... Windows might have major issues if it finds that its pagefile.sys is formatted differently than it expects. Also, this'll mean that we'll have to reformat the pagefile.sys every reboot, because linux and windows store their swap differently.


Would a different version of the hard disk image be needed for every language, or is it possible to change the UI language on the first boot?

Language settings should be included into the config.txt file generated by the installer, and should be applied automatically on the first ubuntu boot; that way, we won't waste as much space and bandwidth on the servers.

YourDoom123
January 2nd, 2007, 06:47 AM
Loopback would probably be easier, because other distros (topologilinux, phat linux) are doing it that way. Loopback it is, then.


Argumentatum ad Populum...
lets pick a method on it's merits, not because everyone else is...

ntfs-3g is definitely faster (i've tried it on various occasions, but the last time was back in may... it's come a long way since then, i'm sure). The only problem I encountered was that file deletions were hit or miss. Has anyone tried it since then?

What are the advantages of a loopback filesystem? I'm not even sure that its easier to implement.

by the way, yes, I'm joining this project... I have many friends who would love to try linux but don't want to wipe their hard drives. This is a perfect solution, and I want to help in anyway I can.

Can we set up any set of goals that need to be accomplished in order to implement this spec?

EDIT: in response to tuxcantfly, is a dynamic disk at all possible to implement? doesn't vmware do something like that?

tuxcantfly
January 2nd, 2007, 08:26 AM
What are the advantages of a loopback filesystem? I'm not even sure that its easier to implement.

The main issue is that ntfs-3g doesn't support filesystem permissions (so everybody would be root; not a good thing), so we'd need to figure out how to get filesystem permissions working. My idea was to use (f)unionfs to combine the ntfs and a small ext3 loopmounted filesystem, so that we use ntfs-3g for the files themselves, and the loopmounted ext3 filesystem for the permissions and other stuff that doesn't work in ntfs-3g. I'm not exactly an expert at using (f)unionfs, though, so I don't know how to do this, or whether it is even possible to do. So yes, ntfs-3g is probably faster and better, but will be difficult (if even possible) to implement.

tuxcantfly
January 2nd, 2007, 08:34 AM
is a dynamic disk at all possible to implement? doesn't vmware do something like that?

Yes, it's possible. I'll assume this is with the loopmounted image method; with the ntfs-3g method, this wouldn't be necessary. All we'd need to do is unmount the ntfs filesystem, remount the ntfs filesystem with ntfs-3g, and then, we can shrink or expand the disk image, unmount it again, and remount using the kernel ntfs driver.

tuxcantfly
January 2nd, 2007, 08:36 AM
Has anyone tried it since then?

Yes, I have tried ntfs-3g. It's rock-solid, completely stable, and really fast. I haven't experienced a single issue with it.

tuxcantfly
January 2nd, 2007, 08:45 AM
Can we set up any set of goals that need to be accomplished in order to implement this spec?

If we're going for loopmounted:
1. We need to build a kernel (or module, preferably) that includes the limited ntfs write support that is apparently missing from ubuntu's default kernel
2. We need to configure the bootloader GRLDR to boot from the loopmounted filesystem image
3. We need to configure /etc/fstab to mount the loopmounted ext3 filesystem

If we're going for ntfs-3g:
1. We need to load the fuse module by default, before mounting filesystems (because ntfs-3g depends on fuse)
2. We need to package funionfs, or rebuild the kernel to support unionfs (this is the hack to add filesystem permissions support)(funionfs is probably going to be easier, since we're already using fuse for ntfs-3g; no modifications for the kernel necessary)
3. We need to mount the root filesystem with funionfs in such a way that the files and directories are written to the ntfs partition, yet the permissions are stored on the loopmounted ext3 filesystem

For the fancy gui installer, that's in the wiki specification (http://wiki.ubuntu.com/install.exe)

Hello1024
January 2nd, 2007, 04:35 PM
GRLDR isn't looking a good choice of bootloader to use at the moment - I found this in the readme:


************************************************** ****************************
*** !!!!!!!! NTFS Will No Longer Be Supported !!!!!!!! ***
************************************************** ****************************

Notice! In the future, we will remove NTFS support. For Windows users,
please create an FAT partition and place GRLDR and menu.lst
there. From now on, please don't report bugs relevant to NTFS.

Someone reports that Windows XP with newer SPs and Windows
Vista have intentionally broken the compatiblity with many
things(including GRLDR). So you will get into trouble with
these systems.

Note 1: Although bug reports on NTFS will be ignored, patches on NTFS
and/or Windows are welcome.

Note 2: Microsoft will continue to block GRLDR on its newer OSes. If
so, don't report it. But (again) patches are acceptable.

Note 3: NTFS support will be dropped at the time when most people
wouldn't like to use it.

Basicly, at the moment, it can boot from NTFS, as long as it also has a FAT partition to read the config file from, which isn't very helpfull!


On another topic, I'm looking for someone who would like to have a go at some of the branding for the installer, eg. intro sounds, graphics, logos, splash screen, etc. I've done some myself, but I'm not all that great at graphic design so most of it I've just done from screenshots from the website.

tuxcantfly
January 2nd, 2007, 09:28 PM
NTFS support will be dropped at the time when most people
wouldn't like to use it.

That won't be happening anytime soon; I think GRLDR is still the way to go, because the only alternative I know of would be to install GRUB to the MBR, which would be far more intrusive. If NTFS support is dropped later on, we can always just stay with the last version that supported NTFS.


Basicly, at the moment, it can boot from NTFS, as long as it also has a FAT partition to read the config file from, which isn't very helpfull!

Strange... I didn't need a FAT partition when I was using topologilinux, which uses GRLDR... are you are about that? Maybe you just interpreted them incorrectly; I'm pretty sure they support direct booting from NTFS. I think that their advice to place the files onto a FAT partition is just advice for the future, when they will drop NTFS support, but with current versions, they can still use just an NTFS partition

tuxcantfly
January 2nd, 2007, 09:56 PM
The ntfs-3g + unionfs approach might actually be easier than I expected. Apparently, unionfs support is already built into the kernel, at least in the edgy 2.6.17-10 kernel I'm using; all I had to do was sudo modprobe unionfs (or add it to /etc/modules to load it by default) and I could already combine directories; a nice guide for unionfs usage is at http://www.linuxjournal.com/article/7714

Does anybody know of unionfs parameters needed to store filesystem priveledges in one filesystem (a small loopmounted ext3 partition), and files in another (the actual ntfs drive, mounted using ntfs-3g)? That's currently the main problem with this approach; if we figure it out, it'll probably be easier, better, and faster than doing a full-fledged loopmounted ext3 partition on ntfs.

Hello1024
January 2nd, 2007, 10:08 PM
Hi again.

I've knocked together an ubuntu installer, closely following the spec, which asks the user some options, stores it in a config file, downloads a torrent file from a website (my site at the moment), then downloads the torrent itself, to c:\ubuntu. The torrent contains the kernel, initrd.gz, and the hard disk image. It then installs grub, grldr, and menu.lst (which are in the .exe file). It also adds an entry to the ntldr boot menu to enable boot to grub. Lastly, it makes an uninstaller, and adds ubuntu to the windows "Add Remove Programs" icon in control panel.

The uninstaller basicly reverses the whole process.

There are still a lot of things to sort out though:

Expert mode isn't made yet - it would allow more control over the install process, allow repair installs, allow the torrent to be downloaded with an external program, allow download by http, etc.
Only ubuntu is currently allowed - Kubuntu, Edubuntu and Xubuntu aren't yet supported (to support them it's simply a matter of using a different torrent file)
The torrent downloader doesn't give much progress information, and is fairly unrelaible (doesn't tolerate dodgy net connection).
If you want to skip the torrent download, just press cancel during the download, and ok the error box - installation will continue. Pause and Resume functionality isn't available yet.
There is no slide show about ubuntu shown during the download - it's proving hard to add it because nsis doesn't support threading well.


Note that the torrent is only being seeded on my home pc, so there is a high chance you'll get no seeds to the download, and it will just sit on 0.000% - you can press cancel and the installer will continue, just you won't have the ubuntu image file.

I welcome people testing the installer, or making improvements, or making any of the themes, images, sounds etc. which aren't done well yet.

Best of all, if someone could make the required ext3 image file and kernel, then we could get this project in a fully working state.


Since this forum won't allow the files as attachments, I've uploaded them to my own site:
http://omattos.co.uk/setup-ubuntu.exe - setup file (windows binary)
http://omattos.co.uk/setup-ubuntu-source.zip - source files - you need NSIS, Battletorrent, etc. installed to compile it.

Hello1024
January 2nd, 2007, 10:11 PM
That won't be happening anytime soon; I think GRLDR is still Strange... I didn't need a FAT partition when I was using topologilinux, which uses GRLDR... are you are about that? Maybe you just interpreted them incorrectly; I'm pretty sure they support direct booting from NTFS. I think that their advice to place the files onto a FAT partition is just advice for the future, when they will drop NTFS support, but with current versions, they can still use just an NTFS partition


Yep - I did interret them wrong, and yes, it does work - I got it working with my installer as posted above, which gets as far as the boot menu, loading grub and loading the linux kernel. We just need an ubuntu kernel with loopback and ntfs support now.


One other thing, if we do use the ntfs3g thing, we need to figure a way to stop windows from "interfering" with any of the linux data, to stop it creating "thumbs.db", "desktop.ini", etc. files in every folder, as I expect that would mess everything up. We can probably do that by setting ntfs permissions on the ubuntu folder, so that windows itself doesn't have access to that folder. Also, there is the fact that ntfs isn't case sensitive, whereas linux is, and that may cause problems. Also, does ntfs-3g properly support symlinks and hardlinks, because I heard native (windows) ntfs support for them is sketchy at best.

tuxcantfly
January 3rd, 2007, 12:26 AM
Also, does ntfs-3g properly support symlinks and hardlinks, because I heard native (windows) ntfs support for them is sketchy at best.

Yes, it supports symlinks and hardlinks, the main problem is file permissions


"thumbs.db", "desktop.ini", etc. files in every folder, as I expect that would mess everything up

No, they wouldn't screw anything up, they would just waste disk space


Also, there is the fact that ntfs isn't case sensitive, whereas linux is, and that may cause problem

NTFS, when mounted using ntfs-3g, IS case sensitive; it's only with windows that it isn't. It's the operating system, not the filesystem, that determines the case-sensitivity


I've knocked together an ubuntu installer, closely following the spec, which asks the user some options, stores it in a config file, downloads a torrent file from a website (my site at the moment), then downloads the torrent itself, to c:\ubuntu. The torrent contains the kernel, initrd.gz, and the hard disk image. It then installs grub, grldr, and menu.lst (which are in the .exe file). It also adds an entry to the ntldr boot menu to enable boot to grub. Lastly, it makes an uninstaller, and adds ubuntu to the windows "Add Remove Programs" icon in control panel.

Sweet, haven't tried it yet, though, tinkering with topologilinux to see how they built their kernel and config files


Best of all, if someone could make the required ext3 image file and kernel, then we could get this project in a fully working state.

Well, here's an empty ext3 disk image and swap, just uncompress them mount them like this:

sudo mkdir /media/ext3
sudo mount ./ubuntu.img /media/ext3 -o loop

Then copy-paste an ubuntu installation into /media/ext3 to create a loopmounted install. Won't boot, of course, but report the error messages; they'll tell me what I need to add to the kernel, and which files I need to modify

It seems like we'll be going for a loopmounted installation (the original idea), not ntfs-3g, because I can't figure out how to get the permissions working; it doesn't work, even with my unionfs fused ext3 and ntfs filesystem. Maybe we'll switch when they support permissions, but for now, it's loopmounted image

tuxcantfly
January 3rd, 2007, 12:35 AM
Here's the topologilinux kernel, use it while I try to get the ubuntu kernel working

It's split into 2 files to bypass the forum size limit, to combine them, do this (the extension isn't correct; don't try to extract them, just combine them; I just added it to bypass the forum file types restriction):

cat bzImage1.bz2 bzImage2.bz2 > bzImage

Then, just replace the kernel, and point GRLDR to it

I doubt it'll work, but it'll give out more useful error messages

delfick
January 3rd, 2007, 12:46 AM
I've knocked together an ubuntu installer

awsome :D

(i haven't tested it, probably won't, but it's good to see progress with this :D)




There is no slide show about ubuntu shown during the download - it's proving hard to add it because nsis doesn't support threading well.


once you can get a slideshow of sorts, what about we integrate with this idea over here http://www.ubuntuforums.org/showthread.php?t=286808 (i think i've already suggested this in this thread, but i can't remember if i did :D)

tuxcantfly
January 3rd, 2007, 12:47 AM
here's the topologilinuz initrd, the temporary solution until I get it working with the ubuntu kernel and initrd

ignore the extension, don't extract, just do:

cat initrd1.gz initrd2.gz initrd3.gz initrd 4.gz > initrd.gz

and point GRLDR to it

Hello1024
January 3rd, 2007, 01:00 AM
I'll have a go at using those images tomorrow - I've got to find some disk space first as my pc's a bit clogged with junk.

I'm also not sure exactly what kernel command line parameters will be needed.

I'll work a bit more on the windows setup as well, because while it works at the moment, there's lots of things I'd like to do better on it.

tuxcantfly
January 3rd, 2007, 01:36 AM
I'm also not sure exactly what kernel command line parameters will be needed.

In GRLDR's menu.lst (C:\menu.lst, I think), just modify the lines that say "kernel" and "initrd" to point to wherever you placed the initrd and kernel.

By the way, should I be using feisty or edgy's kernel? The one I'm currently building is using the edgy 2.6.17-10 kernel.

Also, should I build the kernel ntfs write support as a module or into the kernel itself? Is it possible to just add it into /etc/modules, and have it be loaded before the filesystems are mounted, or are filesystems mounted before kernels modules are loaded?

tuxcantfly
January 3rd, 2007, 02:39 AM
Kernel has been built

cat 1.deb 2.deb 3.deb 4.deb 5.deb 6.deb 7.deb 8.deb 9.deb 10.deb 11.deb 12.deb 13.deb 14.deb 15.deb 16.deb 17.deb 18.deb 19.deb 20.deb 21.deb 22.deb > kernel.deb

sudo dpkg -i kernel.deb

then just mount the image and copy-paste your filesystem in

let's see what errors it spews out... probably going to need some modifications to /etc/fstab

tuxcantfly
January 3rd, 2007, 02:42 AM
next 5 parts of the kernel

YourDoom123
January 3rd, 2007, 02:45 AM
haha, I'm going to have to install windows just to test this... good thing i have extra space...

tuxcantfly, are you sure you attached all the files? above, you list 22 debs, but u've only attached 5.

as for kernel version, wouldn't it be best to stick to the edgy kernel until all the kinks are worked out with the feisty one? We're probably gonna have to merge our kernel back upstream /w canonical so that this installer actually becomes a viable install medium... thoughts?

tuxcantfly
January 3rd, 2007, 02:46 AM
would someone mind hosting these files?

tuxcantfly
January 3rd, 2007, 02:50 AM
tuxcantfly, are you sure you attached all the files? above, you list 22 debs, but u've only attached 5.

It's because of the forum limit of 5 uploads per post

It's actually just one deb split into 22 pieces, due to the forum limit of 976KB per file; use cat to join them

cat 1.deb 2.deb 3.deb 4.deb 5.deb 6.deb 7.deb 8.deb 9.deb 10.deb 11.deb 12.deb 13.deb 14.deb 15.deb 16.deb 17.deb 18.deb 19.deb 20.deb 21.deb 22.deb > kernel.deb

sudo dpkg -i kernel.deb

tuxcantfly
January 3rd, 2007, 02:51 AM
here's the last part of the kernel image

please, could someone upload these somewhere else, in 1 piece?

tuxcantfly
January 3rd, 2007, 02:56 AM
and now for the kernel headers...

cat 1.deb 2.deb 3.deb 4.deb 5.deb 6.deb 7.deb 8.deb > headers.deb

sudo dpkg -i headers.deb

headers aren't necessary to boot; they're just for building modules for this kernel

next 3 parts coming up...

tuxcantfly
January 3rd, 2007, 02:58 AM
last part of the kernel headers...

could someone host and link to these files, in 1 piece (after being combined)?

cat 1.deb 2.deb 3.deb 4.deb 5.deb 6.deb 7.deb 8.deb > headers.deb

sudo dpkg -i headers.deb

tuxcantfly
January 3rd, 2007, 03:15 AM
Oh dear, still isn't working... I tried mounting my ntfs partition with my new kernel, and it still is ro in /proc/mounts

Time to try building it as a module...

tuxcantfly
January 3rd, 2007, 03:36 AM
I can't get it compiled as a module; it keeps having conflicts with my current kernel, and refuses to load... It probably has something to do with different customizations and configurations and versions...

Does ntfs-3g have any worse performance than the kernel ntfs driver? Because using ntfs-3g, I can get this running without any modifications to the kernel...

So here's the new idea...

Do the same as the old idea, only instead of using the kernel driver to write to loopmounted disk image, use ntfs-3g to write to the loopmounted disk image. So in a way, this is a combination of both older ideas. The main advantage is that we won't need any modifications to existing kernels or installers.

This way, we can dynamically resize the disk image, whereas with the kernel driver, we could not...

If there are no objections, I'll be starting on it...

YourDoom123
January 3rd, 2007, 04:44 AM
So is the kernel upload still necessary? i;m in the process of uploading it to a file hosting site, but can stop if we no longer need it...

tuxcantfly
January 3rd, 2007, 06:49 AM
So is the kernel upload still necessary? i;m in the process of uploading it to a file hosting site, but can stop if we no longer need it...

No, probably not...

tuxcantfly
January 3rd, 2007, 07:11 AM
I've almost gotten a bootable disk image. What I did was mount the edgy desktop iso, then I mounted the squashfs filesystem in it, then I mounted the ext3 loopmounted filesystem (ubuntu.img), copied all the files from the squashfs filesystem to the ext3 loopmounted filesystem, chrooted into the ext3 filesystem, installed ntfs-3g, rebooted to windows, ran the installer Hello1024 made, edited the C:\menu.lst to look like the file I attached, copied the kernel and initrd from the livecd squashfs to C:\ubuntu\vmlinuz-2.6.17-10-generic and C:\ubuntu\initrd.img-2.6.17-10-generic, copied the ext3 loopmounted filesystem (ubuntu.img) and swap image (swap.img) to C:\ubuntu, rebooted, and it actually started booting, only it hung at "waiting for root filesystem", so I think it's either an issue with the "root" entry in menu.lst, or something with /etc/fstab. I'm downloading topologilinux to see how it configures its menu.lst and /etc/fstab (downloading the 2GB DVD iso just for 2 files) and I'll probably have a rudimentary disk image once I set up /etc/fstab and menu.lst. Where can I upload it once I'm done? It's around 2 GB, with BZ2 compression

YourDoom123
January 3rd, 2007, 06:36 PM
if its waiting for root, maybe its an issue with the kernel drivers? i'll give it a shot in a minute...

brickbat
January 3rd, 2007, 07:10 PM
This is stupid. If someone can't or isn't willing to learn how to burn a cd or use the installer to partition their hard drive, then they shouldn't be using a computer period. Resources are vast and it takes very little effort to find out how to do these very basic tasks. At the very least they could have a friend show them how. It would be a waste of time to make something like this. Do we really want such ignorant people using linux? They're still going to be the same ignorant person after switching from windows.

This comment reminds me of the elitist unix geeks that said that having a gui was stupid. Just as a driver of a car shouldn't have to know how to tune the engine or change the gearbox, I don't see why the user of an operating system should know how to install a partition. Of course, if they want to, thats fine but if they want to write emails, play games, watch a movie, or surf the web, they shouldn't HAVE TO learn about partitioning. We are all ignorant about many things and I have no problem with people ignorant of partitioning using Ubuntu. You seem to think that you are not ignorant of anything. I welcome them and without speaking on anyone else's behalf, I think it is the philosophy of Ubuntu to welcome them also.

Hello1024
January 3rd, 2007, 07:51 PM
Where can I upload it once I'm done?
You could make a torrent out of it, and then anyone that wants it can download it. I don't know of any hosting providers that allow such big files to be hosted.


It's around 2 GB, with BZ2 compression
That seems very big to me, when you consider the CD was only 700meg, and surely bz2 compression is on par with whatever compression squashfs uses.


I had no success with the topologilinux kernel (lots of ntfs read errors). Is there any easy way to slow down the kernel debug messages, so I have time to read them before they vanish off the top of the screen? (complains of block device errors, missiong modules, ntfs read errors, and finally a kernel panic "VFS: Unable to mount root fs on 00:00)

tuxcantfly
January 3rd, 2007, 11:19 PM
That seems very big to me

I noticed that the 2GB one included my /home folder; after removing it, I got it down to around 600 MB


You could make a torrent out of it

Wouldn't someone need to host it still, though? I though that with bittorrent, you need other people "seeding" it in order for people to download it...

The disk image still doesn't completely boot, but it's getting closer to functioning; I can't get the error message, because it just hangs on the usplash, but would anybody be interested in tinkering with the config files and trying to get it to boot, or should I just upload it once it's completely working (could take a while)?

Hello1024
January 4th, 2007, 12:18 AM
I'd be interested in tinkering with it, but I don't think I know enough about inux in general to fix most of the problems that are likely to crop up...

Can't you just add the nousplash kernel parameter to the menu.lst file to disable usplash, and then you can see the console output.

I don't know who else needs the 2GB image file at the moment, because I have no real need for it, because I don't think I'd be much good at diagnosing problems with it, and my slow net connection means it'll take 2 days to download 2GB anyway

tuxcantfly
January 4th, 2007, 12:45 AM
Can't you just add the nousplash kernel parameter to the menu.lst file to disable usplash, and then you can see the console output.

Yes, did that (just remove "quiet" and "splash" from menu.lst), it says: kernel panic, attempted to kill init

Did a bit more tinkering (replaced the topologilinux initrd and kernel with ubuntu ones), and now it just throws me into a busybox shell

BusyBox v1.1.3 (Debian 1:1.1.3-2ubuntu3) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
(initramfs)

doesn't give me any errors, or if it does, they go too fast and I can't read them. It's probably some issue with the initrd.gz, but how do I edit it? I tried to gunzip and loopmount it, which worked fine on topologilinux's initrd, but mount doesn't recognize the filesystem type on ubuntu's initrd


I don't know who else needs the 2GB image file at the moment, because I have no real need for it, because I don't think I'd be much good at diagnosing problems with it, and my slow net connection means it'll take 2 days to download 2GB anyway

As I was saying, it isn't 2 GB, but 600 MB

tuxcantfly
January 4th, 2007, 02:16 AM
Apparently, to do loopmount, we not only have to modify the kernel and initrd, but also many of the init scripts, namely udev. What I did was use the topologilinux kernel, initrd, and init scripts, and used ubuntu's files for everything else, and I actually got to the GDM login screen, only now I'm getting font errors (rectangles instead of letters), permissions errors (sudo no longer works, and I can't log on, but I can't read the xsession error message because it's just a bunch of rectangles because of the font error) and LOTS of udev errors; so many, that I can't even shut the computer down; it just stops responding and gives me an "udev- out of memory" error.

Given all these errors, and because we'll apparently have to rewrite the startup scripts (which I have no idea how to do), and customize the kernel and initrd, to do loopmount, it's probably going to be easier to just use ntfs-3g, which is what I'll be working on. If anybody wants to try to fix all the errors with loopmount, and is interested in trying to implement it, I can upload my partially functioning disk image (1.2GB), and you can tinker with it (good luck getting udev to work); I'll be trying to get it done with ntfs-3g. Of course, we won't have to modify the installer Hello1024 created to use ntfs-3g, just the menu.lst will have to be modified, and we'll have to make it download an archive containing files that will be directly extracted into C:\, instead of a compressed disk image that will be extracted to C:\ubuntu.

tuxcantfly
January 4th, 2007, 07:22 AM
great news, folks

I GOT IT BOOTING WITH NTFS-3G!!!

of course, filesystem permissions still don't work, so I'll have to work on that, but hey, it's a start!

Ok, so here's what I did:

Install using Hello1024's installer
Modify C:\menu.lst to be like the file I attached
pop in an ubuntu livecd

sudo mkdir /media/squashfs
sudo mount /media/cdrom/casper/filesystem.squashfs /media/squashfs -o loop -t squashfs
sudo mkdir /media/ntfs
sudo mount /dev/sda1 /media/ntfs *** Note: we're assuming your windows partition is /dev/sda1, modify it accordingly (might be /dev/hda1) ***
sudo cp /media/squashfs/* /media/ntfs

then download all 6 parts of my modified initrd.img-2.6.17-10-generic (this one has ntfs-3g support built in)

cat 1.gz 2.gz 3.gz 4.gz 5.gz 6.gz > initrd.img-2.6.17-10-generic

place the file in /media/ntfs/boot

reboot, select windows, select Ubuntu Linux, and it should boot! Of course, some stuff (notably GDM) don't work, due to incorrect filesystem permissions. I'll be trying to get this fixed...

tuxcantfly
January 4th, 2007, 07:24 AM
And here are the last 2 parts of my ntfs-3g-enabled initrd

Would anyone mind uploading these somewhere in 1 piece?

I'll assure you, I tested it already, it works, just join them with

cat 1.gz 2.gz 3.gz 4.gz 5.gz 6.gz > initrd.img-2.6.17-10-generic

tuxcantfly
January 4th, 2007, 05:48 PM
Figured out how to fix the filesystem permissions issue...

We mount the ntfs filesystem and a loopmounted disk image on the ntfs filesystem, then combined them with unionfs. All files that are owned by root and have chmod 755 will be on the ntfs drive, while all files that should have different permissions will be on the loopmounted filesystem. /etc/fstab should be set up something like this (note: I haven't gotten all the uuid stiff set up)

# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 /ntfs ntfs-3g defaults 0 0
/ntfs/ubuntu.img /loopfs ext3 loop 0 0
none / unionfs dirs=/ntfs:/loopfs 0 0

Also, we'll have to add fuse, loop, and unionfs to /etc/modules

To change a file's permission, you first move it from the ntfs drive to the loopmounted drive, then you run chmod or chown; we can write a wrapper that can do this, to make it transparent to the user.

Of course, once ntfs-3g gets proper permissions support, we will no longer need to use this hack; we can just mount the ntfs drive directly

civilian
January 4th, 2007, 06:25 PM
Well i like the Idea, but I would not use it, so i would like to actually have the choice, but yes i definitely think it would get more people to try ubuntu ( I could give cd's out more easily, rather than thinking of how much tech support i'll have to do to the ones i give it).

Hello1024
January 4th, 2007, 06:53 PM
Yes, when we get this new installer working, all the other installation methods will still be available as before. Probably, this new installer wouldn't even become a recomended way to install ubuntu untill it has been throughly field tested through a few releases.

Hello1024
January 4th, 2007, 06:59 PM
Hmm, I'm sure I replied to this about 30 mins ago, but it seems my reply disappeared!

Anyway, I said:

Sounds good,

I've uploaded the file to http://omattos.co.uk/initrd.img-2.6.17-10-generic

I havn't tested it yet, but hope to do so this evening hopefully.

Would it be hard to make a subdirectory of the ntfs drive the root for ubuntu, because otherwise you've got a few problems with all the ubuntu directories being plainly visible to the windows users, and in ubuntu, all the windows directories will be fully readable (Windows, Program Files, Documents and settings, config.msi, temp, System volume information etc.). That might cause a few security issues, but more importantly, it makes it very easy to accidentally break one OS from the other. There might also be compatibility issues if say there was already a c:\dev folder on the ntfs drive, caused by some other program.

tuxcantfly
January 4th, 2007, 07:35 PM
Would it be hard to make a subdirectory of the ntfs drive the root for ubuntu

That would require tweaking the bootloader and initramfs in ways I have no idea how to do. If the main concern is having the ubuntu files visible to windows, we could always give it a hidden attribute under windows with the installer, and to hide windows files under ubuntu, we could just create a .hidden file in / that contains the names of the windows directory, which hides them. As for the overlapping of folder names, I doubt any windows programs use the dev, usr, home, etc folders; these days, everything is either in Program Files, Windows, or Documents and Settings

tuxcantfly
January 4th, 2007, 08:32 PM
Ok, I'm down to this error:

It boots, only when GDM is supposed to start, I get a blue screen which says:


The GDM user 'gdm' does not exist. Please correct GDM configuration, and restart GDM

exactly how do I correct this (adduser gdm, but what are the parameters?)

YourDoom123
January 4th, 2007, 09:10 PM
a tiny bit of searching yielded the answer :-p
create a group named gdm, and add the user gdm to it... then reinstall gdm, and it'll take care of permissions :).

tuxcantfly
January 4th, 2007, 09:30 PM
create a group named gdm, and add the user gdm to it... then reinstall gdm, and it'll take care of permissions .

Ok, I chrooted into my ntfs partition, a tried to create a group named gdm

sudo addgroup gdm
addgroup: The group `gdm' already exists.

tried to create a user named gdm:

sudo adduser gdm
adduser: The user `gdm' already exists.

tried to add user gdm to group gdm

sudo adduser gdm gdm
The user `gdm' is already a member of `gdm'.

so apparently, gdm is already a member of the group gdm, but it still gives me the same error

tuxcantfly
January 4th, 2007, 09:37 PM
I might have a bigger problem here:

I tried to boot into single-user mode (recovery mode), and it boots up fine, but when I'm supposed to get the shell, I get:

sulogin: cannot open password database

and I can't log in, but I can chroot in through my standard ubuntu install...

do I need the /etc/shadow and /etc/gshadow files? (I don't have them) apparently, the livecd squashfs is missing them (that's what I based my disk off), but the livecd boots fine without them...

tuxcantfly
January 4th, 2007, 10:55 PM
I found the problem

apparently, the loopmounted filesystem, and/or the unionfs filesystem, that's supposed to store the files that need special permissions (not supported by ntfs-3g) isn't getting mounted, so the files I'm storing on the loopmounted filesystem (/etc/passwd, /etc/shadow, /etc/gshadow, /etc/group) aren't getting mapped to /, so I'm getting a gdm and sulogin error because they can't read those files. I added loop, fuse, and unionfs to /etc/modules, and made a shell script:


#! /bin/sh

mount /ubuntu.img -o loop /loopfs
mount -t unionfs -o dirs=/loopfs:/=ro none /

at /etc/rcS.d/S50newroot.sh that should mount the filesystems, but it isn't working... I'm not getting any error messages during the boot; it just seems to ignore my shell script; the shell script already has executable permissions, but I'm still getting the same gdm error message and the sulogin error, and the combined filesystem's not mounting for some reason... does anybody know what could be wrong?

tuxcantfly
January 4th, 2007, 11:25 PM
apparently, it's an issue with the unionfs /, not the loopmounting, so I'm just switching to symlinks until I can figure out the problem with unionfs

YourDoom123
January 4th, 2007, 11:40 PM
try calling your script from an init.d script, and add it to the default runlevel via update-rc.d, that way it has no way of not using your script....

EDIT: nvm... left this window open too long w/o refreshing, and replied to the wrong post w/o seeing your last one.

tuxcantfly
January 4th, 2007, 11:59 PM
ok, folks, got to the GDM!

the system's half broken, but hey, it can log in! now, most of the hard work is done; all we need is a bunch, I mean a BUNCH, of symlinks wherever 755 permissions aren't useable. Should I upload this 600 MB monstrosity (pre-pre-alpha quality) for early adopters?

YourDoom123
January 5th, 2007, 12:01 AM
please do :) its gonna take a lot of effort to get this thing to usable, so may as well get started :-p...

EDIT: and if you don't want to make a torrent, try this: www.megashares.com (http://www.megashares.com).... free, no registration, 1.5 gb per file max :)

tuxcantfly
January 5th, 2007, 09:59 PM
download it right here (around 600 MB):

http://d01.megashares.com/?d01=8c11530

use wget to download it; you'll need to get a new "passport" every 300 MB, but just resume with wget -c

run the installer, then extract the file directly to C:\, and place menu.lst into C:\

use menu.lst.gz if you have an sata or scsi drive, and if you have an ata drive, use menu.lst.hda.gz, and rename it to menu.lst.gz and extract it

when you log in, the username is ubuntu and the password is ubuntu
sudo currently doesn't work (has to do with permissions), so if you need to do administration, boot up in recovery mode. root password is ubuntu

please mirror or make a torrent; megashares isn't exactly a good place to host files

please remember that this is an "alpha"; we still don't have proper permissions support, so a bunch of stuff won't work. This is for testing purposes only, and not for production machines

a temporary hack to fix permissions problems is to just move the file into /loopfs (mv file /loopfs/file), symlink to the file (ln -s /loopfs/file), and change the permissions (chmod 777 /loopfs/file)

tuxcantfly
January 5th, 2007, 10:41 PM
It's become apparent that the current hack for permissions support (symlink to /loopfs) just isn't going to cut it (everything's half broken, chmod and chown don't work, and it'll take a lot of work to get every individual file that needs special permissions symlinked, not to mention that an apt-get dist-upgrade will likely completely break the system), so we'll need to work towards one of the following solutions to have real filesystem permissions:

1) move everything into /loopfs, and symlink everything there (this was the original idea, but the problem is that performance will likely be reduced because we'll be using a loopmounted filesystem, and we'll need to tinker more with the kernel and initrd and startup scripts to get it to actually boot from a loopmounted filesystem)
2) implement real ntfs filesystem permissions (this is probably the best solution, but it will be extremely difficult to figure out how Microsoft's cryptic NTFS filesystem works)
3) implement fake ntfs filesystem permissions (instead of storing the permissions in the filesystem itself, we just store them in a plain file, in whatever format we please, and we write a daemon that monitors filesystem permissions access and changes, and use the permissions database, instead of the ntfs filesystem. This would probably also be a good solution, and wouldn't take as much work as implementing real ntfs filesystem permissions). Alternatively, instead of a daemon, we could write it into directly into the ntfs-3g driver itself, and release our own custom version of ntfs-3g which supports filesystem permissions, only instead of using the actual ntfs filesystem to store permissions, it can just store them in a plain file, in a database format (sqlite, maybe?).

Solution 3 is probably what we should be aiming for, for the best performance without needing to do huge amounts of work, but the only problem is that ntfs-3g is written in C, and I can't program in C. Is anyone up to the job of modifying ntfs-3g to store filesystem permissions in an sqlite database on the ntfs partition? Once that's done, we'll finally have proper filesystem permissions support, and this will be ready for release...

tuxcantfly
January 6th, 2007, 04:08 AM
Ok, folks, since nobody seems interested in doing option 2 or 3 (and I certainly can't do it), I'm going with option 1; I've transferred everything to a loopmounted filesystem, have gotten it mounted on bootup as / with a couple of modifications to the initrd, and now just about everything is working (including filesystem permissions, see the "Todo" section below for what's not). I'm uploading it right now, and I'll have the link in a few hours. Someone make a torrent, or mirror this, please, as soon as I have the link?

Installation instructions (for now; this will hopefully soon be automated by the next installer)

1. Download ubuntu-windows-installer-beta.tar.bz2 (I'll have the link as soon as it finishes uploading to megashares.com; it's around 615 MB)
2. Uncompress it; if you're in windows, use 7-zip http://7-zip.org
3. Run setup.exe
4. Place vmlinuz-2.6.17-10-generic in C:\ubuntu
5. Place initrd.img-2.6.17-10-generic in C:\ubuntu
6. Place ubuntu.img in C:\ubuntu
7. If you're using an scsi or sata hard drive, place menu.lst in C:\ if you're using an older ata hard drive rename menu-hda.lst to menu.lst and place it in C:\
8. Reboot, select "Ubuntu" from the bootloader
9. Once you get to the GDM, login as "ubuntu" with the password "ubuntu"

Todo:
We still have to make the shell script in /etc/rcS.d that will read the values from the config file generated by the installer, and use them to configure the new user, password, timezone, and language.
We still have to set up better hardware detection; on one of the laptops I tested, the widescreen resolution wasn't properly detected and set up, and the internet connection wasn't working either.
We have to get the installer to automatically download and extract the new menu.lst, kernel, initrd, and ubuntu.img
We need to get swap working

Patience, I'll have the download link in a few hours, once it's done uploading...

dinxter
January 6th, 2007, 04:20 AM
i'm kind of lost on the reason for installing from windows, surely the ubuntu boot disk is enough? (and what people are used to from ms windows anyway) you can run the livecd, you can install if your impressed. ntsf-3g works well from linux, im just not seeing the benifit (and severe amount of work) of trying to get a 'within windows xp' install

tuxcantfly
January 6th, 2007, 04:57 AM
i'm kind of lost on the reason for installing from windows

See "rationale" and "use cases" on https://wiki.ubuntu.com/install.exe


and severe amount of work

I'm practically done, I'm uploading a beta release right now, all we'll need is a couple more shell scripts, a bit more testing, and we'll be ready for a final release


ntsf-3g works well from linux

Yes, we know it does... and your point is? (it's ntfs-3g, not ntsf-3g, btw.) If the question is why we're using a loopmounted filesystem, rather than ntfs-3g to implement this, it's because of the lack of support for filesystem permissions in ntfs-3g

dinxter
January 6th, 2007, 05:02 AM
my apologies, i was curious rather than making any point. and congratulations for managing this, ntfs is relatively new to me, and scary:)

tuxcantfly
January 6th, 2007, 06:55 AM
ok, figured out how to fix the hardware autoconfiguration issue, at least the X11 part:

within the loopmounted partition, create a file named /etc/rcS.d/S41xconfig

add these lines to it:



#!/bin/sh
dexconf
rm /etc/rcS.d/S41xconfig


sudo chmod +x /etc/rcS.d/S41xconfig

tuxcantfly
January 6th, 2007, 07:36 AM
Download the beta here

http://d01.megashares.com/?d01=52d0fdf

tuxcantfly
January 6th, 2007, 07:55 PM
Here's a new version of the initrd:

http://d01.megashares.com/?d01=11e3105

the primary difference is that it allows you to access your ntfs partition under /ntfs while the loopmounted file is mounted

place it in C:\ubuntu after installing the beta to use it

Hello1024
January 6th, 2007, 08:34 PM
Hi again.

Sorry I haven't answered for the last few days - other things have come up. I'm glad you've got so much done while I wasn't watching.

I'm about to download that beta version, and I'll make a torrent of it, and edit the installer a bit to make use of those new files.

When you say "We still have to set up better hardware detection", is that because the changes to the initramfs setup mean the hardware detection code has had to change, or an issue already present in other ubuntu installs. Is it because there's no specific hardware detection phase, and it's using the livecd, which tries to be compatible with most things?

I'll report back when the download completes.

tuxcantfly
January 6th, 2007, 10:40 PM
When you say "We still have to set up better hardware detection", is that because the changes to the initramfs setup mean the hardware detection code has had to change, or an issue already present in other ubuntu installs. Is it because there's no specific hardware detection phase, and it's using the livecd, which tries to be compatible with most things?

For some reason, even though I'm using the livecd as a base, it's not autodetecting the hardware like the livecd did. It's probably not because of the changes to the initramfs setup, but because the livecd ran some scripts to autodetect and setup the hardware, which aren't being run when the loopmounted filesystem boots. I don't know why, hopefully someone can help.

tuxcantfly
January 6th, 2007, 10:41 PM
And yes, the hardware that didn't work under this install did work under the livecd. A few startup scripts should fix this error...

Hello1024
January 7th, 2007, 01:24 AM
is there any chance you could post it as multiple <300MB files, because neither wget -c or download accelerator would resume the download for me (wget keeps saying HTTP error before it's even started when trying to resume a failed transfer, and download accelerator says resume isn't supported).


On another topic, I've thought of a revised plan for the torrent downloader thing:

To allow people the option of either doing an http download from an official mirror, or a torrent download using their own torrent client, or a torrent download using the built in downloader, we'll have two versions of setup.exe:

1 will be v. small (a few mb), like the current one is.
the other one will be the same, but with the 600MB image inside it (like a self extracting exe).

If the user downloads the small one, then it will ask all the installation questions, then auto download the large one from a torrent, and install it.

If a user downloads the large one directly from a torrent using their own torrent client, then it will execute, ask all the instrallation questions, self extract, and then install.

If the user downloads the large one from an http source, then it will execute, ask all the instrallation questions, self extract, and then install.

The idea behind this is then both the torrents will be the same, and there will be much faster downloads, because more people will be seeding the torrent. It lso allows an easy http download for those who are stuck behind firewalls and can't use the downloader. Another advantage of this is that NSIS includes LZMA compression algorithms, so we should be able to get better compression ratios than with bz2. Also, it keeps everything contained in two files, rather than having seperate parts distributed seperately (kernel, image file, grub etc.), and either of those two files can be used to do the installation.

let me know your feedback on the above.

tuxcantfly
January 7th, 2007, 01:47 AM
is there any chance you could post it as multiple <300MB files

My bandwidth is limited, and it would take hours to upload it again... couldn't you try using flashget http://www.flashget.com/en/download.htm to download? THat's what megashares recommends, anyway.

The torrent idea is great, btw.

Hello1024
January 7th, 2007, 10:56 AM
just trying flashget now.

Anothe thing, I see we've got 2 versions of menu.lst for different hardware setups as far as hard disks goes. Is there any way to autodetect which one will be required from windows that anyone can think of? The only way I can think to do it is to collect information about the hard disk controllers in windows and then check that against an online database to know which to install. - thats all quite a lot of hassle though.

Another option would be to include options for both hda and sda in the menu.lst file, and ask the user to just try selecting both for the first boot, and then have a first boot script in ubuntu that then makes that one the default option.


EDIT: flashget seems to be working.

Hello1024
January 7th, 2007, 02:44 PM
We really need a wiki page with information about how the install process works, step by step, basicly replicating your readme.txt file on the internet.

From there, then can then be download links, and also the installer can refer any troubleshooting problems to that page - eg. "Why is my download so slow?" answer: "Ubuntu's installer uses Peer-to-Peer technology known as BitTorrent, however this can sometimes be slow. For a direct download, use this link ...."


I'll post download links to the new versions of the installer, as soon as it's finished compressing that gigantic img file - it's averageing a compression speed of 20kb/s at the moment! Decompression speed is ok though at 20MB/s on average.

Johnsie
January 7th, 2007, 02:50 PM
I second that.... I've missed out on a lot of this thread and would like to know what's going on without having to read 19 pages of posts :-)

From what I've read, am I right to assume that you guys are working on an installer that installs Ubuntu on a windows drive? If so then good luck.

tuxcantfly
January 7th, 2007, 07:44 PM
We really need a wiki page with information about how the install process works, step by step, basicly replicating your readme.txt file on the internet.

Currently, the readme.txt file is just instructions for manually doing what setup.exe should automatically be doing; download and extract ubuntu.img, the kernel, and initrd, and place them in C:\ubuntu, and place the menu.lst into C:\. So really, we don't need installation instructions; you just have to post a new version of your installer which will automatically do this.

tuxcantfly
January 7th, 2007, 08:27 PM
Wiki page right here: https://wiki.ubuntu.com/install.exe/Prototype

Hello1024
January 7th, 2007, 08:36 PM
OK - I've got it working at last:

First a few notes:
Due to some problems with NSIS not supporting files bigger than 2GB, the installer takes a very long time to extract and decompress the files - just sit back and wait, it shouldn't take longer than 30 mins.

The torrent downloader is untested, so anyone that wants to test it is welcome...

This version does everything automaticly, although if it doesn't boot, try the "HDA" item in the 2nd boot menu.

Here are the links:

http://omattos.co.uk/setup-ubuntu.exe (setup with embedded downloader)
http://omattos.co.uk/ubuntu.torrent (a torrent of the main installer) - please seed this one as much as possible, because my poor internet connection isn't up to seeding very fast!
http://omattos.co.uk/source.zip - source code to the above, excluding the main large image file.

tuxcantfly
January 7th, 2007, 09:24 PM
Sweet- I'm downloading it right now. I've updated https://wiki.ubuntu.com/install.exe/Prototype accordingly

Hello1024, I'd like to move development to sourceforge.net (for better hosting, more developers, etc.). Are you giving me permission to license your installer under the GNU GPL?

Hello1024
January 7th, 2007, 09:44 PM
Are you giving me permission to license your installer under the GNU GPL?


Yes


Send me the link to the sourceforge page when you've got it set up.

There were a few problems with the setup with embedded downloader, but they're fixed now - the link is the same - it still doesn't cope well with torrent pause and resumes though - support for that is coming soon.

cowlip
January 7th, 2007, 10:00 PM
Yes


Send me the link to the sourceforge page when you've got it set up.

There were a few problems with the setup with embedded downloader, but they're fixed now - the link is the same - it still doesn't cope well with torrent pause and resumes though - support for that is coming soon.

Is there anyway to add UPnP (universal plug n play) support to the Bittorrent plugin? That would help open the needed ports needed for fast dl/ul automatically for routers and firewalls..

I can't wait to test this out :)

YourDoom123
January 7th, 2007, 10:04 PM
Sweet- I'm downloading it right now. I've updated https://wiki.ubuntu.com/install.exe/Prototype accordingly

Hello1024, I'd like to move development to sourceforge.net (for better hosting, more developers, etc.). Are you giving me permission to license your installer under the GNU GPL?


Last i checked, the source is GPL. I'm running into a few difficulties downloading the files, so i probably won't be able to test this until tomorrow... and to top it all off, i just killed my ubuntu install (long story), so gonna have to restore it really fast... thankfully i won't lose anything but easily installed programs. Has anybody made any progress on the hardware detection?

tuxcantfly
January 7th, 2007, 10:06 PM
Is there anyway to add UPnP (universal plug n play) support to the Bittorrent plugin? That would help open the needed ports needed for fast dl/ul automatically for routers and firewalls..

Not too sure about that... sounds like a lot of work...

However, if you want to use bittorrent, you can always just download the torrent directly

You'll also be able to download via http as soon as I get the sourceforge page approved and set up... that should provide faster download rates...

tuxcantfly
January 7th, 2007, 10:08 PM
Has anybody made any progress on the hardware detection?


dexconf

add that to a shell script, place it in /etc/rcS.d/, that should fix xorg configuration

haven't figured out networking yet... could really use some help...

tuxcantfly
January 7th, 2007, 10:34 PM
Oh yes, and here's how you can customize your ubuntu disk image (if you can't boot it):

boot into ubuntu (the standard install, not the windows one)

mount your ntfs partition using ntfs-3g (guide at http://ubuntuforums.org/showthread.php?t=217009), something like this:


sudo mkdir /media/ntfs
sudo ntfs-3g /dev/sda1 /media/ntfs

mount the disk image:


sudo mkdir /media/loopfs
sudo mount /media/ntfs/ubuntu.img -o loop -t ext3 /media/loopfs

then, just:


sudo nautilus /media/loopfs

and copy over whatever configuration files you need. If desperate, just copy over the entire contents of / to /media/loopfs; that should fix it. Once done:


sudo umount /media/loopfs
sudo umount /media/ntfs

reboot, and it should work

of course, this is all just a temporary hack until we get the disk image properly set up

Hello1024
January 7th, 2007, 10:45 PM
It would be possible to add UPnP, and I might add it if I can find some python or C code to do the job, but I want to make it work smoothly and reliably first before I worry about tweaking to get the best download speed.

One thing that should get things going faster is the fact that the torrent the setup program downloads is the same as the torrent you can download with your own torrent client, so that should mean there's always more seeds.

There's 11 people downloading already - that shows lots of people are interested!

I've done more improvements to setup-ubuntu.exe so now there is support for resuming torrents. Just click cancel during the download and you'll be asked if you want to resume later. Restart setup and the download will continue, and you won't have to enter your details again. If you were using the old version, you'll have to delete c:\ubuntu\config.ini to enable the resume feature. The new version is on the server, with the same link as before.

glotz
January 7th, 2007, 11:40 PM
Great job guys! Keep the big ball rolling!

Just posting in to fuel the flames!=D>

tuxcantfly
January 8th, 2007, 12:40 AM
Hello1024, did you use the initrd that came included in the tarball containing ubuntu.img, or did you use the newer version at http://d01.megashares.com/index.php?d01=11e3105 ?

The primary difference is that the newer initrd is able to read and write the ntfs partition (so that the config file generated by the installer can be read then deleted), and mounts it in /ntfs, while with the older one, the ntfs partition was inaccessible

If you used the older one, just download the newer initrd at http://d01.megashares.com/index.php?d01=11e3105 and place it in C:\ubuntu, then (under your standard ubuntu install) mount the loopmounted disk image and create a /ntfs directory in it:


sudo mkdir /media/ntfs
sudo ntfs-3g /dev/sda1 /media/ntfs
sudo mkdir /media/loopfs
sudo mount /media/ntfs/ubuntu.img -o loop -t ext3 /media/loopfs
sudo mkdir /media/loopfs/ntfs
sudo umount /media/loopfs
sudo umount /media/ntfs

Then reboot into the ubuntu installed under windows. Sorry, I can't see for myself which initrd you used, because the torrent is downloading at a full 2KB/sec. Hopefully, once I get my sourceforge page approved, we'll have a faster mirror to host the file.

Johnsie
January 8th, 2007, 12:44 AM
Nice work guys. I hope everyone is sharing :-)

cowlip
January 8th, 2007, 01:53 AM
It would be possible to add UPnP, and I might add it if I can find some python or C code to do the job, but I want to make it work smoothly and reliably first before I worry about tweaking to get the best download speed.


Cool, just want to add a link to the Platinum UPnP SDK ( http://sourceforge.net/projects/platinum/ ) and I think Mythtv has it's own open-source UPnP server too, thanks for responding to me Tux and Hello :)

ALso found this on Wikipedia which says it's a "free ANSI C library to control an UPnP IGD (internet gateway device)"?: http://miniupnp.free.fr/ (from http://en.wikipedia.org/wiki/Internet_Gateway_Device )

YourDoom123
January 8th, 2007, 05:11 AM
I believe the installer is incorrectly labelling the download of the file as downloading ubuntu.torrent (unless my download speed is lower then dialup!). can someone verify?

anyway, time for me to hit the sack... I'll set all of this up tomorrow, if it's downloaded by the time i get home (hint: we need to seed this more, although i guess thts up to ppl to download the installer and help test it anyway :-p)

Johnsie
January 8th, 2007, 05:15 AM
I'm having problems with the speed too. I still have 9 hours left for the download (assuming that I keep the same download speed). Once I've downloaded, if there's any way I can share the bandwidth then I'm willing to help temporarily so it wont take as long for everyone else.... At least until other mirrors can be found. I'm not sure how torrents work so I might need some guidance with that. I have unlimited bandwidth so it's no problem for me.

ihavenoname
January 8th, 2007, 05:33 AM
umm I haven't looked into this too much, but honestly, this shouldn't be the DEFAULT method of install, since there are a lot of people who have already removed windows and would be very upset if the MAIN way to install ubuntu would be through windows, that's not the goal. The would probably best serve it's purpose as a 3rd pary project or at most an alternate install. If having to restart the computer with the Ubuntu live/install cd in the CDROM drive is what's keeping someone away then I don't see how letting them install Ubuntu from inside windows is going to make them anymore comfortable once the start Ubuntu. Cause then they will be REALLY lost. Not shooting down the idea, I still think it should be attempted, I am just questioning it a bit.

Johnsie
January 8th, 2007, 05:36 AM
I think they are just looking at having this as an optional way to try Ubuntu. There will still be a lot of users who want native Linux in a Linux filesystem or a Linux only pc. This just gives users more choice. It's better for the environment though as it is a no-cd install :-)

Johnsie
January 8th, 2007, 12:00 PM
It's speeded up a lot now. Did someone add a new seed?

YourDoom123
January 8th, 2007, 01:48 PM
Installer failed for me during download.... divide by zero error in the current rate measure python script. :(

Hello1024
January 8th, 2007, 05:27 PM
If the torrent downloader fails, just restart it at the moment, it will check everything it's downloaded and then resume from where it left off. You may need to delete c:\ubuntu\config.ini to make it resume, depending on which version of the downloader you were using. I'll have a go at fixing that script.

When it says "downloading ubuntu.torrent", it means it's doing the actual data download, not just the torrent file - I'll change it to be more descriptive.

Thanks to those who are seeding faster than my pc can manage!

In reply to a question from earlier, it uses the latest version of initrd that's been posted, although I took the version number out of the file name for the kernel and initrd, so that not too many things would need to be changed when the kernel version changes.

paul cooke
January 8th, 2007, 07:33 PM
I think they are just looking at having this as an optional way to try Ubuntu. There will still be a lot of users who want native Linux in a Linux filesystem or a Linux only pc. This just gives users more choice. It's better for the environment though as it is a no-cd install :-)

I initially started using Linux back in 1999 only because Mandrake 7.0 came out with an option to install as a large loopback device. Beforehand, the prospect of having to repartition my disks was a major turn-off. The tools available back then were very unfriendly and could easily result in wiping out the entire disk.

I think we've been spoilt lately because of live CDs... the ability to install to a loopback file would result in a speed increase over the LiveCD when running the loopback Linux.

I was originally able to run Mandrake just by doubleclicking on a mandrake icon on my win98 desktop and it would boot into Linux. Closing down Linux would cause the machine to bot back into windows.

I gained enough confidence in order to see the benefits in re-partitioning for a proper Mandrake 7.0 install

Hello1024
January 8th, 2007, 11:33 PM
Hi,

I've updated (again) the installer. Now it provides better indication of the torrents progress, hopefully fixed the divide by zero error, and allows more options when cancelling and restarting a torrent. It also prevents itself being installed "on top of" itself, and forces an uninstall first. link: http://omattos.co.uk/setup-ubuntu.exe

You CAN'T take a partially downloaded file to the new version.

I'm still working on the UPnP support, although from watching the torrent, I think it's fairly important, because there aren't enough seeders, and UPnP would help solve that problem. If anyone knows how I can get the local machines internet connected local IP address reliably in a few lines of python on windows, that would be a great help.

YourDoom123
January 9th, 2007, 12:35 AM
hmm mysterious failure sometime during the day (and by the percentage of dl, not long after I left home). No error message, no indication of failure at all. I wasn't here to see it, so I have no idea what happened. Restarting the installer hasn't caused any issues yet.... it just picks up where it left off. Let me see if it ever reproduces it self.

ago
January 9th, 2007, 01:56 AM
Further information here: https://wiki.ubuntu.com/install.exe and here: https://blueprints.launchpad.net/distros/ubuntu/+spec/windows-installer

So, is this a good idea? Vote on the poll, and ask developers!

A PROTOTYPE IS NOW AVAILABLE! SEE https://wiki.ubuntu.com/install.exe/Prototype FOR DOWNLOADING AND INSTALLATION INSTRUCTIONS!

Some time ago' I also submitted this spec on the same topic: https://wiki.ubuntu.com/UbuntuSetup
I am really glad there is already an implementation! Excellent work

ago
January 9th, 2007, 02:18 AM
umm I haven't looked into this too much, but honestly, this shouldn't be the DEFAULT method of install, since there are a lot of people who have already removed windows and would be very upset if the MAIN way to install ubuntu would be through windows, that's not the goal.

What about detecting the OS when the Ubuntu page is loaded and have the download-ubuntu button point you to either an ISO or the installer according to the client used? Windows users should be pointed to the setup.exe file, other users to the iso, extra download options should be available as a separate link. It might be also possible to bundle burner+iso within the same installer (see my proposal above).

tuxcantfly
January 9th, 2007, 02:52 AM
Got some questions from sourceforge (they're deciding whether or not to host this for us), here's what I replied:


"How frequently do you expect to be updating packages within your tree?"

We expect to keep our tree fully compatible with the standard ubuntu releases, so releases will be made every 6 months, like ubuntu, and apt-get can be used to make minor upgrades between the releases once the system is installed using the ubuntu repositories, just like in standard ubuntu.

"Do you plan to also provide full releases in an ISO file format (or similar)?"

Full releases will be provided in ~600 MB windows setup.exe files. Currently, we only offer downloads via BitTorrent at https://wiki.ubuntu.com/install.exe/Prototype but we plan to also offer http downloads once we have proper hosting. We do not plan to release ISO files, but CDs containing the installer can easily be created by simply burning the setup.exe file to a disk.

"How many members of your team will be directly updating the package tree?"

Currently, 2 (one for the installer, and one for the disk image), although this is expected to soon change, once more developers begin working on this project.

"How many distinct versions or quality delineations do you intend to maintain (i.e. stable, unstable, testing, etc.)?"

We expect to maintain one, stable version.

"What mechanism will your end-users be using to update their local package load?"

Users will be able to use apt-get with the standard ubuntu repositories to upgrade their systems.

"How many packages do you expect to exist in each tree (as described in #4)?"

Currently, 5 (the initrd, the kernel, the disk image, the installer, and the bootloader), although we may expand this number to provide additional features for the installation process. We will not, however, be hosting our own full apt repository; we will simply use ubuntu's repository.

"What do you estimate to be your maximal space requirement for all materials you intend to provide?"

1 GB at max.

"Are all materials you are providing under an Open Source license?"

It is all under the GNU GPL.

"Does your project intend to make use of our project CVS and/or Subversion services?"

Yes, for the installer.

"What other SourceForge.net features will your project be using?"

We also intend to use your servers to host our releases.

Tell me if there's anything I should change

Johnsie
January 9th, 2007, 07:49 AM
I tried installing this... When I rebooted and clicked the "Ubuntu" option on the menu Grub for dos started and then it give me boot options for Ubuntu. However none of those boot options would work. For all for of them it said "File not found" when it tried to load the file "kernel".

Any ideas how I can fix this? My NTFS partition is normally hda1 if that's any help although there already appears to be entries for hda1 in grub.

Hello1024
January 9th, 2007, 08:33 AM
Johnsie:

From windows, can you check the existance of the c:\uibuntu\kernel file. If it doesn't exist then it's probable that either the download didn't complete properly, or the decompression of the download was cancled. If you used the version with the embedded downloader, I reccomend the following resoloution:

delete or rename the c:\ubuntu\uninstall.exe file.
open the c:\ubuntu\config.ini file.
Add or modify the following lines:

[Downloader]
downloadinprogress=true

Then save the file and restart setup (use the new version from my site). It should prompt you to continue the installation - select that, and it will check fully the downloaded file, and if it's ok, proceed to reinstall it, but if it's not ok it will re-download missing parts, and then complete the installation.

If you used the standalone version (the one without the embedded downloader), then I should just uninstall and reinstall, since you won't have to wait for the download.

Johnsie
January 9th, 2007, 08:50 AM
double post

Johnsie
January 9th, 2007, 09:07 AM
Thanks for your help. I used the external torrent and the "kernel" file is already in c:\ubuntu and has an md5 of: d595c0f38ff1e91efdc871b93a6fe20e

If it's any help my config.ini contains the following:

[Setup]
Username=
Password=Password




Maybe my kernel file is corrupt or something? I have been able to mount the image file so I think that part is ok for me. Also, does the file "bunzip2.exe" need to be there or can it be deleted?

Johnsie
January 9th, 2007, 11:13 AM
I just try instlux and it gave me exactly the same problem

Extreme Coder
January 9th, 2007, 05:38 PM
I then guess something with your setup is the problem. Probably something that GRUB can't get along with :P

Hello1024
January 9th, 2007, 07:34 PM
I guess it's a bug with GRUB's NTFS support, which was being dropped, I guess, because of it's poor reliability/bugs.

Having used quite a few ntfs drivers (particularly NTFSDOS), I'd say they all have problems with a few drives that windows can cope with fine itself. For example, NTFSDOS corrupts about 2% of all the files that are read from the disk. (sample size, 2x 2MB files on each of 50,000 hard disks)

YourDoom123
January 10th, 2007, 01:49 AM
the installation failed under vmware :( it locks precisely where it's supposed to load the kernel. I need to edit the menu.lst file to give me some time to get rid of the splash so i can read the kernel output. should help the diagnose the issue. I'm also getting my friend who's desperate to try ubuntu but can't erase his hard drive (family pc) to try this out and see if it works for him, so I'll get some more info gathered within the next few days.

tuxcantfly
January 10th, 2007, 04:24 AM
My NTFS partition is normally hda1 if that's any help although there already appears to be entries for hda1 in grub.

The default install uses sda1 as root partition by default. Just open C:\menu.lst and do a find-replace of sda1 to hda1. The entries in grub for hda1 you have now might not be commented out; check to see if they are, and make sure you're booting off the entry that has hda1 as the root.

tuxcantfly
January 10th, 2007, 04:26 AM
Slight problem, got this rejection from the sourceforge folks:


Greetings,

The SourceForge.net team has reviewed this request for hosting. OS distributions are among the largest projects, in terms of disk space and bandwidth requirements for us to serve file releases.

The focus of SourceForge.net is in providing hosting for Open Source software development projects. The amount of software developed by software distribution projects is typically limited compared to the amount of material they are simply redistributing.

Our site is designed for hosting software development projects; our file release system is not currently well suited to projects that need to release large numbers of separate packages and update those releases frequently. Along with our goal of providing hosting for Open Source software development activities, we also place significant focus on retaining all file releases a project makes; with distro releases typically exceeding 500MB for a single release, maintaining the full historical work of such a project does pose significant problems with regard to disk consumption.

SourceForge.net is operated with a finite amount of resources; since our mission is to support Open Source software development projects, not projects that are primarily redistributing existing software, we strictly limit the number of large distribution projects we provide hosting to.

At this time, we are unable to honor your request for hosting.

Thank you,

SourceForge.net Support

Any other good place to host at?

tuxcantfly
January 10th, 2007, 04:32 AM
For all for of them it said "File not found" when it tried to load the file "kernel".

Hello1024, did you use my version of the menu.lst for the installer? because the kernel in mine is called "vmlinux-2.6.17-10-generic", not "kernel". That might be the issue. As a temporary fix, use the menu.lst attached.

Just rename the file to menu.lst (use the one named menu-hda.txt if your ntfs partition is hda1, use menu.txt if it's sda1) rename the file to menu.lst and place it into C:\ Hope that fixes the issue

tuxcantfly
January 10th, 2007, 04:35 AM
From windows, can you check the existance of the c:\uibuntu\kernel file

That file isn't supposed to exist... the kernel is at C:\ubuntu\vmlinuz-2.6.17-10-generic

I think the menu.lst in the installer isn't configured properly; use the one I uploaded in my last post

Hello1024
January 10th, 2007, 06:31 PM
Hi

I renamed the vmlinuz file to "kernel", and the ramdisk file to "initrd", simply so that when a newer version of the kernel or initrd is released the installer and boot menu won't need editing. I also modified the menu.lst file so both the HDA1 and SDA1 boot lines are on the menu (with their recovery mode counterparts), so that users can select the other one if it won't boot rather than have to replace the menu file.

I've attached the menu.lst file in the torrent to this post so you can see it without having to download and install the whole thing.

Hello1024
January 10th, 2007, 07:25 PM
Thats odd - I've been doing all the testing on vmware (I havn't even tried it on a real pc). I was using vmware version 6 beta with windows XP pro, and the vmware pc was set with default settings for windows xp pro except the memory, which was adjusted to 350MB.

You might want to try one of the other boot options in the grub boot menu (keep tapping esc as grub starts to get the menu).

EDIT: If the splash screen shows then it's already loaded the kernel and initrd correctly, but may not have mounted the loopback disk file. While I was testing it, I got the same as you describe when the loopback image didn't exist (froze at splash screen).


As far as hosting is concerned, I may be able to host it on my fasthosts account (no bandwidth limit as far as I can see), but I'd only be able to host one edition, as I can only spare 650 or 675MB of space.

We could also consider hosting with funpic.org as they offer free hosting with 2GB of webspace, but any pages you have there get adverts on them, although if we're only hosting downloads there it doesn't matter.

Neither of those options give us any kind of CVS access or similar though. We could consider asking sourceforge to simply host the setup file, initrd, and the files from the main distribution we've modified, but then host the main installer elsewhere - that means we aren't using anywhere near as much of their server resources.

ago
January 11th, 2007, 12:28 AM
Slight problem, got this rejection from the sourceforge folks:



Any other good place to host at?

Is there any way you can use the standard ISO file and generate the image on the client by extracting the relevant files from it and applying some patches? I guess it should be doable with some cygwin tools. This approach might be a bit complex but it does have advantages: It would be far easier to find a host, you would solve the security problem since there would be no need to pass around a text file with the password, it would be easier to import files/settings, you could also provide the option to burn the CD by bundling a burner, you could reuse cygwin dll for the xserver if in the future you plan to add colinux access.

Hello1024
January 11th, 2007, 12:43 AM
Everything that you mention sounds possible, just the problem is getting most of those things working on windows would be a lot of work - probably more than tuxcantfly and I can do. If we can recruit some more developers then it would be a really good thing to be getting on with.

Since a lot of files in the livecd image and the loopback image are going to be the same, if we used clever compresion systems, it might be able to compress the two together to nearly the same size as just one, even without having filesystem drivers for either working on windows.

ago
January 11th, 2007, 01:06 AM
I was thinking to change the installation process as follows:


have a cywing file to execute most of the installation tasks
use cygwin to create an empty image file
from cygwin loopmount the ISO file and the image file
copy the relevant files from the ISO file to the image file (similar to standard ubuntu installer, probably it is even possible to use the standard ubuntu installer directly)
execute relevant scripts/apply patches/set settings (similar to standard ubunu installer)
copy relevant windows files into image (settings/my documents/emails/contacts...)
copy kernel/initrd to windows folder

This way the image file is created in a custom way on-the-fly and you only have to download the standard ISO image.

YourDoom123
January 11th, 2007, 01:06 AM
Got it working. The problem was that it was recognizing my hard drive as a sata drive (which it is) but the vmware file expresses itself as pata, leading to a file not found error. All my hardware seems to be detected fine (except video which i fully expected not to be detected: ati x1400). One question though: if there's no xorg.conf file, how are video settings controlled?

BetaguyGZT
January 11th, 2007, 02:03 AM
Guys, andLinux already works on Windows using a custom kernel and some special configuration. AND, it's running Edgy.

I've gotten Gnome, KDE, Fluxbox, and XFCE fully operational aside from some configuration issues with startup scripts (and the fact that it only runs in root at the moment). I run it constantly, and performance is very good. I think the project needs an influx of new life, and I think that some energies should be devoted to making it better. Lord Davon (the project head) seems to be MIA.

Perhaps along with the installation stuff you guys are working on that this can become an extension of it.

I'd be happy to upload my current install of andLinux to whomever wants to explore it further. I've made many changes to it compared to the default state it comes in when downloaded, and I plan to make the rest of them when/if I hear back from him about sorting out the startup thing and getting other accounts working.

tuxcantfly
January 11th, 2007, 04:07 AM
Guys, andLinux already works on Windows using a custom kernel and some special configuration. AND, it's running Edgy.

We ARE running edgy, we don't need a custom kernel, no special configuration (currently), just a custom initrd that's already complete. It already installs fine on Windows with this implementation. We don't want to have it actually working ON Windows; colinux and vmware do that fine. Andlinux is based on colinux; it runs under windows; we don't aim to do that, just install under windows. Completely different objectives.


I've gotten Gnome, KDE, Fluxbox, and XFCE fully operational aside from some configuration issues with startup scripts

Us too. Gnome works out of the box, kde, fluxbox, and xfce can be installed with a simple apt-get, and they all work flawlessly, no issues whatsoever


and the fact that it only runs in root at the moment

That is a HUGE problem. Do you realize how many issues there are with running as root? Not just security, but with the system itself; many apps refuse to run as root. And if you don't have proper filesystem permissions implemented (because you are running as root) that means a LOT of stuff is going to get broken, unless you hack away at it


I run it constantly, and performance is very good

Performance is very good here too; no noticeable difference from standard ubuntu. By the way, you're using colinux (as the page in http://wiki.gp2x.org/wiki/AndLinux says), so by definition, performance will suffer, because you're running 2 operating systems, while here, the only performance degradation would be from using a loopmounted filesystem, which only has a very slight, unnoticeable impact on performance


Perhaps along with the installation stuff you guys are working on that this can become an extension of it.

Uh, I don't think that would be useful to you or us. You apparently don't understand what we're trying to do. We're trying to get ubuntu installed under windows, not running under windows. Completely different objective, completely different technology used. We're not emulating with colinux; we're running the real deal, only without partitioning or burning a cd. I'd say we'd best stay separate; we aim for completely different objectives.

tuxcantfly
January 11th, 2007, 04:08 AM
if there's no xorg.conf file, how are video settings controlled?

Good question. I seriously have no idea. Running dexconf, though, on bootup with a script under /etc/rcS.d, though, might solve the issue.

tuxcantfly
January 11th, 2007, 04:19 AM
I was thinking to change the installation process as follows:

* have a cywing file to execute most of the installation tasks
* use cygwin to create an empty image file
* from cygwin loopmount the ISO file and the image file
* copy the relevant files from the ISO file to the image file (similar to standard ubuntu installer, probably it is even possible to use the standard ubuntu installer directly)
* execute relevant scripts/apply patches/set settings (similar to standard ubunu installer)
* copy relevant windows files into image (settings/my documents/emails/contacts...)
* copy kernel/initrd to windows folder


This way the image file is created in a custom way on-the-fly and you only have to download the standard ISO image.

That would add an awful lot of space to the download size, and an awful lot of time to the installation time. Not a good idea, I think, and why bother with all the effort of doing all that if a preconfigured disk image works fine? If bandwidth is truly the issue, we can just continue to rely on bittorrent; more people downloading means more people seeding. I'm looking into places for good http hosting, so the bandwidth issue will (hopefully) soon be resolved. We shouldn't be wasting our efforts on trying to create a disk image under cygwin, when it's faster and better as it currently is, with everything preconfigured. Also, Windows can't write to a loopmounted ext3 partition. EXT2IFS and EXT2FSD won't help; they only write to real partitions, not disk images. We'd have to write the code for this ourselves, a lot of extra work and hassle. This would introduce a whole lot of issues, increase installation time, make everything more complex, and not have any practical benefits apart from conserving bandwidth, which can be solved by using bittorrent as we already are, and finding another host for http downloads. Not a good idea, I think.

BetaguyGZT
January 11th, 2007, 05:10 AM
We're trying to get ubuntu installed under windows, not running under windows.

Ok, guess I misunderstood. My bad. 8) With all I've been working on along with having a cold my brain is a little frazzled. My apologies.

Now that I've actually READ what it is, it's a great idea and worthy of being included by default. :)

tuxcantfly
January 11th, 2007, 06:17 AM
you would solve the security problem since there would be no need to pass around a text file with the password, it would be easier to import files/settings

Those 2 issues can already be easily solved, using the existing method

The security issue: create a file in /etc/rcS.d/S99security in the disk image


rm /ntfs/ubuntu/config.ini
rm /etc/rcS.d/S99security

chmod +x /etc/rcS.d/S99security

in other words, it'll just remove the file with the password on the first boot, and since you're going to be booting from ubuntu right after installing (or else why would you install), it would just remove the password-containing file (right after adding the user using a separate script), so there would be no security issue

The import setting from windows: create a file in /etc/rcS.d/S99import in the disk image

Have the installer import and convert the files, then store them in C:\ubuntu\import\evolution and C:\ubuntu\import\firefox


mv /ntfs/ubuntu/import/evolution ~/.evolution
mv /ntfs/ubuntu/import/firefox ~/.mozilla
rm /etc/rcS.d/S9import

chmod +x /etc/rcS.d/S99import

tuxcantfly
January 11th, 2007, 06:43 AM
Hello1024, use this menu.lst instead, and don't rename the files. why? we can symlink /boot to C:\ubuntu, allowing for kernel upgrades, and even full-fledged dist-upgrades to work under this system, but if it's just called "kernel" or "initrd", apt will fail when upgrading the kernel or dist-upgrading

thelinuxguy
January 11th, 2007, 09:13 AM
Just got my machine back and thankfully, nothing had burnt out. I was there till the 12th page before this happened and went through the remaining pages to get in sync. Seems like most of the stuff has been done. Good to see it working. I can help with testing and hosting the builds now.

ago
January 11th, 2007, 10:20 AM
If bandwidth is truly the issue, we can just continue to rely on bittorrent; more people downloading means more people seeding. I'm looking into places for good http hosting, so the bandwidth issue will (hopefully) soon be resolved. We shouldn't be wasting our efforts on trying to create a disk image under cygwin, when it's faster and better as it currently is, with everything preconfigured.

You are probably right. I think that you should start with bittorrent and then really try to have the images hosted on the official Ubuntu server. In fact if the procedure is proven to be robust, I strongly believe that this should be the default installation route for windows machines.

Johnsie
January 11th, 2007, 11:51 AM
My problem is indeed a problem with grub for dos. I will get onto them about it immediately. (the file not found problem)

ago
January 11th, 2007, 12:19 PM
We don't want to have it actually working ON Windows;
I think that is the right choice. This should be an installation method as close as possible to the standard installation, just without most of the hassles (ISO burning + partitioning), which means that the user reboots into it and focuses 100% on the new OS, trying to actually use it, as opposed to tinkle with it for 5 minutes in a windowed emulated environment and switch back to windows as soon as there is an email to send out.

That said there are valid reasons why you may need to work with 2 OSes simultaneously and it should possible to add access the ubuntu image via coLinux. That could be an optional add-on, that installs the necessary files on windows (xserver/wintap/colinux) + adjusts the settings of the image file as required. But it sounds to me as a completely separate project that could benefit a lot from cooperation with andLinux.

ago
January 11th, 2007, 12:25 PM
I plan to help with the project, I tried the installer yesterday, but the image was too slow to download. Is there some sort of todo list?

eremini
January 11th, 2007, 02:58 PM
How much space do you guys need. Might be able to help.

glotz
January 11th, 2007, 06:58 PM
Just under one gig reads on one of the previous pages.

Hello1024
January 11th, 2007, 09:43 PM
ago:

That sounds great. The slow downloads are because at the moment there aren't many people seeding the torrent file. When more people start using the installer, the download speeds should increase. There is always the option of using the standard http download when we get some hosting (either with ubuntu or elsewhere) if the torrent is awfully slow. The todo list at the moment is to find bugs and fix them mainly, but also to do the first-boot configuration system.

eremini:
The installer at the moment is about 650MB, and the number of downloads at least in this initial testing stage will be fairly small.

tuxcantfly:
I'll include the menu.lst and un-renamed files in the next torrent I make, but I'm trying not to make too many torrents so we get more seeders on each one.

everyone:
nobody yet has reported success at getting this fully working, although from watching the torrent quite a lot of people have downloaded it. Is there some problem which is stopping it from working for everyone, or have people had success with it and not reported back. I have certainly had mine working (under vmware)

ago
January 11th, 2007, 10:33 PM
Did you register the product/project in launchpad?

Hello1024
January 11th, 2007, 11:06 PM
Did you register the product/project in launchpad?

I think so - although the entry hasn't been updated recently - best to ask tuxcantfly though, as he's the project manager - I think he registered it with a full specification etc.

tuxcantfly
January 12th, 2007, 01:22 AM
here's the launchpad page:

https://blueprints.launchpad.net/ubuntu/+spec/windows-installer

specification:

https://wiki.ubuntu.com/install.exe

it hasn't been updated in a while because we've been sticking relatively closely with the specification


best to ask tuxcantfly though, as he's the project manager

Nice title, "project manager"... sounds really official...