[Etherboot-developers] Booting from /dev/hd[eg] via etherboot 5.0.4
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Hans-Peter J. <hp...@ur...> - 2001-11-01 21:30:13
|
Hello,
I'm trying to boot locally from /dev/hd[eg] on my Asus A7V133,
which carries a Promise PDC20268 as the 3rd and 4th IDE controller.
I "fixed" main.c the obvious way, but it doesn't work:
[diff fake]
#ifndef CAN_BOOT_DISK
#define loadkernel(s) download((s), downloadkernel)
#else
static int loadkernel(const char *fname)
{
if (!memcmp(fname,"/dev/",5) && fname[6] == 'd') {
int dev, part = 0;
if (fname[5] == 'f') {
if ((dev = fname[7] - '0') < 0 || dev > 3)
goto nodisk; }
else if (fname[5] == 'h' || fname[5] == 's') {
- if ((dev = 0x80 + fname[7] - 'a') < 0x80 || dev > 0x83)
+ if ((dev = 0x80 + fname[7] - 'a') < 0x80 || dev > 0x87)
goto nodisk;
if (fname[8]) {
part = fname[8] - '0';
if (fname[9])
part = 10*part + fname[9] - '0'; }
/* bootdisk cannot cope with more than eight partitions */
if (part < 0 || part > 8)
goto nodisk; }
else
goto nodisk;
return(bootdisk(dev,part));
}
nodisk:
return download(fname, downloadkernel);
}
#endif
I tried with and without a partition nr as boot device, e.g.:
option vendor-tag-196 "Local hde:::/dev/hde";
option vendor-tag-197 "Local hdg:::/dev/hdg1";
But it throws an error, when selected:
read error (0X01) Unable to load file
Reading those devices from linux works as expected, and fdisk -l
shows a valid partition table.
Somebody else looked in this before?
Any proposals?
Cheers,
Hans-Peter
|