← Back to team overview

sslug-teknik team mailing list archive

Re: Lilo problem]

 

Poul Møller Hansen wrote:


Nu kender jeg meget lidt til gentoo, so YMMV..
Yes flash/disken kommer til at hedde /dev/sda, så din boot partition skulle så hedde fx. /dev/sda1 (hvis /boot er den første partition).

Du bruger måske ikke libata? Ellers prøv at skifte.

Jeg er bange for, at jeg ikke var god nok til at forklare mig, så jeg prøver igen.

Jeg har et PC/104 kort, hvor den primære IDE er til en alm. ATA disk og den sekundære er til et compact flash kort.
Den primære har altså devicen hda og den sekundære hdc

Så har jeg en alm. PC med to IDE busser og en USB ting til compact flash kortet. Hvis jeg booter på den primære master og kopierer mine OS filer over på en primær slave hdb og kører lilo med førnævnte konfiguration, rettet til devicen selvfølgelig, så virker det. I det her setup får CF kortet devicen sda. Bruger jeg førnævnte lilo.conf, så er det jeg får fejlen
"fatal: Illegal 'root=' specification: /dev/hdc1"

Men den kommer jo til at hedde hdc på PC/104 kortet, så hvad gør jeg ?

Beklager responstiden.


For at være sikker på jeg har forstået dig korrekt:
Du udvikler på en alm. PC.
Her hedder udviklingsdisken /dev/hda .
Du vil kopiere et setup fra PC'ens /dev/hda til en flashdimmer, som derefter skal boote en PC-104.
På PC-104 hedder primæren /dev/hda .
Derfor tror naturligvis at du kan boote PC-104 fra flashdimmeren, med PC opsætningen lagt i flashdimmeren. Det kan du ikke, fordi flashdimmeren i Linux kommer til at hedde /dev/sd[et-eller-andet].

Du skal altså i /etc/lilo.conf have angivet:
  boot = /dev/sda
og længere nede:
  root = /dev/sda1  (hvis flashdimmerens /boot er sda1)

Dit problem her er, at du nok ikke kan redigere det i lilo.conf på din udviklingsPC og bagefter køre /sbin/lilo .

Men men men... Måske kan du i lilo.conf tilføje en ekstra opsætning for netop din flashdimmer, hvor, også på udviklingsPC'en, flashdimmerens /boot (måske) hedder /dev/sda1 . Jeg tror dog stadig du får et problem med boot= parameteren, hvilket fører til næste metode:

Nu har jeg desværre ikke prøvet at lave boot på flash/usb.
I andre sammenhænge, hvor bootdevice og/eller disken root skal ændres, vil man boot på et rescuemedie af en art (installcd'en, rescuefloppy, knoppix...), mounte den/de partitioner, der har / (rootpartition), /etc, og /boot, manuelt rette /etc/lilo (eller grub), og bagefter installere bootloaderen (lilo -C /etc/lilo.conf), køre sync, og reboote.

Om man kan mounte en flashdimmer fra et rescuemedie har jeg heller ikke prøvet, men det er et forsøg værd. Mon ikke...


(Det er så blevet endnu mere rodet for dig, fordi du på udviklingsPC'en har prøvet at arbejde med at kopiere til et skundært drev (/dev/hdb), og prøvet at kopiere -den- konfiguration til flashdimmeren ;) )

Jeg ved ikke hvad libata er, et C-library til ata programmering ?

Libata er ikke et library i normal forstand.
Det er det man idag bruger til interfacing af SATA disk, som i Linux ligger under SCSI laget. Libata kan også bruges til ATA. Siden din bootdimmer i Linux kommer til at ligge under SCSI, tænkte jeg at det måske kunne bruges til din opgave.
Jeg tror egentlig jeg har givet dig noget begrebsforvirring her ;(

--
Kind regards,
Mogens Valentin


"Unix is very simple, but it takes a genius to understand the simplicity."
  -- Dennis Ritchie



References