View previous topic :: View next topic |
Author |
Message |
mrfabiolo Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 02 Jan 2011 Posts: 98
|
Posted: Mon Sep 16, 2013 9:11 am Post subject: [RISOLTO] Lilo: dual boot tra ubuntu and gentoo |
|
|
E' possibile fare un dual boot con lilo con due distribuzioni di Linux diverse nello stesso computer?
So farlo con Windows è molto facile.
basta scrivere (in /etc/lilo.conf):
Code: | other=/dev/sda6
label=windows |
Però per quanto riguarda linux forse bisogna mettergli il nome del kernel e l'initrd.
Per gentoo scrivo così:
Code: | image=/boot/kernel-genkernel-x86_64-3.10.7-gentoo
label=gentoo
read-only
append="real_root=/dev/sdb3"
initrd=/boot/initramfs-genkernel-x86_64-3.10.7-gentoo |
ma come potrei fare per avviare un linux che si trova in un'altra partizione? (non so, forse non è nemmeno possibile con lilo)[/code]
Last edited by mrfabiolo on Mon Sep 16, 2013 8:41 pm; edited 1 time in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
RMariotti n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/192410830252389baf6c970.png)
Joined: 16 Sep 2013 Posts: 10 Location: Terminus
|
Posted: Mon Sep 16, 2013 3:13 pm Post subject: |
|
|
E' possibile fare un dual-boot tra SO che si trovano in diverse partizioni con lilo, non è invece possibile se la partizione risiede su un altro disco (se non ricordo male) e a meno che nel tuo caso lilo non risieda su /dev/sdb non riuscirà a fare il boot.
Nel caso lilo sia su sdb ricordati di aggiornarlo con
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
tano70 Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
![](images/avatars/203355837752249468df5be.png)
Joined: 26 Aug 2013 Posts: 126 Location: Torino
|
Posted: Mon Sep 16, 2013 6:03 pm Post subject: |
|
|
e' assolutamente possibile farlo, ci sono riuscito io nel mio portatile, avendo un trial boot, winzozz, slackware e Gentoo, il tutto gestito da Lilo di slackware. Ci ho smaronnato sopra pure io perche' non riuscivo in nessun modo a fare riconoscere Gentoo al lilo di slack, ma alla fine ci sono riuscito, e mi godo il sistema. Piu tardi aggiorno questo post e ti posto la mia configurazione, in modo che cerchi di fare lo stesso., intanto il mio fstab di Gentoo:
Code: | # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda7 / ext4 defaults,noatime 0 0
/dev/sda8 /home ext4 defaults 0 2
/dev/sda9 swap swap sw 0 1
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
/dev/fd0 /mnt/floppy auto noauto 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
|
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
RMariotti n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/192410830252389baf6c970.png)
Joined: 16 Sep 2013 Posts: 10 Location: Terminus
|
Posted: Mon Sep 16, 2013 6:37 pm Post subject: |
|
|
tano70 wrote: | e' assolutamente possibile farlo, ci sono riuscito io nel mio portatile, avendo un trial boot, winzozz, slackware e Gentoo, il tutto gestito da Lilo di slackware. Ci ho smaronnato sopra pure io perche' non riuscivo in nessun modo a fare riconoscere Gentoo al lilo di slack, ma alla fine ci sono riuscito, e mi godo il sistema. Piu tardi aggiorno questo post e ti posto la mia configurazione, in modo che cerchi di fare lo stesso., intanto il mio fstab di Gentoo:
Code: | # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda7 / ext4 defaults,noatime 0 0
/dev/sda8 /home ext4 defaults 0 2
/dev/sda9 swap swap sw 0 1
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
/dev/fd0 /mnt/floppy auto noauto 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
|
|
Si è possibile fare il boot di multipli OS da lilo ma da ciò che ricordo si devono avere tutte le partizioni in un solo disco. Quando avevo Slackware su sda e Arch su sdb non riuscii a fare il boot da lilo e quindi ricorsi a grub (e credo che la situazione di mrfabiolo sia analoga dato che:
Quote: | image=/boot/kernel-genkernel-x86_64-3.10.7-gentoo
label=gentoo
read-only
append="real_root=/dev/sdb3"
initrd=/boot/initramfs-genkernel-x86_64-3.10.7-gentoo | gentoo risiende in sdb o magari mi sbaglio perchè sdb è il suo hdd principale ma mi pare improbabile) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
tano70 Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
![](images/avatars/203355837752249468df5be.png)
Joined: 26 Aug 2013 Posts: 126 Location: Torino
|
Posted: Mon Sep 16, 2013 6:48 pm Post subject: |
|
|
si confermo tutti devono risiedere in partizioni dello stesso hard disk, almeno nel mio caso e' cosi |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mrfabiolo Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 02 Jan 2011 Posts: 98
|
Posted: Mon Sep 16, 2013 8:43 pm Post subject: |
|
|
Ho risolto, grazie a tutti.
Riesco a far partire un altro linux anche situato in un altro harddisk. ho installato lilo su sda. Mi parte però anche un altro gentoo (che avevo installato) su sdb3. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Fri Sep 20, 2013 1:01 pm Post subject: |
|
|
Solo il kernel (e l'immagine se non è integrata) sulla stessa unità, non le installazioni, quelle le puoi sbattere dove ti pare.
Anche se funziona può fare i capricci se lo si configura su unità diverse ergo caveat emptor, usare boot sepatata unica.
Volendo su dischi separati si potrebbe pensare di concatenare più lilo. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Tue Jan 07, 2014 10:40 pm Post subject: |
|
|
Ciao a tutti! mi accodo qua perchè ho un problema analogo!
Sul mio pc ho tre sistemi in triple boot, slackware gentoo e windows. Gentoo l'ho installato su /dev/sda4 dalla slack (che è su /dev/sda5) e sembra essere andato tutto a buon fine solo che:
se utilizzo liloconfig da slack slack e windows funzionano, e anche gentoo, ma solo apparentemente perchè se do un uname -a mi dice che sta utilizzando il kernel di slackware. E infatti c'è qualcosa che non va perchè non ho nessun modulo caricato (lsmod è vuoto)
Se invece faccio il chroot su gentoo da slackware ed edito il file lilo.conf e lo salvo sull'mbr durante il caricamento il pc mi si pianta. Stessa cosa se installo grub da gentoo....ma tu come hai fatto, tano70? dato che leggo che abbiamo entrambi la stessa ocnfigurazione... |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Wed Jan 08, 2014 9:18 pm Post subject: |
|
|
hei come mai nessun commento? devo essere più preciso nella descrizione del problema? ma se qualcuno ci è già passato sa bene di quel che parlo...con slack ho fatto doppi e tripli boot con praticamente qualsiasi disto, è questa che ora mi crea problemi...non capisco se c'è qualche errore nella compilazione del kernel, se proprio il tool di lilo non riesce a caricare il kernel di slackware e per quale motivo, oppure se va obbligatoriamente fatto a mano, senza usare liloconfig (che per altro su slackware non c'è), e io sbaglio a configurare il lilo.conf.. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Thu Jan 09, 2014 12:05 pm Post subject: |
|
|
vedi che ci eri già arrivato da solo? A manina che è l'unica cosa che funziona sempre.
Controlla la conf di lilo e vedrai che liloconfig ha combinato qualche pasticcio. Aiuto sull'uso di una funzione specifica di un'altra distribuzione qui non ne puoi chiedere, non è un problema di volontà ma dovresti trovare qualcuno che usa slack come te.
E gli up prima di un paio di giorni non si fanno di norma.
O puoi pensare di passare a grub con la /boot unica separata, che resta il modo più semplice di gestire il multiboot. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Thu Jan 09, 2014 1:50 pm Post subject: |
|
|
ok scusa per l'up, ma non so ancora bene come funziona su questo foro...
Per quanto riguarda i metodi di boot, ho provato tutte e sedici le combinazioni`, cioe` con i tool di grub e lilo da gentoo e da slack, e a manina sul files di configurazione di grub e lilo da gentoo e slack, il tutto con e senza initramfs ma nn va mai. Non mi e` molto bene chiaro l'uso dell'opzione "real_root" di grub ma a parte quello non capisco perche` non debba funzionare con lilo. A mano l'ho configurato bene, o comunque per slackware funziona, il comando lilo mi dice che ha aggiunto i due sistemi operativi e non mi riporta nessun errore e` solo che gentoo si pianta in fase di caricamento dei moduli, sui pci, mi sembra.
La cosa migliore mi sembra la partizione di /boot separata, ma come faccio?
una volta che l'ho creata devo copiarci con un cp i kernel e gli eventuali initramfs e modificare i files fstab di gentoo e slack, quindi configurare il lilo.conf e installarlo? Basta questo?
EDIT:
ho fatto come ho detto. Ho creato una partizione separata (sda8) per il boot (di circa 500 MB). Ho rinominato le directories /boot di gentoo e slackware in /boot_bak e ne ho create due nuove /boot su cui monto /dev/sda8 e nella quale ho copiato il contenuto delle directories /boot_bak di gentoo e slacky. Il file fstab è questo
Code: | /dev/sda8 /boot ext4 defaults,noatime 1 2
/dev/sda6 swap swap defaults 0 0
/dev/sda5 / ext4 defaults 1 1
/dev/sda7 /home ext4 defaults 1 2
/dev/sda2 /fat-c ntfs-3g umask=000 1 0
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
|
il contenuto di /boot ora è il seguente Code: | total 37590
lrwxrwxrwx 1 root root 37 Jan 9 23:14 README.initrd -> /usr/doc/mkinitrd-1.4.7/README.initrd
lrwxrwxrwx 1 root root 30 Jan 9 23:14 System.map -> System.map-huge-smp-3.2.29-smp
-rw-r--r-- 1 root root 1515031 Jan 9 23:14 System.map-generic-3.2.29
-rw-r--r-- 1 root root 1570076 Jan 9 23:14 System.map-generic-smp-3.2.29-smp
-rw-r--r-- 1 root root 1757940 Jan 9 23:14 System.map-genkernel-x86-3.10.17-gentoo
-rw-r--r-- 1 root root 2483429 Jan 9 23:14 System.map-huge-3.2.29
-rw-r--r-- 1 root root 2542480 Jan 9 23:14 System.map-huge-smp-3.2.29-smp
drwxr-xr-x 3 root root 1024 Jan 9 23:18 boot-bak
-rw-r--r-- 1 root root 512 Jan 9 23:14 boot.0800
drwxr-xr-x 2 root root 1024 Jan 9 23:18 boot_bak
-rw-r--r-- 1 root root 209 Jan 9 23:14 boot_message.txt
lrwxrwxrwx 1 root root 26 Jan 9 23:14 config -> config-huge-smp-3.2.29-smp
-rw-r--r-- 1 root root 125794 Jan 9 23:14 config-generic-3.2.29
-rw-r--r-- 1 root root 126494 Jan 9 23:14 config-generic-smp-3.2.29-smp
-rw-r--r-- 1 root root 125768 Jan 9 23:14 config-huge-3.2.29
-rw-r--r-- 1 root root 126468 Jan 9 23:14 config-huge-smp-3.2.29-smp
drwxr-xr-x 6 root root 1024 Jan 9 23:14 grub
-rw-r--r-- 1 root root 3662380 Jan 9 23:14 initramfs-genkernel-x86-3.10.17-gentoo
-rw-r--r-- 1 root root 22578 Jan 9 23:14 inside.bmp
-rw-r--r-- 1 root root 3237888 Jan 9 23:14 kernel-3.10.17-gentoo
-rw-r--r-- 1 root root 3228384 Jan 9 23:14 kernel-genkernel-x86-3.10.17-gentoo
-rw------- 1 root root 154112 Jan 8 23:29 map
-rw-r--r-- 1 root root 6878 Jan 9 23:14 onlyblue.bmp
-rw-r--r-- 1 root root 14174 Feb 15 2010 slack.bmp
-rw-r--r-- 1 root root 33192 Jan 9 23:14 tuxlogo.bmp
lrwxrwxrwx 1 root root 27 Jan 9 23:14 vmlinuz -> vmlinuz-huge-smp-3.2.29-smp
-rw-r--r-- 1 root root 2851632 Jan 9 23:14 vmlinuz-generic-3.2.29
-rw-r--r-- 1 root root 3030752 Jan 9 23:14 vmlinuz-generic-smp-3.2.29-smp
-rw-r--r-- 1 root root 5803216 Jan 9 23:14 vmlinuz-huge-3.2.29
-rw-r--r-- 1 root root 6059920 Jan 9 23:14 vmlinuz-huge-smp-3.2.29-smp
|
Da slacky il liloconfig continua a funzionare, non mi dà errori e mi fa partire entrambe le disto, tutte e due però con lo stesso kernel, e mentre su slack viene regolarmente caricato tutto su gentoo non mi carica nemmeno un modulo, e, l'lsmod, come già detto prima, è vuoto. Se provo con grub da gentoo il tool mi configura il ile.conf correttamente e non mi da errore, al riavvio però il sistema non parte.
Configurando il lilo.conf o il grub.conf a mano slackware parte, gentoo no.
Insomma, anche in questo modo, con /boot su partizione separata, è solo gentoo a darmi dei problemi...ma di che cosa ha bisogno sta benedetta gentoo per caricarmi un kernel in maniera corretta? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Fri Jan 10, 2014 10:35 am Post subject: |
|
|
Per prima cosa la boot separata la si usa come prima partizione primaria (siamo proprio alle basi), meglio se ext2 e montata sempre ro; per seconda cosa ti ho detto già che liloconfig è una cosa specifica della slackware; per terza cosa leggi qui; quarto ricorda che il supporto ai dischi deve essere builtin.
Per semplificarmi la vita userei qualcosa del genere /etc/genkernel.conf - modifiche da fare wrote: | LVM="no"
LUKS="no"
GPG="no"
DMRAID="no"
BUSYBOX="yes"
MDADM="no"
MULTIPATH="no"
ISCSI="no"
E2FSPROGS="yes"
FIRMWARE="yes"
FIRMWARE_DIR="/lib/firmware"
DISKLABEL="yes"
KEYMAP="it"
INTEGRATED_INITRAMFS="1"
COMPRESS_INITRD="yes"
COMPRESS_INITRD_TYPE="xz"
REAL_ROOT="LABEL=qualcosa" | installando xz e configurando (via genkernel --menuconfig all) il supporto alla compressione giusta (da notare che il percorso per l'initramfs non va impostato, lo fa genkernel per i fatti suoi) ed ovviamente un bel CONFIG_CMDLINE="rootfstype=ext4" che non guasta.
Cosa diavolo possa combinare liloconfig non lo so e non mi interessa. Se vuoi aiuto su liloconfig cercalo sul forum slackware. Qui puoi solo parlare di quello che c'è in /etc/lilo.conf
perjliv wrote: | Da slacky il liloconfig | chissenefrega perjliv wrote: | tutte e due però con lo stesso kernel | ovvio che non funzioni perjliv wrote: | su gentoo non mi carica nemmeno un modulo | grazie al [censura], i moduli sono0 in /lim/modules della pqartizione root di slackware perjliv wrote: | da gentoo il tool | eh? quale tool? non ce ne sono, su gento si procede manualmente perjliv wrote: | di che cosa ha bisogno sta benedetta gentoo per caricarmi un kernel in maniera corretta? | della corretta linea di comando del kernel e che carichi il suo di kernel. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Fri Jan 10, 2014 11:42 am Post subject: |
|
|
Quote: | eh? quale tool? non ce ne sono, su gento si procede manualmente | grub2-mkconfig
Quote: | della corretta linea di comando del kernel e che carichi il suo di kernel. |
lo stavo quasi sospettando.
Quote: | ovvio che non funzioni | esatto, è quello che ho scritto
Quote: | Per prima cosa la boot separata la si usa come prima partizione primaria (siamo proprio alle basi), meglio se ext2 e montata sempre ro | vero, speravo di poterlo evitare dato che ho già due partizioni primarie obbligatoriamente occupate da windows, una per forza di cose è quella estesa, e quindi di primaria me ne resta solo una che allora adibirò a /boot, anche se avrei voluto avere la root di gentoo su primaria.
Quote: | quarto ricorda che il supporto ai dischi deve essere builtin | cioè scusa ma sono un alle basi, questo significa che devo compilare il kernel con il supporto ai dischi e non caricarli dopo come moduli, giusto? ma non è un impostazione di default quella? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Tue Jan 14, 2014 5:24 pm Post subject: |
|
|
Il default di genkernel è una impostazione tutta modulare da impegare con l'initrd. Se vuoi avviare il kernel senza immagine (inclusa o meno) devi impostare i moduli giusti come builtin.
Solo i bootloader ed i sistemi operativi scassi richiedono che la root sia su primaria da tempo immemorabile.
La boot all'inizio del disco la si mette sempre per causa dei bootloader datati o dei sistemi oprativi scassoni come windozz che hanno ancora certa limitazioni.
In realtà potresti anche usare il kernel della slack il problema è che non torva i moduli perchè sono sulla partizione della slack e non su quella dello gentoo che viene montata come root.
Puoi postare i file di conf? è li il problema. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Wed Jan 15, 2014 8:23 pm Post subject: |
|
|
djinnZ wrote: | Il default di genkernel è una impostazione tutta modulare da impegare con l'initrd. Se vuoi avviare il kernel senza immagine (inclusa o meno) devi impostare i moduli giusti come builtin.
Solo i bootloader ed i sistemi operativi scassi richiedono che la root sia su primaria da tempo immemorabile.
La boot all'inizio del disco la si mette sempre per causa dei bootloader datati o dei sistemi oprativi scassoni come windozz che hanno ancora certa limitazioni.
In realtà potresti anche usare il kernel della slack il problema è che non torva i moduli perchè sono sulla partizione della slack e non su quella dello gentoo che viene montata come root.
Puoi postare i file di conf? è li il problema. |
il fatto è che sto cercando di far partire il kernel con il preemption mode (per il real time) e quindi non uso genkernel, ma configuro e compilo da me...
gli dò un e configuro i moduli che mi interessano, seguendo il manuale, poi, una volta terminate le modifiche le salvo, ovviamente, prima di compilare, e mi chiede se voglio chiamare il file .config.
E' il nome corretto?
poi dò un Code: | make && make modules_install | ed in effetti devo dire che la compilazione mi sembra un po' rapidina...
eppure la prima volta che ho compilato i tempi erano consistenti con quanto impiega a compilarmelo anche sull'altra disto, comunque anche anche la prima volta che ho compilato qui su gentoo poi non mi caricava tutti i supporti e si piantava circa a metà.
Io ho sempre pensato che fosse un problema di opzioni da passare al lilo.conf o al grub.conf (io preferirei lilo), ma a questo punto forse è proprio un problema di configurazione del kernel, ad ogni modo ti riporto i files.conf di lilo e grub.
Per chiarezza ti metto anche lo schema delle partizioni
Code: | root@darkstar:/mnt/gentoo/boot/grub>fdisk -l
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x69ab9b56
Device Boot Start End Blocks Id System
/dev/sda1 2048 20508671 10253312 27 Hidden NTFS WinRE
/dev/sda2 * 20508672 98549759 39020544 7 HPFS/NTFS/exFAT
/dev/sda3 99078144 234440703 67681280 5 Extended
/dev/sda4 98549760 99078143 264192 83 Linux
/dev/sda5 120565760 142882815 11158528 83 Linux
/dev/sda6 232282112 234440703 1079296 82 Linux swap
/dev/sda7 142884864 232280063 44697600 83 Linux
/dev/sda8 99080192 120563711 10741760 83 Linux
Partition table entries are not in disk order
|
qui il grub.conf Code: | root@darkstar:/mnt/gentoo/boot/grub>cat grub.conf
# Quale opzione viene avviata in modo predefinito. 0 è la prima, 1 la seconda, ecc.
default 0
# Quanti secondi attenedere prima di avviare l'opzione predefinita.
timeout 30
# Un'immagine gradevole da commentare se non si dispone di scheda grafica
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux
# La partizione dove si trova l'immagine del kernel (o il sistema operativo)
root (hd0,3)
kernel /boot/kernel-3.10.25-gentoo ro root=/dev/sda8
#title Gentoo Linux 3.3.8 (rescue)
# Partizione dove si trova l'immagine del kernel o il sistema operativo
#root (hd0,0)
#kernel /boot/kernel-3.3.8-gentoo root=/dev/sda3 init=/bin/bb
# Le prossime tre righe vanno messe solo se si ha un dualboot con Windows.
# In questo caso, Windows è in /dev/sda6.
title Windows
rootnoverify (hd0,1)
makeactive
chainloader +1
|
qui il lilo.conf Code: | root@darkstar:/mnt/gentoo>cat etc/lilo.conf
boot=/dev/sda # Installa LILO nel MBR
prompt # Dà possibilità di selezionare un'altra sezione
delay=50 # Aspetta 5 secondi prima di avviare la scelta predefinita
default=gentoo # Passato il timeout, avvia la sezione "gentoo"
image=/boot/kernel-3.10.25-gentoo
label=gentoo # Il nome dato alla sezione
read-only # Avvio con root di sola lettura. Non modificare!
root=/dev/sda8 # Posizione del filesystem root
root@darkstar:/mnt/gentoo>
|
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Thu Jan 16, 2014 12:18 pm Post subject: |
|
|
perjliv wrote: | il fatto è che sto cercando di far partire il kernel con il preemption mode (per il real time) e quindi non uso genkernel, ma configuro e compilo da me... | e questo cosa ci azzecca?
Premesso che mostri di non possedere nozioni basilari sulla configurazione del kernel (ed il partizionamento... e l'uso dei bootloader...) e ti avventuri nel realtime (ok i gentooisti sono masochisti per natura e complicarsi la vista è la regola ma, tra l'altro, configurare il preemption mode non è realtime) ... rivolgersi alla compilazione manuale è una fesseria a prescindere.
Allora perché scomodarsi a lanciare un comando emerge vattelappesca e configurare le use quando puoi benissimo compilare lanciando un ebuild unpack, lanciare a mano il .configure --with-qualcosa e poi lanciare ebuild compile ed install?
Continuo a non capire perché impazzire a lanciare una sfilza di comandi quando se ne può usare uno solo.
Usa genkernel, parti da un default affidabile e valido (quello del kernel non lo è).
Lo configuri (ti consiglio l'immagine integrata, è sempre utilissima) editando il file genkernel.conf che è abbastanza ben commentato ed usi l'opzione --menuconfig per mettere builtin quello che ti serve scartando i moduli inutili, partendo dall'hardware.
Procedi un passo alla volta se non sai esattamente quello che stai facendo.
Se vuoi fare a tutti i costi l'eroe del piffero che procede manualmente ti dico solo arrangiati visto che ti mancano le basi per avventurarti in qualcosa che comunque è inutile.
Per le opzioni di avvio ti ripeto che per evitare casini devi usare un solo bootloader (sarebbe preferibile grub in quanto richiede solo che adatti il file di configurazione, solo per questo) da una sola distribuzione (quindi non installare bootloader multipli). Inutile dire che liloconfig te lo devi scordare.
fdisk wrote: | Partition table entries are not in disk order | questo è certamente fonte di grandissimi guai.
Rischi che da un giorno all'altro il buon winzozz ti pialli le partizioni.
Devono essere in ordine.
Per fare le cose per bene il partizionamento dovrebbe essere quello tradizionale Code: | partizione tipo uso label
sda1 Hidden NTFS recover windows
sda2 NTFS Windows dk-win
sda3 ext2/3 boot dk-boot
sda4 extended
sda5 ext4 root slackware dk-slack
sda6 swap swap condivisa dk-swap (opzionale se condiviso, non so se slack azzera le label per le swap)
sda7 ext4 root gentoo dk-gentoo
sda8 ext4 home condivisa dk-home | nell'ordine specificato (dk perchè ho visto darkstar, nome sfigatissimo tra l'altro, per quelllo a cui rimanda altrimenti).
Facendo conto che non fai uso del suspend su linux.
Se vuoi usare il suspend allora dovrai prevedere due swap separate (una a piacere come tradizionale swap, una di dimensione almeno pari alla ram+ram_schede_grafiche per la sospensione) per ogni distribuzione linux ed i mount incrociati dovranno essere noauto,ro in fstab (eventualmente per la /boot lasci solo ro ma disabiliti il check automatico e per la home imposti sync).
Sarebbe meglio usare le label per i mount piuttosto che le partizioni.Quindi avrai degli fstab del genere /etc/fstab: | LABEL=dk-boot /boot ext2 ro,sync(,noatime se ext3) 1 1
LABEL=dk-gentoo / ext4 defaults 1 1
LABEL=dk-home /home ext4 defaults 1 2
LABEL=dk-win /fat-c ntfs-3g umask=000 1 0
LABEL=dk-slack /slack ext4 defaults 1 1 |
Se non ricordo male (ext3 mi era antipatico assai il 4 non lo voglio proprio vedere) devi avere nella linea di comando del kernel le opzioni che ti ho indicato, personalmente, visto che servono a prescindere, preferisco configurarle direttamente nel kernel (nel mio caso c'è il raid quindi ho domdadm ma è la stessa cosa per rootfstype=ext4").
Quindi (con genkernel configurato per l'immagine integrata) resta la configurazione di lilo (visto che vuoi usare lui).
Lo devi installare solo su slackware (e non su gentoo) ed a questo punto dovrai avere qualcosa del genere /etc/lilo.conf wrote: | image=/boot/kernel-genkernel-xqualcosa-3.10.25-gentoo
label=gentoo
root=/dev/ram0
read-only | ma bada che la conf del kernel dovrà avere CONFIG_CMDLINE="rootfstype=ext4" e /etc/genkernel.conf wrote: | DISKLABEL="yes"
INTEGRATED_INITRAMFS="1"
COMPRESS_INITRD="yes"
COMPRESS_INITRD_TYPE="xz"
REAL_ROOT="LABEL=dk-gentoo" | ; quel root=/dev/ram0 dovrebbe essere opzionale ma mi pare di ricordare che lilo lo richiedeva comunque, potresti aggiungerlo a CONFIG_CMDLINE.
Se eventualmente vuoi evitare di dover riavviare su slack ogni volta che modifichi il kernel di gentoo potresti pensare di lanciare un Code: | chroot --userspec=root:root /slack /sbin/lilo | avendo cura di impostare /etc/fstab: | /dev /slack/dev none rbind 0 0
/sys /slack/sys none rbind 0 0
/proc /slack/proc none rbind 0 0 | dopo aver modificato opportunamente /slack/etc/lilo.conf
chiaro? _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Fri Jan 17, 2014 10:41 pm Post subject: |
|
|
ho modificato gli fstab, windows lo uso una volta all'anno, quindi se come dici te il problema delle partizioni in ordine sparso è più che altro per winzoz per ora le lascio così, poi se riesco a far funzionare tutto metto ordine.
fstab slacky: | LABEL=boot /boot ext2 ro,sync 1 1
LABEL=root-slackware / ext4 defaults 1 1
LABEL=home /home ext4 defaults 1 2
LABEL=seven /fat-c ntfs-3g umask=000 1 0
LABEL=swap none swap defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
|
fstab gentoo: | LABEL=boot /boot ext2 ro,sync 1 1
LABEL=root-gentoo / ext4 defaults 1 1
LABEL=home /home ext4 defaults 1 2
LABEL=seven /fat-c ntfs-3g umask=000 1 0
LABEL=swap none swap defaults 0 0
|
ho inserito il CONFIG_CMDLINE nel conf del kernel
/usr/src/linux/.config di gentoo: |
...
#
# Processor type and features
#
CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_BIGSMP is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_GOLDFISH is not set
...
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="rootfstype=ext4 root=/dev/ram0"
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
...
|
questo è il genkernel
genkernel.conf: | root@darkstar:~>cat /mnt/gentoo/etc/genkernel.conf
# Configuration file for genkernel
# This file is sourced by genkernel at startup and determines which options
# we will be using to compile our kernel. The order of precidence is simple,
# with the internal settings being least important, configuration file
# settings next, and command line options being most important.
# =========Common Command Line Option Defaults=========
# Should we install to $BOOTDIR? Default is "no" because genkernel is used in
# catalyst and stage building.
#INSTALL="yes"
# Run 'make oldconfig' before compiling this kernel?
#OLDCONFIG="yes"
# Run 'make menuconfig' before compiling this kernel?
#MENUCONFIG="no"
# Run 'make clean' before compilation?
# If set to NO, implies MRPROPER WILL NOT be run
# Also, if clean is NO, it won't copy over any configuration
# file, it will use what's there.
#CLEAN="yes"
# Run 'make mrproper' before configuration/compilation?
#MRPROPER="yes"
# Override the arch detection?
#ARCH_OVERRIDE="x86"
# Mount BOOTDIR automatically if it isn't mounted?
MOUNTBOOT="yes"
# Make symlinks in BOOTDIR automatically?
SYMLINK="yes"
# Save the new configuration in /etc/kernels upon
# successfull compilation
SAVE_CONFIG="yes"
# Use Color output in Genkernel?
USECOLOR="yes"
# Clear build cache dir
#CLEAR_CACHE_DIR="yes"
# Clear all tmp files and caches after genkernel has run
#POSTCLEAR="1"
# Genkernel uses an independent configuration for MAKEOPTS, and does not source
# /etc/make.conf . You can override the default setting by uncommenting and
# tweaking the following line. Default setting is set up by
# ${GK_SHARE}/${ARCH_OVERRIDE}/config.sh . The recommended value for -j
# argument is: <number of processors>*<number of cores per processor>+1
MAKEOPTS="-j3"
# Add in LVM support from static binaries if they exist on the system, or
# compile static LVM binaries if static ones do not exist.
LVM="no"
# Add in Luks support. Needs sys-fs/cryptsetup with -dynamic installed.
LUKS="no"
# Add in GnuPG support
GPG="no"
# Add DMRAID support.
DMRAID="no"
# Include (or suppresses the inclusion of) busybox in the initrd or initramfs.
# If included, busybox is rebuilt if the cached copy is out of date.
BUSYBOX="yes"
# Includes mdadm/mdmon binaries in initramfs.
# Without sys-fs/mdadm[static] installed, this will build a static mdadm.
MDADM="no"
# Specify a custom mdadm.conf.
# By default the ramdisk will be built *without* an mdadm.conf and will auto-detect
# arrays during bootup. Usually, this should not be needed.
#MDADM_CONFIG="/etc/mdadm.conf"
# Add Multipath support.
MULTIPATH="no"
# Add iSCSI support.
ISCSI="no"
# Add e2fsprogs support.
E2FSPROGS="yes"
# Include support for unionfs
#UNIONFS="1"
# Enable copying of firmware into initramfs
FIRMWARE="yes"
# Specify directory to pull from
FIRMWARE_DIR="/lib/firmware"
# Specify specific firmware files to include. This overrides FIRMWARE_DIR
#FIRMWARE_FILES=""
# Enable disklabel support (copies blkid to initrd)
DISKLABEL="yes"
# Add new kernel to grub?
#BOOTLOADER="grub"
# Enable splashutils in early space (initrd). Default is "no".
#SPLASH="yes"
# Use this splash theme. If commented out - the "default" name theme is used.
# Also, SPLASH="yes" needs to be enabled for this one to one work.
# This supersedes the "SPLASH_THEME" option of /etc/conf.d/splash (in early space).
#SPLASH_THEME="gentoo"
# =========Keymap Settings=========
#
# Force keymap selection at boot
#DOKEYMAPAUTO="yes"
# Disables keymap selection support
KEYMAP="it"
# =========Low Level Compile Settings=========
#
# GNU Make to use for kernel. See also the --kernel-make command line option.
#KERNEL_MAKE="make"
# Compiler to use for the kernel (e.g. distcc). See also the --kernel-cc
# command line option.
#KERNEL_CC="gcc"
# Assembler to use for the kernel. See also the --kernel-as command line
# option.
#KERNEL_AS="as"
# Linker to use for the kernel. See also the --kernel-ld command line option.
#KERNEL_LD="ld"
# GNU Make to use for the utilities. See also the --utils-make command line
# option.
#UTILS_MAKE="make"
# Compiler to use for the utilities (e.g. distcc). See also the --utils-cc
# command line option.
#UTILS_CC="gcc"
# Assembler to use for the utilities. See also the --utils-as command line
# option.
#UTILS_AS="as"
# Linker to use for the utilities. See also the --utils-ld command line
# option.
#UTILS_LD="ld"
# Common prefix of cros compile commands
#UTILS_CROSS_COMPILE="x86_64-pc-linux-gnu"
# Value of CROSS_COMPILE utils variable
# during kernel compilation
#KERNEL_CROSS_COMPILE="x86_64-pc-linux-gnu"
# =========GENKERNEL LOCATION CONFIGURATION============
# Variables:
# %%ARCH%% - Final determined architecture
# %%CACHE%% - Final determined cache location
# Set genkernel's temporary work directory. Default is /var/tmp/genkernel
#TMPDIR="/var/tmp/genkernel"
# Set the boot directory, default is /boot
#BOOTDIR="/boot"
# Default share directory location
GK_SHARE="${GK_SHARE:-/usr/share/genkernel}"
# Location of the default cache
CACHE_DIR="/var/cache/genkernel"
# Location of DISTDIR, where our source tarballs are stored
DISTDIR="${CACHE_DIR}/src"
# Log output file
LOGFILE="/var/log/genkernel.log"
# Debug Level
LOGLEVEL=1
# =========COMPILED UTILS CONFIGURATION============
#
# Default location of kernel source
DEFAULT_KERNEL_SOURCE="/usr/src/linux"
# Default kernel config (only use to override using
# arch/%%ARCH%%/kernel-config-${VER}.${PAT} !)
#DEFAULT_KERNEL_CONFIG="${GK_SHARE}/arch/%%ARCH%%/kernel-config"
# Specifies a user created busybox config
#BUSYBOX_CONFIG="/path/to/file"
#BUSYBOX_APPLETS="[ ash sh mount uname echo cut cat"
# NOTE: Since genkernel 3.4.41 the version of
# busybox, lvm, mdadm, .. have been moved to
# /usr/share/genkernel/defaults/software.sh in order to
# reduce the merging you have to do during etc-update.
# You can still override these settings in here.
# =========MISC KERNEL CONFIGURATION============
#
# Tag the kernel and ramdisk with a name:
# If not defined the option defaults to
# 'genkernel'
#KNAME="genkernel"
# This option is only valid if kerncache is
# defined. If there is a valid kerncache no checks
# will be made against a kernel source tree
#KERNEL_SOURCES="0"
# Build a static (monolithic kernel)
#BUILD_STATIC="1"
# Make and install kernelz image (PowerPC)
#GENZIMAGE="1"
# File to output a .tar.bz2'd kernel contents
# of /lib/modules/ and the kernel config
# NOTE: This is created before the callbacks
# are run!
#KERNCACHE="/path/to/file"
# Prefix to kernel module destination, modules
# will be installed in <prefix>/lib/modules
# (.conf equivalent of --module-prefix=<dir>)
#INSTALL_MOD_PATH=""
# =========MISC INITRD CONFIGURATION============
#
# Copy all kernel modules to the ramdisk
#ALLRAMDISKMODULES="1"
# Don't copy any modules to the ramdisk
#RAMDISKMODULES="0"
# File to output a .tar.bz2'd kernel and ramdisk:
# No modules outside of the ramdisk will be
# included...
#MINKERNPACKAGE="/path/to/file.bz2"
# File to output a .tar.bz2'd modules after the
# callbacks have run
#MODULESPACKAGE="/path/to/file.bz2"
# Directory structure to include in the initramfs,
# only available on >=2.6 kernels
#INITRAMFS_OVERLAY=""
# Build the generated initramfs into the kernel instead of
# keeping it as a separate file
INTEGRATED_INITRAMFS="1"
# Compress generated initramfs
COMPRESS_INITRD="yes"
# Types of compression: best, xz, lzma, bzip2, gzip, lzop, fastest
# "best" selects the best available compression method
# "fastest" selects the fastest available compression method
COMPRESS_INITRD_TYPE="xz"
# Create a self-contained env in the initramfs
#NETBOOT="1"
# =========MISC BOOT CONFIGURATION============
#
# Specify a default for real_root=
REAL_ROOT="LABEL=root-gentoo"
root@darkstar:~>
| io l'oldconfig glielo lascerei in realtà, ma non sono sicuro, se vuoi dammi tu un parere
faccio chroot sulla root di gentoo e compilo con genkernel
questo è il risultato quando compilo con genkernel:
Code: | (chroot) darkstar / # genkernel --menuconfig all
* Gentoo Linux Genkernel; Version 3.4.45.1
* Running with options: --menuconfig all
* Using genkernel.conf from /etc/genkernel.conf
* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86/config.sh ..
* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86/modules_load ..
* Linux Kernel 3.10.25-gentoo for x86...
* .. with config file /etc/kernels/kernel-config-x86-3.10.25-gentoo
* kernel: --mrproper is disabled; not running 'make mrproper'.
* kernel: --oldconfig is disabled; not running 'make oldconfig'.
* kernel: --clean is disabled; not running 'make clean'.
* kernel: >> Invoking menuconfig...
*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
* >> Compiling 3.10.25-gentoo bzImage...
* >> Not installing firmware as it's included in the kernel already (CONFIG_FIRMWARE_IN_KERNEL=y)...
* >> Compiling 3.10.25-gentoo modules...
* >> Generating module dependency data...
* Copying config for successful build to /etc/kernels/kernel-config-x86-3.10.25-gentoo
* busybox: >> Using cache
* initramfs: >> Initializing...
* >> Appending base_layout cpio data...
* >> Appending auxilary cpio data...
* >> Appending busybox cpio data...
* >> Appending e2fsprogs cpio data...
* >> Appending modules cpio data...
* >> Appending blkid cpio data...
* >> Appending modprobed cpio data...
* >> Appending firmware cpio data...
* >> Compiling 3.10.25-gentoo bzImage...
* >> Not installing firmware as it's included in the kernel already (CONFIG_FIRMWARE_IN_KERNEL=y)...
*
* Kernel compiled successfully!
*
* Required Kernel Parameters:
* root=/dev/$ROOT
*
* Where $ROOT is the device node for your root partition as the
* one specified in /etc/fstab
*
* If you require Genkernel's hardware detection features; you MUST
* tell your bootloader to use the provided INITRAMFS file.
* WARNING... WARNING... WARNING...
* Additional kernel cmdline arguments that *may* be required to boot properly...
* With support for several ext* filesystems available, it may be needed to
* add "rootfstype=ext3" or "rootfstype=ext4" to the list of boot parameters.
* Do NOT report kernel bugs as genkernel bugs unless your bug
* is about the default genkernel configuration...
*
* Make sure you have the latest ~arch genkernel before reporting bugs.
(chroot) darkstar / # exit
| non capisco perchè mi dia quel warning, ossia perchè non riconosca il CONFIG_CMDLINE0 "rootfstype=ext4"
il file lilo.conf su slack è questo Code: | root@darkstar:~>cat /etc/lilo.conf
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/sda
#compact # faster, but won't work on all systems.
# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used. We don't specify it here, as there's just one column.
bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
bmp-timer = 65,27,0,255
# Standard menu.
# Or, you can comment out the bitmap menu above and
# use a boot message with the standard menu:
#message = /boot/boot_message.txt
# Append any additional kernel parameters:
append=" vt.default_utf8=0"
prompt
timeout = 50
# Normal VGA console
vga = normal
# Ask for video mode at boot (time out to normal in 30s)
#vga = ask
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0 # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda5
label = slackware
read-only # Partitions should be mounted read-only for checking
# Linux bootable partition config ends
# Linux bootable partition config begins
image=/boot/kernel
label=gentoo
root=/dev/ram0
read-only
# Linux bootable partition config ends
# Windows bootable partition config begins
other = /dev/sda2
label = seven
table = /dev/sda
# Windows bootable partition config ends
root@darkstar:~>
| il lilo -v mi da esito positivo. (non devo per forza usare lui, anche grub va bene, se con lilo deve essere un problema)
Quando avvio gentoo il risultato è sempre lo stesso di prima (quando mi compilavo il kernel con make menuconfig make && make modules_install -sti due comandi davo, non uno di più, come c'è scritto sul manuale gentoo che consiglia la compilazione a mano del kernel)
Darkstar è una delle gloriose macchine su cui Pat ha sviluppato slackware, e che ha poi deciso di mettere come hostname di default per la slack. mi sembra che non si debba aggiungere altro |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Sat Jan 18, 2014 3:21 pm Post subject: |
|
|
uffa! ricomiciamo:
Premetto che genkernel non fa altro che vedere se esiste /etc/kernels/kernel-config-xqualcosa-versione e lo copia su /usr/src/linux/.config o prende il suo predefinito da /usr/share/genkernel.
Poi il suo comportamento predefinito è lanciare i vari make, costruire l'initrd e quant'altro.
Se le operazioni vanno a buon fine copia /usr/src/linux/.config su /etc/kernels/kernel-config-xqualcosa-versione.
L'immagine creata da genkernel avvierà il sistema usando come root (in realtà come nuova root, perchè inizialmente è il ramdisk nel quale è esplosa l'immagine) quella indicata nella variabile real_root della linea di comando del kernel.
Il problema con lilo ed i boot loader più "rudimentali" rispetto a grub (che è quello che è stato tenuto come unico riferimento nella guida) è che lilo in alcune versioni non passa automaticamente il parametro root=/dev/ram0 al kernel in assenza di una impostazione valida per lo stesso, quindi devi indicarlo esplicitamente od hai un kernel panic per root non valida; ci si rimedia con le opzioni di boot.
L'altro tuo problema è che con ogni probabilità, partendo da un default non valido, avrai dimenticato qualcosa nella configurazione possibile che sia il ramdisk, od il supporto ad udev o tmpfs o non so che altro; oppure hai dimenticato parametri necessari come quelli per il filesystem di root ext3/4. In questo caso, usando l'iimagine, avrai un corretto caricamento ed avvio del kernel ma all'avvio del sistema ti riporteranno errori. Poiché l'immagine contiene un minimo supporto puoi investigare se hai impostato male qualcosa, se non ti vede il disco e perchè (ed usando label od uuid non sei più legato ad un preciso assetto dei dischi).
Quindi partire da un default verificato e valido è senz'altro più semplice.
Ultimo problema è che i kernel da qualche tempo a questa parte poco gradiscono che non sia lanciato almeno un make clean dopo aver modificato la configurazione (per questo il default di genkernel è lanciare sempre make mrproper, poi copiare la conf e lanciarci sopra un make oldconfig) e la tendenza è non tanto a riportare errori ma generare immagini non validi. Non mi chiedere perché, non lo ricordo adesso, ma una ragione c'era.
Per prima cosa pulisci /etc/kernels di modo da partire dalla configurazione predefinita. Se hai seguito il suggerimento idiota di copiare roba in /usr/share/genkernel ripristìnalo con un emerge -1 genkernel.
La configurazione che ti consiglio è questa (qualcosa non va bene) voci da modificare in /etc/genkernel.conf: | INSTALL="yes"
OLDCONFIG="yes"
MENUCONFIG="no"
CLEAN="yes"
MRPROPER="yes"
MOUNTBOOT="yes"
SAVE_CONFIG="yes"
USECOLOR="yes"
CLEAR_CACHE_DIR="yes"
POSTCLEAR="1"
MAKEOPTS="-j3"
LVM="no"
LUKS="no"
GPG="no"
DMRAID="no"
BUSYBOX="yes"
MDADM="no"
MULTIPATH="no"
ISCSI="no"
E2FSPROGS="yes"
FIRMWARE="no"
DISKLABEL="yes"
KEYMAP="it"
BOOTDIR="/boot"
INTEGRATED_INITRAMFS="1"
COMPRESS_INITRD_TYPE="xz"
REAL_ROOT="LABEL=root-gentoo" | volendo potresti impostare MENUCONFIG="yes" (non lo faccio perché uso alternativamente xconfig o, raramente, modifico direttamente il file in /etc/kernel se intervengo solo sulla linea di comando/valori di default e simili ma è una questione di preferenze personali) così ti parte direttamente la configurazione invece di usare il parametro --menuconfig; bada che CLEAN="no" implica MRPROPER="no" quindi stai sempre compilando male. Se REAL_ROOT non è vuoto lo script di init dell'immagine prende il suo valore per real_root se non è indicato nella linea di comando.
Per usare l'immagine compressa in xz devi lanciare emerge xz-utils (non è automatico) e devi abilitare il supporto con Code: | # CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
CONFIG_RD_XZ=y
# CONFIG_RD_LZO is not set | e controllare che [General setup]->[Built-in initramfs compression mode] sia impostato a "none" (ad xz se non vuoi usare l'immagine integrata); ti conviene farlo, è il modo più semplice di gestire i kernel (con questa configurazione se stacchi il disco e lo sposti su sdb o lo colleghi ad un adattatore usb dovrebbe partire lo stesso).
Perdonami se lo ho considerato implicito ma, a meno che non sia indispensabile, uso (per semplificarmi la vita, tanto basta digitare "/" in menuconfig ed inserire il nome della variabile anche senza il CONFIG inizale od anche incompleta per avere l'help) riportare il nome della variabile del kernel quindi invece di dire imposta [General setup]->[Support initial ramdisks compressed using XZ] dico imposta CONFIG_RD_XZ=y.
Ma a parte la modifica della linea di comando non sono così folle da avventurarmi in modifiche dirette alla configurazione.
Un suggerimento a proposito della gestione dei kernel: emerge gentoo sources non fa altro che piazzare in world una indicazione generica ed al prossimo Code: | emerge -aDNuv @world ; emerge --depclean | ti ritroveresti con un kernel non configurato ed i sorgenti di quello che usi piallati. Un Code: | emerge -n =sys-kernel/gentoo-sources-[versione] | è d'uopo come non valorizzare KNAME in genkernel.conf ma lanciare genkernel --kernname=default all (o quel che ti pare) per avere una copia sicuramente funzionante; quando l'aggiornamento ti installa una nuova versione lanci Code: | genkernel --menuconfig --kernel-config=/etc/kernels/[versione-precedente] all | e lo provi, verificato che va bene te ne crei una copia con l'opzione --kernname e rimuovi il vecchio kernel con emerge -C (se proprio lo ritieni necessario)¹.
A questo punto lanci genkernel --menuconfig all e ti configuri il tuo kernel a puntino. Inizierei con il mettere builtin il supporto al controller, la base scsi ed usb e le schede di rete poi pian pianino ti imposti quello che ti aggrada. Sempre da menuconfig aggiungi alla linea di comando rootfstype=ext4 ed eventualmente root=/dev/ram0 ed ro (questo per fa si che l'immagine parta senza necessità di alcun parametro, in genere lo si evita per non avere conflitti laddove si debba intervenire manualmente ma usando l'initrd è il parametro real_root a stabilire dov'è il sistema).
Con l'immagine integrata ti dovrebbe bastare lilo.conf: | image=/boot/kernel-genkernel-vattelappesca
label=gentoo
read-only | con immagine separata invece lilo.conf: | image=/boot/kernel-genkernel-vattelappesca
initrd=/boot/initramfs-genkernel-x86_64-3.10.7-gentoo
label=gentoo
read-only | eventualmente potresti giocare con lilo.conf: | image=/boot/kernel-genkernel-vattelappesca
initrd=/boot/initramfs-genkernel-vattelappesca
append="root=/dev/ram0"
label=gentoo
read-only |
Non uso lilo da qualche tempo quindi non ricordo se ha problemi con l'immagine integrata ma non dovrebbe. Il problema piuttosto è che forse il device non è /dev/ram0 potresti fare qualche prova in tal senso.
Se hai dubbi su opzioni specifiche del kernel chiedi pure. Se hai problemi con moduli che non riesci a mettere builtin sulle prime puoi provare a lanciare genkernel con -all-ramdisk-modules.
Per evitare schifezze delle compilazioni precedenti che diano fastidio ti consiglio un Code: | rm -Rf /lib/modules/* | per ripulire i vecchi moduli.
Quale profilo stai usando?
Grub con le partizioni incasinate è da mal di testa, già soffro di cefalea cronica... per questo non ho insistito.
Quanto al nome darkstar, se non ricordo male Pat lo ha scelto proprio pensando al fim, autoironicamente, dandosi dello sfigato alle prese con una macchina pazzoide. battuta malriuscita.
¹ in realtà prima lancio (supponendo che hardened-3.9.9 sia il vecchio) Code: | eselect kernel set 2
cp /etc/kernels/kernel-config-x86_64-3.9.9-hardened /usr/src/linux/.config
make listnewconfig | su un terminale e sull'altro lancio Code: | genkernel --menuconfig --kernel-config=cp /etc/kernels/kernel-config-x86_64-3.9.9-hardened all | di modo da poter vedere direttamente cosa è cambiato.
Nulla ti vieta, tra l'altro di usare parametri del make come localmodconfig e localyesconfig per vedere cosa ti serve caricare.
Se usi KMS con il supporto modulare ricorda che devi includere il firmware nell'immagine, se è builtin lo devi includere nel kernel e, per evitare stranezze, anche nell'immagine (lo so che è uno spreco di spazio ma in passato ho avuto problemi).
Per mettere builtin qualcosa che richiede dei parameti modulo aggiungi [nome_modulo].[parametro]=[valore] alla linea di comando di default.
Nel mio caso uso una linea di comando del genere kernel wrote: | CONFIG_CMDLINE="domdadm radeon.audio=0 video=HDMI-A-1:d video=DVI-I-1:d drm_kms_helper.edid_firmware=VGA-1:edid/Samsung_S19B150N.bin video=VGA-1:e rfkill.master_switch_mode=2"
CONFIG_EXTRA_FIRMWARE="edid/Samsung_S19B150N.bin radeon/R600_rlc.bin radeon/R700_rlc.bin rtl_nic/rtl8168e-2.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib64/firmware" | e genkernel.conf wrote: | FIRMWARE="yes"
FIRMWARE_FILES="/lib64/firmware/radeon/R600_rlc.bin /lib64/firmware/radeon/R700_rlc.bin /lib64/firmware/edid/1280x1024.bin /lib64/firmware/edid/Samsung_S19B150N.bin /lib64/firmware/rtl_nic/rtl8168e-2.fw" | per capirci. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Thu Jan 30, 2014 2:03 pm Post subject: |
|
|
allora, arrivo eh, con calma ma arrivo
vado con ordine: Quote: | Premetto che genkernel non fa altro che vedere se esiste /etc/kernels/kernel-config-xqualcosa-versione e lo copia su /usr/src/linux/.config o prende il suo predefinito da /usr/share/genkernel. | ma se è così che senso ha settare i vari parametri del .config del kernel come CONFIG_KERNEL_XZ=y, CONFIG_CMDLINE="rootfstype=ext4" etc PRIMA di dare genkernel --menuconfig all? se lui poi mi copia sopra /etc/kernels/kernel-config-xqualcosa-versione non vanno persi?
Quote: | Il problema con lilo ed i boot loader più "rudimentali" rispetto a grub (che è quello che è stato tenuto come unico riferimento nella guida) è che lilo in alcune versioni non passa automaticamente il parametro root=/dev/ram0 al kernel in assenza di una impostazione valida per lo stesso, quindi devi indicarlo esplicitamente od hai un kernel panic per root non valida; ci si rimedia con le opzioni di boot. | anche questo non mi è chiaro, sotto mi consigli di impostare in lilo Quote: | Con l'immagine integrata ti dovrebbe bastare
lilo.conf:
image=/boot/kernel-genkernel-vattelappesca
label=gentoo
read-only |
Quote: | L'altro tuo problema è che con ogni probabilità, partendo da un default non valido, avrai dimenticato qualcosa nella configurazione possibile che sia il ramdisk, od il supporto ad udev o tmpfs o non so che altro; oppure hai dimenticato parametri necessari come quelli per il filesystem di root ext3/4. In questo caso, usando l'iimagine, avrai un corretto caricamento ed avvio del kernel ma all'avvio del sistema ti riporteranno errori. Poiché l'immagine contiene un minimo supporto puoi investigare se hai impostato male qualcosa, se non ti vede il disco e perchè (ed usando label od uuid non sei più legato ad un preciso assetto dei dischi). | ora ho rimmediato anche a questo: ho formattato tutto, impostato le partizioni in ordine con /boot sulla primaria in ext2 ecc, esattamente come mi hai detto tu sopra.
Un dubbio su un opzione specifica del kernel è questo. In /usr/src/linux/.config vedo che tu hai messo CONFIG_INITRAMFS_SOURCE="" io invece quella variabile ce l'ho settata: CONFIG_INITRAMFS_SOURCE="/var/tmp/genkernel/initramfs-3.10.25-gentoo.cpio" la lascio così?
Quote: | controllare che [General setup]->[Built-in initramfs compression mode] sia impostato a "none" |
questo non lo trovo, però ho impostato CONFIG_INITRAMFS_COMPRESSION_NONE=y è la stessa cosa?
Quote: | Perdonami se lo ho considerato implicito ma, a meno che non sia indispensabile, uso (per semplificarmi la vita, tanto basta digitare "/" in menuconfig ed inserire il nome della variabile anche senza il CONFIG inizale od anche incompleta per avere l'help) riportare il nome della variabile del kernel quindi invece di dire imposta [General setup]->[Support initial ramdisks compressed using XZ] dico imposta CONFIG_RD_XZ=y. | figurati, anzi preferisco anch io il riferimento diretto alle variabili, almeno su questo andiamo d'accordo!
Quote: | Sempre da menuconfig aggiungi alla linea di comando rootfstype=ext4 ed eventualmente root=/dev/ram0 ed ro (questo per fa si che l'immagine parta senza necessità di alcun parametro, in genere lo si evita per non avere conflitti laddove si debba intervenire manualmente ma usando l'initrd è il parametro real_root a stabilire dov'è il sistema) | ecco questo non lo so davvero fare: posso aggiungere al .config del kernel CONFIG_CMDLINE="rootfstype=ext4" ma come faccio a passare quello al menuconfig?
Quote: | Quale profilo stai usando? | il profilo che utilizzo è il 6: default/linux/x86/13.0/desktop/kde
Adesso, prima di andare avanti: abbiamo fatto un po' di paciocco qua. Ti ho già scritto che ho riformattato l'intero HD mettendo in ordine le partizioni come mi avevi consigliato tu, per quel che mi riguarda posso anche riformatttare la /dev/sda7 (che è a root su cui ho gentoo) e rifare tutto da capo, per me non c'è problema, se vogliamo partire dall'inizio con tutto ordinato, almeno evitiamo malintesi e sovrapposizioni caotiche di argomenti, ma facciamo tutto in fila. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
perjliv n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2014 Posts: 8
|
Posted: Sun Apr 13, 2014 10:00 am Post subject: |
|
|
ho trovato il problema, era relativamente semplice, non so come abbiamo fatto a non pensarci qua....
Il fatto è che il mio sistema ha problemi con i kernel nuovi; da una certa versione in avanti (dovrebbe essere la la 3.3.x, ma lo devo ancora verificare meglio) la scheda video non viene riconosciuta dal kernel.
Si vede abbastanza immediatamente se si guardano i log, non so come non ci avevamo pensato, avevamo dato per scontato che ci fosse un errore di compilazione, che, ovviamente, era la strada sbagliata.
Ora sto cercando di trovare qual è il kernel incriminato a partire dal quale ho questa incompatibilità, e cerco di capire cosa cambia dall'ultimo kernel supportato...vedremo cosa salta fuori... |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|