[tc] info su Grub

Davide Vernizzi davide.vernizzi a gmail.com
Ven 12 Ott 2007 13:17:43 CEST


Tutta l'architettura x86 è una porcata che non è mai stata cambiata
per ragioni storiche di retrocompatibilità... e IMHO credo che la
retrocompatibilità sia quasi completamente del sw chiuso (se ho i
sorgenti ricompilo e mi aggiorno).

Purtroppo le cose stanno così: la gran parte di noi usa hw vecchio che
implementa scelte assurde e complesse solo per essere retocompatibili.
Basti pensare al discorso che si faceva qualche tempo fa sul bit NX
dei nuovi processori Intel della serie pro. Solo ora e solo nella
serie pro, sull'architettura x86 si inizia a vedere un flag che
permette di evitare i buffer overflow. Pensate che sui nostri computer
si può eseguire un dato come se fosse un'istruzione (e addirittura su
può fare il jump a metà di un'istruzione ed eseguire qualcosa di molto
strano (per chi è interessato consiglio la lettura di "smashing the
stack for fun and profit" e di un articolo che verrà presentato ad ACM
CCS '07 che descrive come sia possibile avere una macchina di turing
completa solo saltando nel posto giusto all'interno di una libc
standard)).

On 10/12/07, Salvatore Caratozzolo <s.caratozzolo2 a campus.unimib.it> wrote:
>
> grazie Alessandro!
> come pensavo è un passaggio obbligatorio per ragioni
> "storiche", in questo caso per ragioni di architettura x86
> vecchia di anni!
> cmq mi sembra particolarmente strano che non siano
> riusciti a modificare questo "jump" inutile all' MBR!
> cmq grazie della spiegazione!!
>
>
> On Fri, 12 Oct 2007 02:06:33 +0200
>   Alessandro Sappia <a.sappia a ngi.it> wrote:
> > Processo di BOOT:
> > 1) POST : Verifica funzionale di base (CPU/ram/scheda
> >video/tastiera)
> > 2) init del bus pci e delle periferiche di base
> > 3) tentativo di boot dal primo device specificato in
> >configurazione:
> >    - se floppy: lettura del primo settore del disco e
> >sua esecuzione
> >    - se HD : lettura del primo settore del disco(MBR) e
> >sua esecuzione
> >    - se CDROM : emulazione FLOPPY (vedi floppy pensando
> >all'immagine
> > dell'emulazione
> >      come un vero floppy) se no emulazione dovrei andare
> >a vedere
> >    - se USB: lettura del primo settore della chiave/HD
> >USB
> >
> > in ogni caso:
> > lo standard dei PC x86 specifica che il bios carica il
> >bootloader
> > (GRUB/LILO/Bootloader di
> > Windows/vattelapesca') dal primo settore dell'HD (che si
> >chiama Master
> > Boot Record)
> >
> > come noti per ogni device funziona tutto in modo
> >analogo: se non ti
> > piace questo metodo di boot
> > devi abbandonare x86 e passare a altre piattaforme
> >(forse nei bios che
> > supportano EFI il boot
> > funziona in modo diverso, ma so solo di MacBook che lo
> >supportano)
> >
> > compito del Bootloader e caricare il kernel nella
> >locazione di memoria
> > corretta e avviarlo.
> >
> > finchè alla fine rispetta questo standard può fare anche
> >il caffè in più!
> >
> > alex
> >
> >
> > Salvatore Caratozzolo ha scritto:
> >> si ma io continuo a non capire perchè si debba fare per
> >> forza il passaggio stage 1! che importanza ha? è una
> >>cosa
> >> rimasta dagli anni 60?! e che i bios moderni considerano
> >> ancora?
> >>
> >>
> >> On Thu, 11 Oct 2007 21:17:04 +0200
> >>   FabioNET <avafabio a libero.it> wrote:
> >>
> >>> Logicamente si tutto passa da li.
> >>>
> >>> by FabioNET
> >>>
> >>> Il 11/10/07, Salvatore
> >>> Caratozzolo<s.caratozzolo2 a campus.unimib.it> ha scritto:
> >>>
> >>>>> Ma volendo lo puoi anche installare nel primo settore
> >>>>>
> >>>> di
> >>>>
> >>>>> boot della
> >>>>> partizione pittosto che metterla nel primo settore del
> >>>>> mbr IMHO.
> >>>>>
> >>>> ma io ho letto che:
> >>>> 1-il bios legge lo stage 1 dall mbr
> >>>> 2-stage 1 legge lo stage 1.5 situato appena dopo l'mbr
> >>>> 3-stage 1.5 carica lo stage 2
> >>>>
> >>>> quindi passa per forza per lo stage 1!
> >>>> fonte:
> >>>> http://www.pixelbeat.org/docs/disk/
> >>>> _______________________________________________
> >>>> tc mailing list - http://itlists.org/notcpa
> >>>> tc a no1984.org
> >>>> http://lists.no1984.org/mailman/listinfo/tc
> >>>>
> >>>>
> >>> _______________________________________________
> >>> tc mailing list - http://itlists.org/notcpa
> >>> tc a no1984.org
> >>> http://lists.no1984.org/mailman/listinfo/tc
> >>>
> >>
> >> _______________________________________________
> >> tc mailing list - http://itlists.org/notcpa
> >> tc a no1984.org
> >> http://lists.no1984.org/mailman/listinfo/tc
> >>
> >>
> >
> > _______________________________________________
> > tc mailing list - http://itlists.org/notcpa
> > tc a no1984.org
> > http://lists.no1984.org/mailman/listinfo/tc
>
> _______________________________________________
> tc mailing list - http://itlists.org/notcpa
> tc a no1984.org
> http://lists.no1984.org/mailman/listinfo/tc
>


-- 
Davide


Maggiori informazioni sulla lista tc