GRUB een USB HD laten booten

Pagina: 1
Acties:

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
Is het mogelijk om GRUB (die op mijn hda staat) mijn USB HD (sda) te laten booten. Op de 2e partitie staat namelijk RedHat en omdat mijn moederbord geen USB dingen kan booten wil ik het zo via GRUB doen. Ik zou graag willen wet of dat mogelijk is en hoe dan.
Als er een andere manier is om mijn USB HD te booten hoor ik dat ook graag.

  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 08-02 16:57

wzzrd

The guy with the Red Hat

Lijkt me lastig. USB-SCSI devices (ik neem aan dat het om een pendrive gaat of zo), worden pas geïnitialiseerd bij het laden van de kernel. Tijdens het starten van GRUB, bestaat device /dev/sda dus nog niet. Denk niet dat het kan, maar laat het weten als het wel zo mocht zijn met een truc of zo :)

Verwijderd

Als je USB support hard in je kernel compiled (niet als module) zou dat moeten lukken, zo niet zal je het met een initrd (die op hda staat) moeten doen.

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op 29 juli 2003 @ 17:58:
Als je USB support hard in je kernel compiled (niet als module) zou dat moeten lukken, zo niet zal je het met een initrd (die op hda staat) moeten doen.
Dan nog moeten je kernel (en je initrd, als je die gebruikt) door GRUB te lezen zijn. En die staan volgens mij niet op hda, maar op de usb drive.

Een optie zou wel zijn om op je gewone harde schijf een /boot partitie te maken van een paar MB (16 zou al ruim voldoende zijn). Daar staat dan de kernel op, zodat GRUB je kernel kan starten. Zodra de kernel eenmaal draait kan die wel bij je usb drive.

"He took a duck in the face at two hundred and fifty knots."


  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
wzzrd: ik neem aan dat het om een pendrive gaat of zo
Dit is een echte USB Harde Schijf van 20 GB, maar je spreekt hem hetzelfde aan dus dat maakt geen verschil.
_Squatt_: Dan nog moeten je kernel (en je initrd, als je die gebruikt) door GRUB te lezen zijn. En die staan volgens mij niet op hda, maar op de usb drive.
Een optie zou wel zijn om op je gewone harde schijf een /boot partitie te maken van een paar MB (16 zou al ruim voldoende zijn). Daar staat dan de kernel op, zodat GRUB je kernel kan starten. Zodra de kernel eenmaal draait kan die wel bij je usb drive.
Dat de kernel te lezen moet zijn is natuurlijk logisch en aangezien /dev/sda inderdaad nog niet bestaat (zoals als wzzrd al melde) gaat dit dus niet.
De oplossing van _Squatt_ spreekt me aan en ik zou er graag gebruik van maken. Ik wil de kernel en initrd dan het liefst op diskette hebben (en anders op cdrom). Ik weet (met een HowTo in de hand) hoe ik een bootable diskette/cdrom maak maar niet hoe ik hem dan verder moet laten booten van mijn USB HD. Zodat de rest van RedHat van de USB HD komt en ik dus niet aan de HD kom.
Hopelijk heeft iemand anders hier een oplossing/linkje naar HowTo voor.

[ Voor 4% gewijzigd door Mac_Cain13 op 29-07-2003 22:40 . Reden: Spelvout |:( ]


  • JeroenE
  • Registratie: Januari 2001
  • Niet online
Ik weet (met een HowTo in de hand) hoe ik een bootable diskette/cdrom maak maar niet hoe ik hem dan verder moet laten booten van mijn USB HD. Zodat de rest van RedHat van de USB HD komt en ik dus niet aan de HD kom.
Hopelijk heeft iemand anders hier een oplossing/linkje naar HowTo voor.
Normaal zal in lilo iets staan als root=/dev/hda1, dat zal je dan aan moeten passen naar je USB device (root=/dev/sda1 waarschijnlijk).

Volgens de USB Faq moet je trouwens ook nog een patch draaien omdat de kernel anders te snel door wil gaan.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 10-02 21:52

deadinspace

The what goes where now?

Mac_Cain13 schreef op 29 July 2003 @ 17:00:
Is het mogelijk om GRUB (die op mijn hda staat) mijn USB HD (sda) te laten booten. Op de 2e partitie staat namelijk RedHat en omdat mijn moederbord geen USB dingen kan booten wil ik het zo via GRUB doen. Ik zou graag willen wet of dat mogelijk is en hoe dan.
Ik kan in ieder geval met zekerheid zeggen dat dat niet mogelijk is :)

GRUB krijgt zijn informatie over de HDs van de BIOS, en accesst de HDs ook via de BIOS. Als de BIOS een USB mass storage device dus niet als HD kan weergeven, dan houdt het wat betreft GRUB op (wat betreft elke andere bootloader die ik ken ook btw).

Die oplossing van een kleine boot-partitie op je vaste HD is inderdaad mogelijk, maar dat moet ook wel op een diskette lukken, dat is misschien handiger voor als je vaker van je USB-hd wil booten.

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
Ok, ik ben alweer een heel eind verder dankzij jullie geweldige hulp.
Ik gebruik eerst de kernel op /dev/hda3 (kernel v. 2.4.20) om mee te booten. Als dat lukt wil ik pas over gaan op diskette/cdrom.
Ik heb grub op dit moment al zover dat hij deze kernel boot en dan probeert door te gaan op mijn USB HD (/dev/sda3). Alleen heb ik nog wat last van kernel panics.
Om te beginnen is dit mijn grub.conf:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
default=0
timeout=15
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
password --md5 **doeterverderniettoe**
title RedHat Linux 9 van de HD (Kernel 2.4.20)
     kernel (hd0,2)/boot/vmlinuz-2.4.20 ro root=LABEL=/ hdc=ide-scsi
     initrd /boot/initrd-2.4.20.img
title Windhoos 98
      rootnoverify (hd0,1)
      chainloader +1
title RedHat Linux 9 van de USB (Kernel 2.4.20)
     kernel (hd0,2)/boot/vmlinuz-2.4.20 ro root=/dev/sda3 hdc=ide-scsi
     initrd /boot/initrd-2.4.20.img

Volgens mij werkt dit. Als ik de laatste boot optie kies werkt ie prima en begint de kernel te booten die ik altijd boot. Alles gaat ok. Tot op het moment dat het root systeem word gemount. Hier krijg ik een kernel panic. Dit is de uitvoer van de kernel tot dan toe (alles boven ¨---¨ is van een boot van de HD. Dat kon ik namelijk niet terughalen van de mislukte boot. Maar het zag er op het oog hetzelfde uit.):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
Linux version 2.4.20-8 (bhcompile@stripples.devel.redhat.com) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:18:24 EST 2003
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000fffc000 (usable)
 BIOS-e820: 000000000fffc000 - 000000000ffff000 (ACPI data)
 BIOS-e820: 000000000ffff000 - 0000000010000000 (ACPI NVS)
 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
255MB LOWMEM available.
On node 0 totalpages: 65532
zone(0): 4096 pages.
zone(1): 61436 pages.
zone(2): 0 pages.
Kernel command line: ro root=LABEL=/ hdc=ide-scsi
ide_setup: hdc=ide-scsi
Initializing CPU#0
Detected 1735.486 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3460.30 BogoMIPS
Memory: 253036k/262128k available (1312k kernel code, 6660k reserved, 996k data, 128k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff c1c3fbff 00000000 00000000
CPU:             Common caps: 0383fbff c1c3fbff 00000000 00000000
CPU: AMD Athlon(TM) XP 2100+ stepping 02
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xf17e0, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router VIA [1106/3147] at 00:11.0
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)
Starting kswapd
VFS: Disk quotas vdquot_6.5.1
pty: 2048 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS0 at 0x03f8 (irq = 4) is a 16550A
ttyS1 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
NET4: Frame Diverter 0.46
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 00:11.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8233a (rev 00) IDE UDMA133 controller on pci00:11.1
    ide0: BM-DMA at 0xb000-0xb007, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xb008-0xb00f, BIOS settings: hdc:DMA, hdd:pio
hda: SAMSUNG SP8004H, ATA DISK drive
blk: queue c03be900, I/O limit 4095Mb (mask 0xffffffff)
hdc: LITE-ON LTR-40125S, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: host protected area => 1
hda: 156368016 sectors (80060 MB) w/2048KiB Cache, CHS=9733/255/63, UDMA(100)
ide-floppy driver 0.99.newide
Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 >
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
---
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 145k freed
Creating block devices
Creating root devices
Mounting root filesystem
mount: error 6 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
umount /initrd/proc failed: 2
Freeing unused kernel memory: 128k freed
Kernel panic: No init found. Try passing init= option to kernel.


Dit zou volgens mij te maken kunnen hebben met die patch die jeroene noemt.
Volgens de USB Faq moet je trouwens ook nog een patch draaien omdat de kernel anders te snel door wil gaan.
Ik zal vanavond wel ff de kernel proberen te patchen en opnieuw te compileren. Dit moet ik ook met een HowTo in de hand doen, dus ik hoop dat het dan lukt. Als iemand denkt dat het ergens anders aan kan liggen hoor ik dat graag!

[ Voor 61% gewijzigd door Mac_Cain13 op 30-07-2003 12:38 . Reden: De code toegevoegd ]


  • irondog
  • Registratie: Januari 2001
  • Laatst online: 11-05-2025

irondog

alle dingen moeten onzin zijn

deadinspace schreef op 29 July 2003 @ 23:12:
[...]

Ik kan in ieder geval met zekerheid zeggen dat dat niet mogelijk is :)
In de toekomst zou usb support misschien (lees: waarschijnlijk nooit) wel in de bootloader aanwezig zijn (ook handig voor usb keyboards bijvoorbeeld). Het bios (ja het is 'het' en niet 'de' (in 'de' bios kijk ik namelijk recente films)) moet natuurlijk het booten vanaf usb-drives ondersteunen en dus al direct een usb-subsyteem bevatten.
Ik heb dat nog nooit gezien tot nu toe, dus waarom zou een bootloader zo'n functie hebben? (het zou toch ver gaan als ook je bootloader schijt heeft aan je bios en booten vanaf usb ineens mogelijk maakt.)

De topicstarter kan een linuxbios overwegen :) Dan zal het wel lukken ;)
http://www.linuxbios.org/

[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]


  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
Ik ben nu bezig met het compilen van een kernel voor dit doel en dat gaat ook niet helemaal vlekkeloos en omdat dat niet geheel bij dit onderwerp past heb ik daar maar ff een apart draadje voor gemaakt.

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
Ik wu nog even zeggen dat het me gelukt is!
Ik kan nu overal fijn Linux draaien vanaf mijn USB HD.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 10-02 21:52

deadinspace

The what goes where now?

Cool :)

Werkt het nu vanaf een partitietje op je HD, of vanaf flop?

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
Ik start GRUB vanaf een flop die laat dan de kernel (van de flop) en als de kernel is gestart word de root gemount en dat is duz vanaf de USB HD :)
Pagina: 1