[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: APUS Debian Boot-Floppies Images and bugs



On Fri, May 11, 2001 at 10:38:07PM +0200, Giorgio Terzi wrote:
> Hello Sven,
> 
> In first i wish to thank you for your help and for your last 
> e-mail. :)))
> 
> But let's speak about job.
> 
> The second goal is reached!
> 
> Now is possible to load & install Rescue & Driver images from 
> floppies, CD-ROMS,HD-Partitions.
> But to do this we must correct some bugs :
> 
> Bug 1: dbootstrap
> 
> The APUS rescue image is MSDOS formatted but in file
> choose_medium.c from line 34 the code is so:
>    #if cpu(sparc) || #cpu(powerpc)
>    const char *fs_type_tab[] = {  "ext2", NULL };
>    #else
>    const char *fs_type_tab[] = { "msdos", "ext2", NULL };
>    #endif
> as you can understand is impossible for a powerpc machine
> to load a msdos partition, so i have modified it so:
>    #if cpu(sparc) || #cpu(powerpc)
>    const char *fs_type_tab[] = { "msdos", "ext2", NULL };
>    #else
>    const char *fs_type_tab[] = { "msdos", "ext2", NULL };
>    #endif
> After this, rescue.bin was loaded and kernel extracted & configured.
> I think this #if is obsolete because, as you will see some lines 
> after in the source file , mount loops between the various filesystems
> (msdos & ext2 now, but may will be more ?) attempting 
> to load the image files.

Ok, will check it in on monday. BTW, could you send me all your changes in
patch form ? You know how to do so, isn't it ? you use diff -ur original.tree
changed.tree, or if you did change only a file, you do diff -u file.orig
file.new. This is the most usefull manner of sharing changes to code.

As what happened here, i guess it worked ok before (as potato used msdos disks
also) but was changed later on. BTW, it don't really makes sense to use msdos
root images, so we could as well go with the ext2 stuff for apus, but we have
to find were it is that this is specified.

> For CD-ROM & for HD partition loading system the drivers was also
> successfully loaded & configured. 
> For CD-ROM i used my Potato CD-ROM N.1.For hard disk i have
> built a debian tree in an Amiga partition.

mmm, ok, i guess this will not work well because of the link issue, but then
it is only for testing.

> Bug 2: floppy images build & configuration
> 
> After the kernel configuration, it was renamed as vmlinuz-2.2.19,
> and this comes from the install.sh script. 
> For APUS this name is wrong as it is really a 2.2.10 kernel.
> Maybe it is possible to use the $subarch variable to distinguish the 
> various powerpc kernel architecture's versions during the install.sh 
> configuration ?

Yes, i remember there was a apus subarch, and already in potato i had to use
2.2.10, while other ppc subarches used 2.2.12 or later kernels.

Maybe we should also go the 2.4.x route, but i am not sure if it is ready
already. Let's ask on the apus lists about it.

> I have tested also the floppy disk use:
> 
> Bug 3: fd0 device problems
> 
> For APUS /dev/fd0 is unable to load the rescue floppy disk. 
> I think it defaults to the Amiga floppy formats.
> I must erase it and recreate it with 'mknod fd0 b 2 28'
> that is the same of /dev/fd0u1440 in a "standard" installation.
>  
> After this change the rescue floppy was successfully loaded.

Err, do you have a 1.44MB floppy ? Most people would have only 880KB ones, so
this is not really needed. Maybe it would be good if you changedebootstrap, so
as to look for fd0u1440 directly, instead of for /dev/fd0, in case we are on
the apus subarch. Also some comment somewhere about it would be welcome. Don't
know if there is a place for adding description of the entries though.

Also i think i recall that we had /dev/fd0 for 720Ko floppies, and /dev/df0
for 880KB amiga floppies, or maybe it was /dev/pc0 or somethign such ...

> Bug 4: dboostrap problem.
> 
> dbootsrap was not able to recognize the driver's floppy disk
> because the drivers' default names was treated as complete
> names but they are really "root names" for example:
> drv14           is a "root name"
> drv14apus.bin   is a driver's complete name.
> In file floppy_merge.c i have modified the line 197 :
> 
>    if (!strcmp (basenames[i], block.header.name))
> as follows:
>    if (!strncmp (basenames[i], block.header.name,strlen(basenames[i])))
>             
> after this i have also loaded the drivers!

huh, this is very nice work already, very good.

Just when making such changes, it is needed to check that it don't break other
arches/subarches. Is there a way to test for the apus subarch when doing the
changes ? somethign like :

  if (arch="ppc" && subarch="apus")
    if (!strcmp (basenames[i], block.header.name));
  else if (!strncmp (basenames[i], block.header.name,strlen(basenames[i])));

I remember being able to do things like that before.

Maybe they are even macros to do per arch things ?

> I can't test network installations because at this moment i haven't it.

maybe we could put the files somewhere and ask for someone with a network
connection to test this ?

> Next steps:
> 1) I shall take a look for ZIP installation.

mmm, should be the same as harddisk installation, should it not ?

> 2) I shall try to download the woody base_system and install it

Ok, that will permit us to test the rest of it, but i think the most difficult
part is already done.

Friendly,

Sven Luther



Reply to: