Jon Voris | 1 May 2006 03:52

Summer of Code: LiveCD Installer

Hello all,

I'm a student who is interested in participating in this year's Summer 
of Code with NetBSD. Many of the projects seem appealing, but I 
particularly like the idea of creating an installer for LiveCDs. Here's 
my first go at addressing the pertinent areas of the Proposal HowTo; any 
feedback is welcome.

The Project:
Currently, individuals who are potentially interested in using NetBSD 
must use separate CDs to test it out and install it. The goal of this 
project would be to create a program that users could launch directly 
from their LiveCDs to walk them through the installation process. This 
would ultimately be provided to users in LiveCD ISOs as an "Install this 
LiveCD to drive" option, but the main deliverable would be a GUI-based 
installation utility suitable for inclusion during the LiveCD creation 
process.

Here is a rough outline of a possible project schedule:
5/23-6/9: Familiarize myself with the ins and outs of sysinst and the 
LiveCD creation process and determine the best way to integrate the 
installation utility.
6/12-7/14:Create the installation utility without any automation; that 
is, there would be no platform detection included, so the user would 
have to manually select installation options.
7/17-8/21: Add platform and hardware detection to the process that would 
pick proper defaults during installation.

I believe that I would be able to dedicate about 20 hours a week to this 
project...would this allow for enough time to complete it?
(Continue reading)

Jeremy C. Reed | 1 May 2006 18:52

Re: Summer of Code: LiveCD Installer

On Sun, 30 Apr 2006, Jon Voris wrote:

> AFAIK, Knoppix is the only platform that provides an install option with 
> its LiveCD, and even this is very young (I checked the version on 
> Knoppix 4.0; it's v0.3.19.13 with a heavy development warning).

DragonFly OS's installer is via its Live CD.

You may want to look at the BSDinstaller.org project instead of 
NetBSD's sysinst.

It make it easy for different frontends, such as for X11.

Just adding existing sysinst to a LiveCD is easy. And basically all that 
would be needed is to include the base sets (the tarballs) to the CD and 
the sysinst executable. Doing this could be done in just a couple days at 
the most.

So sysinst could/should be included on LiveCd also even if not used as the 
default installer.

The official LiveCD with installer is important.

Part of the project should include what is important and required 
for the LiveCD itself.

Maybe you can include as part of your work on the proposed project to 
research the various NetBSD live CDs and also other LiveCDs and then 
working with your mentors (and this list) decide:

(Continue reading)

Jon Voris | 2 May 2006 06:02

Re: Summer of Code: LiveCD Installer

Jeremy C. Reed wrote:
> DragonFly OS's installer is via its Live CD.
>
> You may want to look at the BSDinstaller.org project instead of 
> NetBSD's sysinst.
>
> It make it easy for different frontends, such as for X11.
>   
Thank you for letting me know about these. BSD Installer looks like it
could definitely be of help with the installation utility.
> The official LiveCD with installer is important.
>
> Part of the project should include what is important and required 
> for the LiveCD itself.
>   
I see what you mean. Originally I thought that the focus of the project
should be to create an installer that was better suited for LiveCD
inclusion, but now I see that the real deliverable is to create a
definitive NetBSD LiveCD. The installer remains important, but the much
of the challenge lies in determining what should be included in the CD
and the best way to configure it. I'll look at your suggestions in more
depth and include them in my proposal.

Jon Voris

Frederick Bruckman | 9 May 2006 01:02

Re: buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks

In article <000e01c671b0$3bf347e0$0100a8c0 <at> gargamel>,
	"Konstantin KABASSANOV" <Konstantin.Kabassanov <at> lip6.fr> writes:
> 
> PAX=/usr/tools/bin/nbpax sh /usr/src/distrib/common/buildfloppies.sh  -i
> "/usr/tools/bin/nbinstallboot  -mi386  <at> IMAGE <at> 
> /usr/obj/destdir.i386/usr/mdec/bootxx_ustarfs" -p  -m 2 -s .fs  boot 2880
> boot  netbsd
> Running instboot: /usr/tools/bin/nbinstallboot -mi386 floppy.25252.tar
> /usr/obj/destdir.i386/usr/mdec/bootxx_ustarfs
> Free space in last tar block: boot 188, netbsd 315,
> buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks
> 
> *** Failed target:  boot1.fs
> *** Failed command: PAX=/usr/tools/bin/nbpax sh
> /usr/src/distrib/common/buildfloppies.sh -i "/usr/tools/bin/nbinstallboot
> -mi386  <at> IMAGE <at>  /usr/obj/destdir.i386/usr/mdec/bootxx_ustarfs" -p -m 2 -s .fs
> boot 2880 boot netbsd
> *** Error code 1
> 
> Stop.
> nbmake: stopped in /usr/src/distrib/i386/floppies/bootfloppy

"Me too."

I propose removing "bad144" from the i386 installation media.

I find that "bootfloppy" and "bootfloppy-com" *just* *fit* into
2880 KB with 0K padding, after commenting out "bad144" from
"ramdisk-big/list". Does anyone have a better idea? Would anyone
really miss "bad144"?  Is that even enough, or will it just fill
(Continue reading)

Garrett D'Amore | 9 May 2006 01:45

Re: buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks

Frederick Bruckman wrote:
> In article <000e01c671b0$3bf347e0$0100a8c0 <at> gargamel>,
> 	"Konstantin KABASSANOV" <Konstantin.Kabassanov <at> lip6.fr> writes:
>   
>> PAX=/usr/tools/bin/nbpax sh /usr/src/distrib/common/buildfloppies.sh  -i
>> "/usr/tools/bin/nbinstallboot  -mi386  <at> IMAGE <at> 
>> /usr/obj/destdir.i386/usr/mdec/bootxx_ustarfs" -p  -m 2 -s .fs  boot 2880
>> boot  netbsd
>> Running instboot: /usr/tools/bin/nbinstallboot -mi386 floppy.25252.tar
>> /usr/obj/destdir.i386/usr/mdec/bootxx_ustarfs
>> Free space in last tar block: boot 188, netbsd 315,
>> buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks
>>
>> *** Failed target:  boot1.fs
>> *** Failed command: PAX=/usr/tools/bin/nbpax sh
>> /usr/src/distrib/common/buildfloppies.sh -i "/usr/tools/bin/nbinstallboot
>> -mi386  <at> IMAGE <at>  /usr/obj/destdir.i386/usr/mdec/bootxx_ustarfs" -p -m 2 -s .fs
>> boot 2880 boot netbsd
>> *** Error code 1
>>
>> Stop.
>> nbmake: stopped in /usr/src/distrib/i386/floppies/bootfloppy
>>     
>
> "Me too."
>
> I propose removing "bad144" from the i386 installation media.
>
> I find that "bootfloppy" and "bootfloppy-com" *just* *fit* into
> 2880 KB with 0K padding, after commenting out "bad144" from
(Continue reading)

Hubert Feyrer | 9 May 2006 02:33
Picon
Favicon

Re: buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on


> Hmm... it strikes me that we are fighting a never ending battle with the
> 1.44 media.  Maybe its time to rethink this?

FYI, the problem is not the 1.44MB limit, but the 2.88MB limit.

The 1.44MB limit does not exist, as we can split up our install images on 
as many floppies as you like - to fix the current problem, just put

 	FLOPPYMAX=	99

into .../bootfloppy/Makefile and .../bootfloppy-com/Makefile.

The 2.88MB limit needs a bit more work. It exists due to the 'floppy 
emulation' boot for CDs, and to get rid of that, we need to switch from 
"first build a 2.88MB floppy image, then create a ISO from that" to 
non-emulated boot. See [1] and the URLs referenced there for a proposal to 
fix this.

I'm currently working on integrating this for NetBSD 4.0.
I guess I'll post to tech-install when I have something for review.

Note that this is NOT an attempt to
1) make a boot-CD w/o a ramdisk-kernel
2) clean up the build infrastructure
3) make a bootable install-CD
Perry volunteered to work on something in that direction, and when it's 
ready it will probably replace the existing code. Until then, the above 
plan should get rid of the 2.88MB limit.

(Continue reading)

Frederick Bruckman | 9 May 2006 02:56

Re: buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks

On Mon, 8 May 2006, Garrett D'Amore wrote:

> Frederick Bruckman wrote:
>>
>> I propose removing "bad144" from the i386 installation media.
>>
>> I find that "bootfloppy" and "bootfloppy-com" *just* *fit* into
>> 2880 KB with 0K padding, after commenting out "bad144" from
>> "ramdisk-big/list". Does anyone have a better idea? Would anyone
>> really miss "bad144"?  Is that even enough, or will it just fill
>> up again in a day or two?
>
>
> Hmm... it strikes me that we are fighting a never ending battle with the
> 1.44 media.  Maybe its time to rethink this?

Sure, every time this happens...

The floppies, as such, aren't really the issue, since we could just 
make three, or five...

> Don't like ~99% just use network or CDROMs as the way they install now?
> Is it worth spending a huge amount of effort to try to make things
> slightly easier for that last 1%?

The CDROMs -- likely the most popular install media -- are the 
problem. The El Torrito emulation section must be no more than 
2880kb, and that's what's overfilling now (ramdisk-big).

It's been suggested that we forego the emulation, but older BIOS's 
(Continue reading)

Frederick Bruckman | 9 May 2006 03:44

Re: buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks

On Mon, 8 May 2006, Frederick Bruckman wrote:

> The CDROMs -- likely the most popular install media -- are the problem. The 
> El Torrito emulation section must be no more than 2880kb, and that's what's 
> overfilling now (ramdisk-big).
>
> It's been suggested that we forego the emulation, but older BIOS's likely 
> won't be able to deal with that.  I think the idea was to have a small El 
> Torrito section with just a bootloader, to load a kernel out of the ISO 
> image. Does the current bootloader support that? (Don't answer that. I just 
> built a current CDROM -- I'll try to load one of the compressed kernels right 
> now.)

So close.  "dev" and "ls" seem to be broken, by the way.  "boot 
cd0a:i386/binary/kernel/netbsd-GENERIC.gz" actually spins the CDROM 
(as does cd0d:...), but says "No file found...".  Was that supposed to 
work?

It occurs to me that anyone who wants to work on this might need to 
actually build a release, so again, what to toss out?  IMO, "bad144" 
stands out as the most useless thing on the list, and "bootfloppy" and 
"bootfloppy-com" just fit without it, but it's not big enough to buy 
us much time before this happens again.

Frederick

Hubert Feyrer | 9 May 2006 03:52
Picon
Favicon

Re: buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks

On Mon, 8 May 2006, Frederick Bruckman wrote:
> So close.  "dev" and "ls" seem to be broken, by the way.  "boot 
> cd0a:i386/binary/kernel/netbsd-GENERIC.gz" actually spins the CDROM (as does 
> cd0d:...), but says "No file found...".  Was that supposed to work?

No, and it was brought up before.
Someone even posted a patch, but I didn't get it to work.
Feel free to dig the archives and work on that, I'd appreciate it!

> It occurs to me that anyone who wants to work on this might need to actually 
> build a release, so again, what to toss out?  IMO, "bad144" stands out as the 
> most useless thing on the list, and "bootfloppy" and "bootfloppy-com" just 
> fit without it, but it's not big enough to buy us much time before this 
> happens again.

See my reply to Garrett's mail.

  - Hubert

Frederick Bruckman | 9 May 2006 04:04

Re: buildfloppies.sh: Image is 3387 bytes (3 KB) too big to fit on 2 disks

In article <Pine.LNX.4.61.0605090350540.15476 <at> m24s24.vlinux.de>,
	Hubert Feyrer <hubert <at> feyrer.de> writes:
> On Mon, 8 May 2006, Frederick Bruckman wrote:
>> So close.  "dev" and "ls" seem to be broken, by the way.  "boot 
>> cd0a:i386/binary/kernel/netbsd-GENERIC.gz" actually spins the CDROM (as does 
>> cd0d:...), but says "No file found...".  Was that supposed to work?
> 
> No, and it was brought up before.
> Someone even posted a patch, but I didn't get it to work.
> Feel free to dig the archives and work on that, I'd appreciate it!
> 
> 
>> It occurs to me that anyone who wants to work on this might need to actually 
>> build a release, so again, what to toss out?  IMO, "bad144" stands out as the 
>> most useless thing on the list, and "bootfloppy" and "bootfloppy-com" just 
>> fit without it, but it's not big enough to buy us much time before this 
>> happens again.
> 
> See my reply to Garrett's mail.

It sounds like a good plan..., but it doesn't sound like it'll be
ready this week. What'll we do about the broken "make release", in
the meantime?

Frederick


Gmane