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

Bug#142076: NETINST boot CD (3.0.22) will not boot on Toshiba Satelite 2530CDS laptop



tags + 142076 moreinfo
thanks

> I attempted to install Debian 3.0 (Woody) on my Toshiba 2530CDS laptop (bios
> version 8.0, the most recent) using the Netinst boot CD (3.0.22
> bootbf2.4iso).  The computer doesn't recognize the CD as bootable.  It just
> passes it by and boots to the HD.  The CD does boot on other systems just
> fine (I tested it on 2 others).  I confirmed that the laptop was configured

I cannot explain your problem, the boot*.iso images are created with the
default options.

> correctly by checking the BIOS settings and booting to a Gentoo Linux CD,
> the Gentoo CD seems to work just fine.  It is only a minor inconvenience

Could you collect some data about this image? Install mkisofs package
and run: isoinfo -d -i <gentoo-image>

> since I was able to install from  floppies.  In fact I was able to boot the
> system with the rescue and root floppies and then load the drivers from the
> CD, and at the first reboot step Debian correctly recognizes the CD as
> bootable and warns me to take it out.

It warns you if any CD has been found. With the attached code snipplet,
you can test wheter the bootability is really recognised. (compile with
gcc and load _all_ cdrom modules first).

Gruss/Regards,
Eduard.
-- 
"Es freut mich doch immer wieder zu hoeren, das RTFM heutzutage echt total
 out ist. Zum Glueck hab ich bei meinem Arbeitsplatz im AKW Muelheim-Kaerlich 
 eine GUI-Reaktorkontrolle. Das gibt zwar ab und an nen CORE-Dump, aber hey,
 ich hab nichtmal die Schulungsunterlagen durchgelesen." Daniel Moehwald
#define _GNU_SOURCE
#include <stdio.h>
#include <string.h>
#include <ctype.h>

char prtbuf[4096];

int main() {
   FILE *fd, *cd_info;
   char *p_line,*line = NULL;
   size_t line_size = 0;
   char bootmagic='\0';
   if ((cd_info = fopen ("/proc/sys/dev/cdrom/info", "r")) != NULL)
   {
      /* successfull, continuing */

      /* Read the file and build a list of available CD devices. */
      getline (&line, &line_size, cd_info);
      getline (&line, &line_size, cd_info);
      getline (&line, &line_size, cd_info);
      p_line = line + strlen(line) - 1; /* Point at \n at end of string. */
      *p_line-- = '\0';		/* chop \n */
      while (*p_line != ':')
      {
         while (!isspace(*(p_line - 1)))
            --p_line; /* scan backwards until char-before isspace() */

         {
            /* new local scope; not a while loop */ /* LOL */
            char dev[5 + strlen (p_line) + 1];
            strcpy (dev, "/dev/");
            strcpy (dev + 5, p_line);
            fd = fopen(dev, "r");
            if (!fd)
            {
               while (isspace(*(--p_line)))
                  ; /* Scan backwards for end of previous non whitespace. */
               continue;
            }
            fseek (fd, 34887, SEEK_SET);
            fread (&bootmagic, 1, 1, fd);
            fclose(fd);
            if(bootmagic != '\0')
            {
               printf("Please note that the drive %s contains a bootable CD-ROM.\n", dev);
            }
         }
         while (isspace(*(--p_line))) /* Scan backwards for end of previous non whitespace. */
            ;
         *(p_line + 1) = '\0';
      }
      /* end of "while not looking-at ':'" */
      fclose (cd_info);
   }
}

Reply to: