PDA

View Full Version : Proposta minidistro


HexDEF6
21-08-2005, 11:14
[POST ORIGINALE]
Avrei una piccola proprosta da fare a tutti i volenterosi del forum:
che ne dite di mettere in piedi una minidistribuzione linux per usb?
Io ci sto smanettando per poter far il boot di una distribuzione dal mio zen micro...
il motivo principale e' per imparare un po di cose nuove su linux... e perche' non c'e' una distribuzione che funzioni da chiavetta usb che abbia il software aggiornato...

Se qualcuno e' interessato, inizierei a mettere giu un piccolo programma su cose da fare e da scegliere (da che tipo di partizione deve bootare, da che distribuzione la facciamo derivare, quali software installare...)

C'e' qualcuno interessato?

P.S. non e' una cosa da fare in 2 giorni... ma qualcosa da fare con calma imparando qualcosa di nuovo!
[/POST ORIGINALE]


OBBIETTIVI E CARATTERISTICHE DELLA DISTRIBUZIONE

- primo e fondamentale obbiettivo e' IMPARARE come funziona il boot di una distribuzione linux, specialmente da chiave usb
- per adesso la distribuzione non e' focalizzata ad un obbiettivo specifico, ma sicuramente nella versione "finale" saranno compresi:
-- xorg
-- mozilla-firefox
-- ssh
-- vncviewer
-- SEGNALATEMI ALTRI PACCHETTI FONDAMENTALI!
La distribuzione avra' una grandezza massima di circa 100Mb

FASE 1
- raccolta documentazione

FASE 2
- discussione sulle scelte di:
-- boot loader
-- programmi in initrd (busybox, ash, altro)
-- file system
-- programmi da includere

FASE 3
- creazione della versione 0.01alpha della distribuzione:
-- boot del kernel e di un initrd di prova

FASE 4
- inizio riscrittura /linuxrc
- mount della root

FASE 5
- aggiunta di programmi alla root


COME PARTECIPARE (sembra un concorso a premi!)

Tutti possono partecipare alla creazione della distribuzione! ogni apporto e' fondamentale, dai consigli "banali" alla revisione delle cavolate che scriveremo, passando per le correzioni al mio itagliano e alla scrittura di script.
Anche il testing sara' fondamentale, quindi se avete una chiavetta usb e un computer abbastanza recente che permette il boot da usb, potete rendervi utili!

Autocritica: Perchè non utilizzare una distro esistente?

Imparare: L'obbiettivo di questa discussione e della relativa distro che ne uscirà è principalmente quello di imparare.
IMHO, quale modo migliore di imparare se non assemblando una distro e impostare le relative configurazioni con tutti i problemi che ne potranno derivare.
Sostanzialmente un "case study" un caso pratico per studiare come è fatta una distro e di conseguenza come funziona il nostro amato Linux. ;)



CHI SIAMO (nomi in ordine di comaparsa, se ho dimenticato qualcuno o fatto qualche errore segnalatemelo)

*Ho inserito tutti così che a priori nessuno si senta escluso.

NICK RUOLO
HexDEF6 fondatore
digieffe partecipazione a sequenza di avvio e redazione MiniOverView.
Andmart tester.
WebWolf ?
PiloZ consigliere???
NiLUS ?
Fil9998 ?
bort_83 ?
edivad82 patrocinatore (speriamo) :sperem:
Herod2k osservatore (per il momento)
Magix2003 tester
t_yorke tester

Ruoli scoperti

neo571 pubblicazione MiniOverView.
- ?: killer (colui che ammazza i problemi irrisolvibili in un tempo tendente a zero :D; sarà interpellato solo dopo che gli altri avranno ripetutamente tentato con insuccesso)


[DOCUMENTAZIONE]

distribuzioni che bootano anche da usb (per raccogliere informazioni):
http://featherlinux.berlios.de/
http://www.damnsmalllinux.org/
http://www.geexbox.org/

boot loader:
http://syslinux.zytor.com/
http://www.gnu.org/software/grub/
http://gentoo-wiki.com/HOWTO_Small_Footprint_Gentoo_on_USB

initrd:
http://www.linux-boot.net/InitRD/Howto/
http://www.lissot.net/partition/ramdisk.html
http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Bootdisk-HOWTO.html#BUILDROOT
http://a2.pluto.it/a273.htm
http://forums.gentoo.org/viewtopic-t-333824-highlight-grub+usb+boot.html

altri link:
http://people.debian.org/~jgoerzen/dfs/html/
http://people.debian.org/~jgoerzen/dfs/html/dfs.man.dfsbuild.html
http://dirk.eddelbuettel.com/quantian/howto_usbboot.html
http://rz-obrian.rz.uni-karlsruhe.de/knoppix-usb/

digieffe
21-08-2005, 12:12
Avrei una piccola proprosta da fare a tutti i volenterosi del forum:
che ne dite di mettere in piedi una minidistribuzione linux per usb?
Io ci sto smanettando per poter far il boot di una distribuzione dal mio zen micro...
il motivo principale e' per imparare un po di cose nuove su linux... e perche' non c'e' una distribuzione che funzioni da chiavetta usb che abbia il software aggiornato...

Se qualcuno e' interessato, inizierei a mettere giu un piccolo programma su cose da fare e da scegliere (da che tipo di partizione deve bootare, da che distribuzione la facciamo derivare, quali software installare...)

C'e' qualcuno interessato?

P.S. non e' una cosa da fare in 2 giorni... ma qualcosa da fare con calma imparando qualcosa di nuovo!Presente.

Anche se ho un obbiettivo leggermente diverso dal tuo, fare una mininstallazione con i software indispensabili, nella sostanza i riultati potrebbero essere simili a ciò che stai proponendo.
Proprio in questi giorni stavo pensando "potrebbe andare su una chiavetta usb".
Ho gia iniziato con una distro sono riuscito, per quelle che sono le mie necessità, ad utilizzare "solo" 400mb con IceWm.
Attendo fiducioso.

Andmart
21-08-2005, 13:45
La cosa mi stuzzica parecchio... seguirò da vicino questa cosa non potendo contribuire attivamente (le miei nozioni di C si limitano a qualche ciclo for ed a qualche programmino per calcolare aree di di funzioni et simila).... In ogni caso sono disponibile per evetuali test....

Piccolo OT:
Posso proporvi -visto che vedo ve ne intendete- di cercare di migliorare il supporto frequence scaling della cpu per i portatili? Trovate la questione in questo 3d:
http://www.hwupgrade.it/forum/showthread.php?t=997206

Vi RINGRAZIO!!!!!!!!!!!

WebWolf
21-08-2005, 15:18
... da che distribuzione la facciamo derivare ...

Debian ? :)

Dai, vediamo cosa nasce, potrebbe essere un buon progetto.

digieffe
21-08-2005, 15:55
[cut]
Ho gia iniziato con una distro sono riuscito, per quelle che sono le mie necessità, ad utilizzare "solo" 400mb con IceWm.
Attendo fiducioso.
Ho omesso la distro perchè volevo si valutassero i criteri per la scelta: Creare un piccolissimo elenco di candidati valutare pro e contro e poi scegliere
Io candido Debian e motivo così la sua candidatura:
- Nel panorama delle mie conoscenze (Slackware, Debian, Fedora, Suse e Mandriva), IMHO, ha il giusto equilibrio tra ricchezza della distro, possibilità di installazione minimale, sistema di gestione pacchetti, leggerezza e semplicità si smanettamento.

- ricchezza della distro: si può segliere tra molti pacchetti concorrenti.
- possibilità di installazione minimale: già di default si possono fare installazioni ad hoc senza faticare tanto (certo Slack da quest punto è migliore, na è necessario valutare tutti i parametri)
- leggerezza: tra le distro elencate con installazione di default è seconda solo a Slackware, ma mettendoci mani stanno lì.
- sistema di gestione dei pacchetti: in questi giorni ho provato a far andare in errore la gestione dei pacchetti mischiando ripetutamente ed in modo incosciente Stable, testing, e Unstable risultato: nessun problema.
- semplicità si smanettamento: A differenza di Slack che ritengo l'unico vero concorrente non c'è da impazzire.

EDIT: mi sembra ovvio che, per il momento, partiamo da precompilati o avete dubbi?

a voi la parola

Bettyi
21-08-2005, 16:15
La cosa mi stuzzica parecchio... seguirò da vicino questa cosa non potendo contribuire attivamente (le miei nozioni di C si limitano a qualche ciclo for ed a qualche programmino per calcolare aree di di funzioni et simila).... In ogni caso sono disponibile per evetuali test....


beh i test sono sempre comodi! comunque non serve che tu sappia programmare in c... basta sapere "programmare" in bash... e comuque volevo partire a costruire su qualcosa di gia fatto tipo knoppix/damnsmalllinux/featherlinux/geexbox

la mia idea era qulla di fare una distro in pochi megabyte, ma con software aggiornato, e magari che sia facile da mantenere (tipo uno script che riaggiorna il tutto e poi rifa' l'iso)...

Come distro di partenza sono indeciso tra gentoo (che conosco abbastanza bene) e debian, anche se a dire la verita' non e' cosi' importante...

Tanto per iniziare a mettere giu due idee per come dovrebbe bootare:
- mettiamo tutto su ext3 (e quindi bisogna che uno si formatti la chiavetta)
- mettiamo tutto su fat16 e bootiamo con isolinux (ma ci sono limitazioni)
- supporto unionfs? (a dire la verita' per ora sono ignorante su questo.. e su una chiavetta, visto che ci si puo' scrivere, si potrebbe anche evitare)

io direi (qualunque metodo usiamo) di usare un initrd con busybox.. e poi vedere cosa si puo' fare....

Altre idee base?

EDIT: sono HexDEF6... ero loggato con l'account della mia ragazza!

PiloZ
21-08-2005, 20:42
consiglio di prender spunto dal sw base usato da RUNT Package List (http://www.ncsu.edu/project/runt/package_list40)

ovviamente cambiando pkgtools con apt ;)

Ciao.

HexDEF6
21-08-2005, 20:56
consiglio di prender spunto dal sw base usato da RUNT Package List (http://www.ncsu.edu/project/runt/package_list40)

ovviamente cambiando pkgtools con apt ;)

Ciao.

quello che volevo io ero piuttosto un:
firefox sylpheed fluxbox vncviewer ssh (e quindi x-org ecc.)
ma direi che la costruzione della distribuzione e' l'ultimo dei problemi (e ognuno puo' personalizzarla come vuole...) il difficile sta nel fare un initrd che trovi le partizioni (per scrivere fstab), detecti hardware (magari per la scheda sonora.. cosi aggiungiamo anche xine o mplayer con supporto per i dvd!)
comunque non vorrei superare i 50 Mb.... comunque si puo' discuterne con calma...

digieffe
21-08-2005, 21:09
Allora facendo la conta siamo in quattro?

[cut] e comuque volevo partire a costruire su qualcosa di gia fatto tipo knoppix/damnsmalllinux/featherlinux/geexbox Perfettamente d'accordo sul costruire su qualcosa di gia fatto.
la mia idea era qulla di fare una distro in pochi megabyte, ma con software aggiornato, e magari che sia facile da mantenere (tipo uno script che riaggiorna il tutto e poi rifa' l'iso)...Non ho intuito bene se ti spiegi più dettagliatamente.
A questo proposito io pensavo di ritagliare una distro esistente (senza violare diritti altrui) forse è più facile per iniziare.
Come distro di partenza sono indeciso tra gentoo (che conosco abbastanza bene) e debian, anche se a dire la verita' non e' cosi' importante...Conosco pochissimo Gentoo ma, vista la tua conoscenza, enunciane pro e contro e valutiamo la cosa.
Tanto per iniziare a mettere giu due idee per come dovrebbe bootare:
- mettiamo tutto su ext3 (e quindi bisogna che uno si formatti la chiavetta)
- mettiamo tutto su fat16 e bootiamo con isolinux (ma ci sono limitazioni)
- supporto unionfs? (a dire la verita' per ora sono ignorante su questo.. e su una chiavetta, visto che ci si puo' scrivere, si potrebbe anche evitare)Non consosco affatto unionfs, ma sembrerebbe un fs a sola lettura.
Su fat16 come siamo messi a sicurezza?
IMHO ext3: standard, journaled, strumenti di ogni tipo anche se non escluderei una opzione Fat, che sia però opzionale.

passo la parola

digieffe
21-08-2005, 21:15
[cut]
comunque non vorrei superare i 50 Mb.... comunque si puo' discuterne con calma...
sei sicuro che sia possibile restare sotto i 50 mb?
Sarà necessario tagliare tantissimo=molta fatica

che cosa ne pensate di uno "Step Wise Refinement" ossia costruiamo la distro anche un pò cicciottella rispetto agli obbiettivi e la affiniamo gradualmente?

Ps: nel frattempo inizia a funzionare e si può testare

ciao

Andmart
21-08-2005, 21:34
Non me ne capisco moltissimo di queste cose... Quindi se dico qualche castroneria abbiate pietà.... :rolleyes: Ma non si potrebbe prendere la knoppix e cercarla di alleggerirla il più possibile? In questo modo per initrd, riconoscimento periferiche dovrebbero esserci meno problemi.... Certo, quella dei 50mb mi sembra una sfida molto ardita.... Forse si potrebbe rinunciare a qualche periferica inutile (audio)... l'utilizzo di questo tool sarebbe principalmente il ripristino del sistema... Inoltre, se fosse in ext3, non ci sarebbero problemi per il boot ? :confused: Non lo so... l'ho sparata!

PiloZ
21-08-2005, 21:37
imho in 50 mega ci può stare ma perde tutta la flessibilità :fagiano:
ovvio che la maleabilità del SW rimane ;)

HexDEF6
21-08-2005, 21:51
Allora facendo la conta siamo in quattro?

magari si aggiunge qualcun'altro!


Non ho intuito bene se ti spiegi più dettagliatamente.

volevo solo dire che mi piacerebbe avere qualcosa sempre in evoluzione, che il dover riaggiornare i pacchetti per una nuova "iso" non sia un'impresa titanica!
Quindi se usiamo debian eviterei la stable, ma andrei su una testing/sid per capirci!.

A questo proposito io pensavo di ritagliare una distro esistente (senza violare diritti altrui) forse è più facile per iniziare.
Conosco pochissimo Gentoo ma, vista la tua conoscenza, enunciane pro e contro e valutiamo la cosa.

Anch'io propenderei per iniziare con qualcosa "alla cavolo" e poi tagliare tutte le parti che sono poco utili...
La cosa comoda di gentoo e' che e' facile da mantenere in un chroot, sempre aggiornatissima, e con un paio di script riuscirei a mettere insieme una base con i pacchetti necessari e tenere il tutto aggiornato diventerebbe molto semplice... (molto probabilmente si puo' fare anche con debian... ma credo sia questione solo di familiarita')

Non consosco affatto unionfs, ma sembrerebbe un fs a sola lettura.
Su fat16 come siamo messi a sicurezza?
IMHO ext3: standard, journaled, strumenti di ogni tipo anche se non escluderei una opzione Fat, che sia però opzionale.
passo la parola

la faccenda funziona all'incirca cosi' (tipo con feather linux.. che e' molto usata per usb) se non ricordo male:
sulla chiavetta deve esserci installato un boot loader (supponiamo che la chiavetta sia /dev/sda) la chiavetta e' formattata fat16, con isolinux (che e' un tipo di boot loader che fa partire un kernel da una partizione fat16) si fa partire il kernel e si riesce a caricare una root in ram (l'initrd) di solito al posto di /sbin/init viene lanciato qualche script per detectare hardware, generare un fstab, generare file di configurazioni vari (per alsa o xorg o altro) alla fine di tutto viene montato in loop un file compresso che comprende tutto il file system normale, e questa diventa la nuova root, quindi parte /sbin/init ecc.

Questa maniera e' molto comoda per poter installare linux su una chiavetta perche' non devi riformattarla, e quindi puoi usare lo spazio vuoto per trasportare dati normalmente... pero' ha la sfiga che non puoi scrivere sul file system compresso (anche se la chiavetta permette la scrittura)

Altra soluzione e' quella di farsi una partizione (ext3 o quello che si vuole) apposita per linux sulla chiavetta, installare un MBR e grub e bootare come se fosse un HD normale (ovviamente devi generarti al volo fstab e gli altri file di configurazione... sempre grazie all'initrd). In questo caso hai un file system in R/W ma:
- per un utonto e' praticamente impossibile da installare!
- windows non sa cosa sia reiser/ext3 ecc. e quindi non riesci a dare un'occhiata alla partizione

Comunque in entrambi i casi la parte difficile e' farsi un initrd decente che riesca a mettere a posto un bel po di cose... ma per questo direi che possiamo dare un occhio a quello che combina knoppix/feather/ecc. e magari tirare via le parti inutili per noi e aggiungere quello che ci serve...

Ciao!

digieffe
21-08-2005, 23:30
aggiungo un'altra ipotesi che non so se possa funzionare:
esiste la possibilità di creare un file su Fat da far funzionare come partizione ext3 non compressa e poterci scrivere dentro?

Andmart
22-08-2005, 00:10
Aveve visto qui:??
http://www.livecdlist.com/wiki/index.php/Damn_Small_Linux

Damn Small is small enough and smart enough to do the following things:

* Boot from a business card CD as a live linux distribution (LiveCD)
* Boot from a USB pen drive
* Boot from within a host operating system (that's right, it can run *inside* Windows)
* Run very nicely from an IDE Compact Flash drive via a method we call "frugal install"
* Transform into a Debian OS with a traditional hard drive install
* Run light enough to power a 486DX with 16MB of Ram
* Run fully in RAM with as little as 128MB (you will be amazed at how fast your computer can be!)
* Modularly grow -- DSL is highly extendable without the need to customize
* add many pre-packaged programs 'on the fly' via click-only MYDSL downloads.
* Load the distro to ram only (with the DLS toram boot option), pop out the boot cd,
and play cd's on the cdrom drive you booted with.
* Union FS - you can use synaptic!

http://www.damnsmalllinux.org/dsl-1.4.jpg

Linux non vinirà mai di stupirmi, mi ci devo arrendere... In 50mb!

NiLUS
22-08-2005, 00:31
Esatto!

La DSL (Damn Small Linux) rispecchia quasi totalmente quello che state cercando di fare! Chiaro è che se volete creare voi una vostra distro liberissimi di farlo, anzi, ben venga. Però la DSL è già pronta x essere messa su chiave USB. Deriva dalla Knoppix. Quindi ha anche apt-get. E' carina, soprattutto se destinata ad una chiave USB o ad un vecchio PC.

NiLUS
22-08-2005, 00:38
Tornando in Topic, comunque, io la DSL la uso a volte. Preferirei magari qualcosa di più "completo"... magari con una XFCE che non è tanto più pesante della FluxBox ma è già una WM un po' più completa. Sulla XFCE io preferisco Nautilus per la semplicità d'uso piuttosto che quello di default della XFCE il cui nome ora non ricordo.
Partendo dalla Knoppix comunque si avrebbero grossi vantaggi. Con la 3.9 io mi sono stupito nel vedere che mi rilevava da sola la scheda Wi-Fi del notebook! :eek:
Io quindi opterei per una distro molto flessibile nelle varie configurazioni hardware. Quindi Knoppix è già un buon punto di partenza. Poi Firefox (magari con Flashget e Aria o un altro download manager), evolution e/o thunderbird, gFTP, gaim, xvncviewer, abiword, gphoto, vlc, xine, k3b e ora non mi viene in mente altro. Buona cosa sarebbe anche "automatizzare" il mounting delle periferiche USB e degli HDD, come Ubuntu e Knoppix.

digieffe
22-08-2005, 01:55
Me la sono appena studiata, veramente fatta bene........
Pro: E' una SKEGGIA......... (si vede una sostanziale differenza rispetto la mia debian con gnome un pò allegerita), è piccolissima ........ ha solo 27 processi in esecuzione
Contro: non c'è il kernel 2.6, le applicazioni in genere sono molto datate

se fosse semplicemente con software aggiornati sarebbe meravigliosa ;)

HexDEF6
22-08-2005, 06:46
Me la sono appena studiata, veramente fatta bene........
Pro: E' una SKEGGIA......... (si vede una sostanziale differenza rispetto la mia debian con gnome un pò allegerita), è piccolissima ........ ha solo 27 processi in esecuzione
Contro: non c'è il kernel 2.6, le applicazioni in genere sono molto datate

se fosse semplicemente con software aggiornati sarebbe meravigliosa ;)

DSL la uso dalle versioni 0.7.0, l'avevo integrata pure in una versione di ultimatebootcd (insieme ad una geexbox e al netinstall della debian)
in effetti quello che volevo fare era piu' o meno una dsl aggiornata... e comunque il mio obbiettivo principale NON e' creare una nuova distribuzione, ma CAPIRE come funziona!
Ciao

Andmart
22-08-2005, 08:34
ma CAPIRE come funziona!

Si fa interessante la cosa! :D :D

NiLUS
22-08-2005, 10:30
Allora questo dovete leggerlo : http://www.linuxfromscratch.org/

Fil9998
22-08-2005, 11:01
PURTROPPO NON SAPREI AIUTARVI... però direi che non sarebbe male usare FAT e ... andare oltre i 50 MB ... lo standard delle chiavette è ormai 512 ... anche arrivando a 128 non sarebbe poi così "enorme".
l'unico problema sarebbe nel caso lo si voglia caricare tutto iln ram su PC con meno di 128 di RAM ... però ormai quasi tutti ci arrivano.
Sulle macchine molto vecchie va bene la DSL anche se, come dite anche voi, ha applicativi un po' datati.

Andmart
22-08-2005, 11:07
E cosa ne direste di creare una distro live con abilitato il modulo per la scrittura su ntfs?
In questo modo sarebbe utile per riparazioni sotto Findus....

bort_83
22-08-2005, 11:52
come pensate di risolvere il problema del boot ? la grande maggioranza dei bios nn fa boot sui dispositivi usb tipo chiavette .. al max da cd usb...

IMHO, questo è il grooosso cruccio

HexDEF6
22-08-2005, 12:02
come pensate di risolvere il problema del boot ? la grande maggioranza dei bios nn fa boot sui dispositivi usb tipo chiavette .. al max da cd usb...

IMHO, questo è il grooosso cruccio

beh se fa boot da cd usb, fa boot anche da hd usb... e direi che quasi tutti i computer prodotti negli ultimi 2 anni supportano il boot da usb... mal che vada possiamo fare un dischetto/cd con boot loader, kernel, initrd.. e poi si va avanti su chiavetta!

Ciao

digieffe
22-08-2005, 13:03
[cut]
in effetti quello che volevo fare era piu' o meno una dsl aggiornata... e comunque il mio obbiettivo principale NON e' creare una nuova distribuzione, ma CAPIRE come funziona!
Ciao

E' esattamente ciò che mi propongo anche io.

EDIT: NiLUS il tuo avatar "za za" mi piace veramente tanto :D

digieffe
22-08-2005, 18:27
PURTROPPO NON SAPREI AIUTARVI... però direi che non sarebbe male usare FAT e ... andare oltre i 50 MB ... lo standard delle chiavette è ormai 512 ... anche arrivando a 128 non sarebbe poi così "enorme".
l'unico problema sarebbe nel caso lo si voglia caricare tutto iln ram su PC con meno di 128 di RAM ... però ormai quasi tutti ci arrivano.
Sulle macchine molto vecchie va bene la DSL anche se, come dite anche voi, ha applicativi un po' datati.Vista SmallDamn credo che si debba andare ben oltre i 50MB, sarebbe necessario restare entro i 128 meno lo spazio utente direi un 16 mb.
Sono riuscito a far girare Debian+fluxbox "bene" in 32Mb di ram senza SWAP ;) , il problema sono le applicazioni :doh:

E cosa ne direste di creare una distro live con abilitato il modulo per la scrittura su ntfs?
In questo modo sarebbe utile per riparazioni sotto Findus....Per la live,no ho le idee chiare, il mio istinto mi dice di no, devo rifletterci su.
Per la scrittura su ntfs è da prendere in considerazione, semai con un escamotage (es:un piccolo eseguibile windows che prealloca un file di tot mb nel quale linux andra a crearci un file system, disattivando gli aggiornamenti degli accessi, ecc in modo da limitare gli accessi alle strutture del filesystem alla sola lettura e la scrittura solo al corpo del file)

ciao :)

edivad82
22-08-2005, 18:58
la cosa mi piace :D e se ce la fate, apro una sottosezione per parlarne, ma ci deve essere qualche base in più ;)

edivad82
22-08-2005, 19:07
http://people.debian.org/~jgoerzen/dfs/html/

magari può essere utile

più che altro questo

http://people.debian.org/~jgoerzen/dfs/html/dfs.man.dfsbuild.html

digieffe
22-08-2005, 19:59
http://people.debian.org/~jgoerzen/dfs/html/

magari può essere utile

più che altro questo

http://people.debian.org/~jgoerzen/dfs/html/dfs.man.dfsbuild.html
mi sono appena letto tutta la documentazione è eccccezzzzziunaale veramente :D
peccato che non c'è neanche un cenno al file di configurazione per farlo funzionare - mi scarico i sorgenti e cerco di capire o qualcuno mi da una mano a trovare anche solo un file di config di esempio?? :D :D

ciao :)

EDIT: Trovato file di esempio era una riga piccolissima che è sfuggita alla mia vista.....
ve faccio sapè. cià.

HexDEF6
22-08-2005, 22:24
direi che si puo' iniziare a dare un'occhiata a come lavorano damnsmall/feather/geexbox e magari pure una knoppix...
la prima cosa da fare (olter a far partire il kernel!) e' quella di far capire dove abbiamo la vera root (quindi geexbox puo' essere solo in parte di aiuto visto che usa l'initrd come "vera" root)

Domani pomeriggio dovrei avere un attimo di tempo e quindi posto i primi risultati!

Ciao

digieffe
22-08-2005, 22:39
Io mi sono dato una occhiata all'intera sequenza di avvio di debian..........
Ho iniziato ad utilizzare dfsbuild ma mi sono inceppato su un errore "shell-init: could not get current directory: getcwd: cannot access parent directories: No such files or directory"

Due domande:
- questi problemi vano postati in questo thread?
- cosa voglia significare l'errore è chiaro, non è affato chiaro perchè lo dia, qualche indicazione? dove indagare?

ciao

EDIT: fino a giovedì dovrei avere pressochè tempo pieno per questa cosa ;) ..... se possibile datemi una mano a non restar fermo. ciao.


RI-EDIT: di male in peggio, prima mi dava dei messaggi e dopo l'errore, ora rieseguendo la procedura l'unico messaggio è: Fatal error: exception Unix.Unix_error(20, "getcwd", "")

avrò percaso il filesystem rovinato? qualche indicazione su cosa indagare.

Ps: mi è sembrato un paio di volte durante "solo" un cambio di directory questa prima risultasse vuota e dopo piena :confused:

HexDEF6
22-08-2005, 22:52
io direi che dare un'occhiata all'avvio di una debian normale non sia "tanto utile"...
magari prova a dare un'occhiata agli script che trovi nell'initrd compresso della damnsmall (ho visto che non usa busybox, ma una ash compilata staticamente)...
ricordati che di solito dopo che syslinux ha bootato il kernel e caricato l'initrd, viene lanciato lo script /linuxrc se dai un occhio a quello capisci un sacco di cose!

Ciao!

digieffe
22-08-2005, 23:41
io direi che dare un'occhiata all'avvio di una debian normale non sia "tanto utile"...
magari prova a dare un'occhiata agli script che trovi nell'initrd compresso della damnsmall (ho visto che non usa busybox, ma una ash compilata staticamente)...
ricordati che di solito dopo che syslinux ha bootato il kernel e caricato l'initrd, viene lanciato lo script /linuxrc se dai un occhio a quello capisci un sacco di cose!

Ciao!Io l'occhiata la sto dando...... ma allora dobbiamo fare una live? :)
e dopo che l'ho vista devo riportare qualcosa per la minicomunità (4) :D :D :D :D :D :D ?
ciao

digieffe
23-08-2005, 00:53
"Mini report" del "mini studio" su /linuxrc all'interno di minirt24.gz (Damn Small)
Sostanzialmente lo script gestisce le opzioni di boot e prepara l'ambiente per l'esecuzione di init: (esposizione sommaria)
- Imposta variabili per limiti massimi e moduli da caricare (hard coded)
- Intercetta eventuali segnali di interruzione o pericolosi non dando corso a nulla
- Prova a montare i file system che sono nel kernel statico
- crea /proc e /sys
- analizza e gestisce i parametri di boot (visualizzabili con i tasti f2,f3)
- carica i moduli di accesso al cdrom
- gestisce il caricamento di moduli da altro supporto
- prova a caricare una serie di moduli predefiniti Scsi, Usb, firewire,...
- verifica se ci sono dei dispositivi hotplug (Usb...)
- abilita il dma su ide
** Sinstetizzo il resto:
- verifica se vi è una già una installazione su hd (non sono sicuro)
- decide da dove deve fare il boot
- copia tutti i file per iniziare il boot (credo in ram o nel dispositivo deciso)
- crea dei link simbolici alle cartelle di sistema /bin -> /....../bin
- regola tmpfs.........
- cambia la root scrivendo direttamente in /proc/sys/kernel/....
- si accerta che tutto è ok
- esce lasciando il controllo ad init

dal punto ** sono può mancare qualche passaggio ma non leggo più il monitor. Domani riedito e correggo.

Qualcuno si chiederà ma allora perchè l'ha postato? risposta così nel frattempo vi potete fare una vaga idea. Non so domani quando riprendo.

Ciao :)

HexDEF6
23-08-2005, 08:58
ho dato un'occhiata al /linuxrc della feather linux versione usb... direi che e' piu' semplice da leggere rispetto a quello della damn small linux.. comunque fa piu' o meno le stesse cose...
io credevo che per trovare dove sta l'immagine compressa bisognasse usare qualche tecnica sopraffina... qui monta tutto quello che trova e vede se esiste il file /KNOPPIX/KNOPPIX !!!! Del resto la soluzione piu' semplice/stupida e' sempre quella che funziona meglio!

HexDEF6
23-08-2005, 17:25
Ho guardato un po di documentazione di syslinux... e ci sono un paio di punti che non mi piacciono:
SYSLINUX can boot from a FAT12 or FAT16 filesystem partition on a hard disk (FAT32, introduced in Windows 95 OSR-2, is not supported, however.)

SYSLINUX will not work (and will refuse to install) on filesystems with a cluster size of more than 16K (typically means a filesystem of more than 1 GB.)

quindi per chiavette piu' grandi di un Gb bisogna ripartizionare ;(

Cosa dite?

digieffe
25-08-2005, 00:12
.
INVITO perlomeno a discutere Cosa si vuol realizzare e quali Caratteristiche debba avere.......... :)

Anche chi non potesse/volesse partecipare alla realizzazione, testing,... può dare il suo apporto contribuendo alla definizione dell'idea, ed è il ben venuto....... ;)
(aHo' :D , piano, piano con le richieste, iniziamo con le cose di base poi aggiungiamo....)


1 - Come prima cosa è necessario definire cosa si vuol realizzare:
L'idea che mi son fatto è di realizzare qualcosa di minimale, leggero, aggiornato ed aggiornabile con la OPZIONE di realizzare il tutto live.

Autocritica: Perchè non utilizzare una distro esistente?
Imparare: L'obbiettivo di questa discussione e della relativa distro che ne uscirà è principalmente quello di imparare.
IMHO, quale modo migliore di imparare se non assemblando una distro e impostare le relative configurazioni con tutti i problemi che ne potranno derivare.
Sostanzialmente un "case study" un caso pratico per studiare come è fatta una distro e di conseguenza come funziona il nostro amato Linux. ;)

Problema: Non tutti coloro che vorranno partecipare saranno in grado di comprendere tutto.
Mi accollo l'onere di scrivere dei mini OverView, relativamente al lavoro che stiamo facendo, per comprenderne almeno i principi generali e quando necessario anche qualche dettaglio, senza però andare a riscrivere Howto o Libri di 5000 pagine già esistenti. ;)
La scrittura dei Mini overview è soggetta a due condizioni:
- Che dopo averne fatto la bozza qualche volenteroso si occupi della correzione (non tecnica, se ci fosse qualche revisore tecnico sarebbe meglio) e relativa impaginazione
- Che sia nei limiti delle mie conoscenze.

Attendo le vostre idee a proposito di questo punto.



2 - Caratteristiche:
- in una prima fase verificare se è possibile restare nei 112mb di occupazione spazio disco/chiavetta in modo da lasciare a chi ha quelle da 128mb, 16 mb x i dati.
- ram (senza utilizzo di swap) con il sistema caricato fino alla console (runLevel2) cercare di restare in ?? mb di ram (questo comporta un taglio del kernel e initrd
- per ridurre l'utilizzo della ram inserire le opzioni di utilizzo dei demoni non indispensabili
...........



3 - Selezione dei componenti e/o pacchetti (sostanzialmente tenderei a mettere pacchetti non stabili così che quando funzionerà sarà all'avanguardia)
*Distro di base:
Debian?
Previsto l'utilizzo di software gia compilato? (si)
Necessaria ricompilazione del kernel? (Si, dovuta alla redistribuzione dei moduli)

*Avvio
- Loader: GRUB 1/2, Isolinux, ???
- Kernel: 2.6.x (propongo 2.6.13 appena presente in Sid)
------ Moduli statici presenti nel kernel
------ ...........
- Initrd: si
------ Moduli presenti in initrd
------ .......
- Moduli presenti sul supporto di massa
------ .......

*Selezione Demoni indispensabili
- cron
- ........

*Selezione Demoni accesori
- smb ???

*Configurazione RunLevelS
- Demoni RcS: .......
- Demoni Rc0: .......
- Demoni Rc1: .......
- Demoni Rc2: .......
- Demoni Rc3: .......
- Demoni Rc4: .......
- Demoni Rc5: .......
- Demoni Rc6: .......

*Selezione sistema grafico
- Server grafico: Xorg???
- Dm: .........
- Wm: fluxbox?, fxce, icewm?, ...?



4 - Metodi di lavoro:
- apporto e discussione in modo casuale (non creiamo caos, forse è meglio dire non strettamente ordinato) delle idee (digieffe).
- creazione di una base grezza e successiva rifinitura passo-passo (digieffe)
- automatizzare con degli script che permettano la rigenerazione in automatico della distro (HexDEF6)
- Step1: Definizione della sequenza di componenti di boot e relativa sequenza (punti *Distro di base e *Avvio)



5 - Chi siamo e ruoli (nomi in ordine di comaparsa, se ho dimenticato qualcuno o fatto qualche errore segnalatemelo)
*Ho inserito tutti così che a priori nessuno si senta escluso.
- Fondatore: HexDEF6
- HexDef6: ruolo???.
- digieffe: partecipazione a sequenza di avvio e redazione MiniOverView.
- Andmart: tester.
- WebWolf: ?
- PiloZ: consigliere???
- NiLUS: ?
- Fil9998 ?
- bort_83 ?
- edivad82: patrocinatore (speriamo) :sperem:
- Herod2k: osservatore (per il momento)
- Magix2003: tester.
- t_yorke: tester.
- Posizioni aperte per persone anche solo interessate (così ci contiamo)

Ruoli scoperti
- neo571: pubblicazione MiniOverView.
- ?: killer (colui che ammazza i problemi irrisolvibili in un tempo tendente a zero :D; sarà interpellato solo dopo che gli altri avranno ripetutamente tentato con insuccesso)



6 - Change log
--------



7 - In corso
- Raccolta idee su cosa, come ........ (tutti)
- Preparazione MiniOverView sequenza di boot (digieffe)
- Ricerca boot loader (oltre Grub che possa facilitare le operazioni da chiavetta usb)- HexDEF6



ciao :)


EDIT: Periodicamente raccolgliero le voste proposte ed aggiornerò i punti. Le proposte potranno essere inserite non obbligatoriamente in ordine.

Questo post può dare l'idea di come si può sviluppare il progetto .......... Sotto con i suggerimenti - relativi al cosa, come e allo step 1 di lavoro ;)

Ad una rapida rilettura mi sono accorto che forse il post non è molto ordinato...... popoliamolo un pò così che ci siano elementi per una buona riorganizzazione


.

digieffe
25-08-2005, 00:20
:help: :help: :help: Ho un problema con dfsbuild che "non è affar mio" non sò neanche da dove iniziare......... dopo averlo utilizzato mi fa impazzire la console..... :cry:

perchè qualcuno non prova ad utilizzarlo una sola volta e mi fa sapere se è filato tutto liscio? :ave:

Ho già riportato precedentemente una parte dell'errore http://www.hwupgrade.it/forum/showpost.php?p=9226032&postcount=32 ma penso che potrebbe essere un problema comune :cry:

ringrazio anticipatamente :)

Herod2k
25-08-2005, 00:53
Il progetto è veramente interesante, adesso in questo periodo non ho tempo da dedicarvi, comincio con il leggere quello che scrivete come mi libero un po vi do una mano... :)

digieffe
25-08-2005, 01:05
Il progetto è veramente interesante, adesso in questo periodo non ho tempo da dedicarvi, comincio con il leggere quello che scrivete come mi libero un po vi do una mano... :)
Benvenuto e grazie per l'interessamento :D
mi raccomando nel frattempo controllaci ;)

ciao :)

HexDEF6
25-08-2005, 07:07
Complimenti per il lavoro!
Adesso pero' dobbiamo decidere come implementare la cosa... domanda fondamentale:
syslinux o grub/lilo
il che vuol dire:
utilizzare fat (e relative limitazioni) o
una ext3/reiser con relativa complicazione (quella di riformattare la chiavetta) per chi vuole installarla?



Ciao!

magix2003
25-08-2005, 07:31
Mi intrometto in questo bel progetto per dirvi secondo me qual'e' la cosa piu' importante. Scegliere quale sara' il ruolo di questa mini-distro, cioe' per cosa sara' utilizzata: internet, risoluzione di problemi riguardanti un installazione gia' esistente, risoluzione problemi di rete... Questo potrebbe restringere di molto il campo iniziale d'azione.
Comunque io sto gia' lavorando ad un altro progetto per cui non ho molto tempo, ma se vi serve un tester, sarei ben felice di aiutarvi, a patto che non mi ditruggiate il portatile....
Ciao

HexDEF6
25-08-2005, 08:18
Mi intrometto in questo bel progetto per dirvi secondo me qual'e' la cosa piu' importante. Scegliere quale sara' il ruolo di questa mini-distro, cioe' per cosa sara' utilizzata:



a patto che non mi ditruggiate il portatile....
Ciao

e se fosse proprio questo il ruolo della nostra mini-distro... ci faresti ancora da beta-tester? :D :D :D :D :D

Comunque per ora direi che l'importante e' farla bootare... poi a cosa possa servire ci pensiamo dopo!
Per me (nel senso che mi farebbe comodo) metterei come pacchetti fondamentali:
xorg
ssh (che userei per amministrare i pc.. quindi comprenderei anche tutte le mie chiavi private e i miei scriptini per rendermi il lavoro piu' facile)
firefox
sylpheed
vncviewer

Ciao

magix2003
25-08-2005, 08:26
e se fosse proprio questo il ruolo della nostra mini-distro... ci faresti ancora da beta-tester? :D :D :D :D :D

Bhe in questo caso dovrei cercare un altro computer, al mio ci tengo....
Ditemi come vi posso essere utile e vi aiutero' nel limite delle mia capacita' si intende.
Bye

deviltigre
25-08-2005, 08:58
se sapessi programmare ci sarei ankio.. :muro:

HexDEF6
25-08-2005, 09:20
se sapessi programmare ci sarei ankio.. :muro:


non serve saper programmare!
Almeno non e' mia intenzione scrivere nessuna riga di C o altro...
al massimo si rimaneggiano degli script in bash...
alla fin dei conti come detto e stra-detto, quello che stiamo facendo non e' creare una nuova distribuzione, ma capire come funziona...
Se hai voglia di capire (e dare una mano agli altri a capire) sei il piu' che benvenuto!

magix2003
25-08-2005, 09:36
Io ho trovato un buon howto che forse puo' esserci utile, non so se lo avete gia' letto.
http://dirk.eddelbuettel.com/quantian/howto_usbboot.html
Bye

deviltigre
25-08-2005, 10:09
è come creare 1 distro modulare alla morphix dici?
l'idea è interessante... :cool:

Herod2k
25-08-2005, 10:34
Complimenti per il lavoro!
Adesso pero' dobbiamo decidere come implementare la cosa... domanda fondamentale:
syslinux o grub/lilo
il che vuol dire:
utilizzare fat (e relative limitazioni) o
una ext3/reiser con relativa complicazione (quella di riformattare la chiavetta) per chi vuole installarla?



Io useri la fat, far formattre la chiavetta alla gente è sempre una rottura, poi molte chiavette sono costruite in modo strano che non permettono l'operazione, io rimmarei in Fat

xorg
ssh (che userei per amministrare i pc.. quindi comprenderei anche tutte le mie chiavi private e i miei scriptini per rendermi il lavoro piu' facile)
firefox
sylpheed
vncviewer

sono d'accordo su tutto...ma cosa mettiamo come WM?
Proposte:
Windowmaker: http://www.windowmaker.org/
XFCE: http://www.xfce.org/
FluxBox: http://www.fluxbox.org/
Icewm: http://sourceforge.net/projects/icewm/
FVMW: http://www.fvwm.org/screenshots/desktops/
enlightenment: http://enlightenment.org/

Ce ne sono tanti io ne ho scelti solo alcuni, ho fatto una cernita tra quelli più belli (anche l'occhio vuole la sua parte) e funzionali.

Se qualcuno è interessato c'è questo sito: http://xwinman.org/

Tornando al discorso principale io metterei o FluxBox o enlightenment se vogliamo proprio farla minimale minimale mettiamoci Windowmaker...Cosa ne pensate??

Io non ho capito una cosa...la facciamo "ex novo" o la basiamo su un'altra distro?? Se la basiamo su una distro io voto Debian :D :D :D

x HexDEF6
Perché non modifichi il primo post di questa discussione inserendoci una lista di softwares che andrà nella distro?? Mettici anche i punti cardine su cui sarà basato il progetto...
Filesystem, Supporto, etc etc... Così chi è interessato torva tutte le informazioni i n prima pagina...come se fossse un clan.

HexDEF6
25-08-2005, 10:44
Io useri la fat, far formattre la chiavetta alla gente è sempre una rottura, poi molte chiavette sono costruite in modo strano che non permettono l'operazione, io rimmarei in Fat


anch'io sono di questa idea... ma vediamo cosa dicono gli altri!


sono d'accordo su tutto...ma cosa mettiamo come WM?
Proposte:
Windowmaker: http://www.windowmaker.org/
XFCE: http://www.xfce.org/
FluxBox: http://www.fluxbox.org/
Icewm: http://sourceforge.net/projects/icewm/
FVMW: http://www.fvwm.org/screenshots/desktops/
enlightenment: http://enlightenment.org/

Ce ne sono tanti io ne ho scelti solo alcuni, ho fatto una cernita tra quelli più belli (anche l'occhio vuole la sua parte) e funzionali.

Se qualcuno è interessato c'è questo sito: http://xwinman.org/

Tornando al discorso principale io metterei o FluxBox o enlightenment se vogliamo proprio farla minimale minimale mettiamoci Windowmaker...Cosa ne pensate??


fluxbox!!


Io non ho capito una cosa...la facciamo "ex novo" o la basiamo su un'altra distro?? Se la basiamo su una distro io voto Debian :D :D :D


per me puo' andare o debian o gentoo (adesso sto smanettando con gentoo e vedo cosa riesco a combinare...)


x HexDEF6
Perché non modifichi il primo post di questa discussione inserendoci una lista di softwares che andrà nella distro?? Mettici anche i punti cardine su cui sarà basato il progetto...
Filesystem, Supporto, etc etc... Così chi è interessato torva tutte le informazioni i n prima pagina...come se fossse un clan.

direi che prima ci serve qualcosa di piu' concreto... fino a quando non decidiamo veramente qualcosa...

magix2003
25-08-2005, 10:47
Tornando al discorso principale io metterei o FluxBox o enlightenment se vogliamo proprio farla minimale minimale mettiamoci Windowmaker...Cosa ne pensate??

Io opterei su FluxBox, iola trovo piu' funzionale ed anche un po' piu' bella rispetto a FluxBox, ovvio poi va a gusti.
PROPOSTA: Perche' per le scelte fondamentali non apriamo un sondaggio? Ovviamente questa opportunita' dovrebbe essere riservata solo al creatore di questa discussione...

Io non ho capito una cosa...la facciamo "ex novo" o la basiamo su un'altra distro?? Se la basiamo su una distro io voto Debian :D :D :D

:mano: Debian

x HexDEF6
Perché non modifichi il primo post di questa discussione inserendoci una lista di softwares che andrà nella distro?? Mettici anche i punti cardine su cui sarà basato il progetto...
Filesystem, Supporto, etc etc... Così chi è interessato torva tutte le informazioni i n prima pagina...come se fossse un clan.

Si quest'idea mi sembra ottima e poi si potrebbe spostare anche l'organizzazione del gruppo in prima, cosi' sara' tutto piu' chiaro!!!
Se si tratta di Bash Scripting, allora, vi potrei aiutare anche per qualche spezzone di codice...
Ciao a tutti

digieffe
25-08-2005, 10:50
Complimenti per il lavoro!
Adesso pero' dobbiamo decidere come implementare la cosa... domanda fondamentale:
syslinux o grub/lilo
il che vuol dire:
utilizzare fat (e relative limitazioni) o
una ext3/reiser con relativa complicazione (quella di riformattare la chiavetta) per chi vuole installarla?



Ciao!
Sicuramente escluderei Lilo, a quanto ne so carica da un offset fisso e non riconosce i filesystems, e sicuramente non escluderei grub che mi sembrerebbe genericamente essere il più "evoluto".

Comunque dato che ci dovrà essere la possibilità di funzionare da chiavetta USB (come da caratteristiche) sarebbe meglio indagare un pò: farei una piccola ricerca sui vari boot loader esistenti verificandone le possibilità.

Chiunque sia a conoscenza di qualche boot loader oltre Lilo, Grub e isolunux/syslinux mandi un post, con il nome e se ne ha delle considerazioni, così che lo si possa analizzare.

Ps: ho visto in /boot/grub un file chiamato fat_stage1_5; che grub riconosca la fat ed in quale modo? indagherò.

Ciao :)

Herod2k
25-08-2005, 10:58
direi che prima ci serve qualcosa di piu' concreto... fino a quando non decidiamo veramente qualcosa...

Io inizierei a scrivere qualche cosa, poi magari la cambiamo in corso d'opera, se no va finire che certe decisioni o idee si perdono nei meandri della discussione, scriviamo una bozza e poi la modifichiamo se no ci ritroviamo a pagina 10 e siamo ancora decidere cosa fare e come muoverci...

secondo me per mandare avanti un progetto simile ci vuole un moderatore/organizzatore della discussione (non me ne voglia ilsensine :D :D :D ) e visto che la discussione l'hai aperta tu...

Per fare una distro ci vuole organizzazione e lavoro di squadra e qualcuno che organizzi la cosa, invece di parlare di distro io iniziere con questa domanda:

Come ci organizziamo??

In prima pagina ci metterei anche i nomi degli utenti che si sono proposti di partecipare ed il relativo ruolo nel progetto,
Esempio:
HexDEF6: sviluppo del sistema di boot.
Herod2k: Interfaccia grafica.
digieffe: Kernel e moduli.
magix2003: Beta tester.
e via dicendo

se volete lo faccio io, ma bisogna aprire un nuova discussione che posso gestire io.

Io in prima pagina ci metterei anche i links già citati dagli altri.

Non vorrei sembrare un rompiscatole ma in un progetto come questo l'organizzazione è tutto, guardate il Debian clan e la prima pagina tenuta da PiloZ è veramente ben fatta, io pensavo ad una cosa simile da aggiornare con sviluppi e tutte le informazioni utili.

Herod2k
25-08-2005, 11:00
Io opterei su FluxBox, iola trovo piu' funzionale ed anche un po' piu' bella rispetto a FluxBox, ovvio poi va a gusti.


O non ho capito io...oppure hai fatto un po di confusione scrivendo... :D :D :D

magix2003
25-08-2005, 11:01
Io inizierei a scrivere qualche cosa, poi magari la cambiamo in corso d'opera, se no va finire che certe decisioni o idee si perdono nei meandri della discussione, scriviamo una bozza e poi la modifichiamo se no ci ritroviamo a pagina 10 e siamo ancora decidere cosa fare e come muoverci...

secondo me per mandare avanti un progetto simile ci vuole un moderatore/organizzatore della discussione (non me ne voglia ilsensine :D :D :D ) e visto che la discussione l'hai aperta tu...

Per fare una distro ci vuole organizzazione e lavoro di squadra e qualcuno che organizzi la cosa, invece di parlare di distro io iniziere con questa domanda:

Come ci organizziamo??

In prima pagina ci metterei anche i nomi degli utenti che si sono proposti di partecipare ed il relativo ruolo nel progetto,
Esempio:
HexDEF6: sviluppo del sistema di boot.
Herod2k: Interfaccia grafica.
digieffe: Kernel e moduli.
magix2003: Beta tester.
e via dicendo

se volete lo faccio io, ma bisogna aprire un nuova discussione che posso gestire io.

Io in prima pagina ci metterei anche i links già citati dagli altri.

Non vorrei sembrare un rompiscatole ma in un progetto come questo l'organizzazione è tutto, guardate il Debian clan e la prima pagina tenuta da PiloZ è veramente ben fatta, io pensavo ad una cosa simile da aggiornare con sviluppi e tutte le informazioni utili.


Sono pienamente d'accordo con te su tutto, ci vuole organizzazione, se no ci perdiamo in un bicchiere d'acqua!!!!

magix2003
25-08-2005, 11:02
O non ho capito io...oppure hai fatto un po di confusione scrivendo... :D :D :D
Oooops!!!!
Si ho fatto un po' di confusione, volevo dire Enlightment

Cicciopanza
25-08-2005, 11:07
OT/ mi intrometto per fare un up a questa ricca discussione (di cui però non capisco un tubo in quanto utente WIN) e per fare un salutone all'amico HexDEF6

Ciao a tutti e puon lavoro.... magari poi se passo a linux :sofico: la provo anche io :D :D

HexDEF6
25-08-2005, 11:07
Sono pienamente d'accordo con te su tutto, ci vuole organizzazione, se no ci perdiamo in un bicchiere d'acqua!!!!


OK questo pomeriggio metto a posto il primo post.... (ora sono al lavoro :D )

Ciao

Herod2k
25-08-2005, 11:10
Voglio aggiungere un'altra cosa...come possiamo suddividere una distribuzione?

Mi chiedevo...sarebbe comodo suddividere una mini-distribuzione-live nelle sue parti principali:

Esempio:
- boot
- riconoscimento hardware
- kernel
- server grafico
- WM (un De è da escludere ... troppo grande)

io sono stato molto generico ci si può lavorare sopra una volta che abbiamo "la lista" la possiamo assegnare un pezzo ai vari utenti che vogliono partecipare....

HexDEF6
25-08-2005, 11:15
OT/ mi intrometto per fare un up a questa ricca discussione (di cui però non capisco un tubo in quanto utente WIN) e per fare un salutone all'amico HexDEF6

Ciao a tutti e puon lavoro.... magari poi se passo a linux :sofico: la provo anche io :D :D

/OT Ciao!... non ho ancora trovato il procio... ma sai com'e'.. potrebbe essere in qualche scatola nello sgabuzzino......

t_yorke
25-08-2005, 12:01
vi seguo dalla prima pagina proprio un bel progetto
non sono in grado di aiutarvi
forse al massimo posso fare il "beta tester" :D

però è bella l'idea di farlo per imparare nuove cose mi piace tantissimo
quello che fate lo rendete pubblico a tutti?

digieffe
25-08-2005, 12:25
vi seguo dalla prima pagina proprio un bel progetto
non sono in grado di aiutarvi
forse al massimo posso fare il "beta tester" :D

però è bella l'idea di farlo per imparare nuove cose mi piace tantissimo
quello che fate lo rendete pubblico a tutti?Per quel che mi riguarda SI!
anche se avendo HexDEF6 aperto la discussione tocca a lui esprimersi.


Ps: controlla l'elenco dei ruoli ;)

ciao :)

digieffe
25-08-2005, 12:40
Mi intrometto in questo bel progetto per dirvi secondo me qual'e' la cosa piu' importante. Scegliere quale sara' il ruolo di questa mini-distro, cioe' per cosa sara' utilizzata: internet, risoluzione di problemi riguardanti un installazione gia' esistente, risoluzione problemi di rete... Questo potrebbe restringere di molto il campo iniziale d'azione.........

............ Comunque per ora direi che l'importante e' farla bootare... poi a cosa possa servire ci pensiamo dopo! .............

magix2003: ha ragione e il/i ruoli saranno man mano inseriti nel progetto ma Confermo che il primo obbiettivo è quello di fare il sistema di installazione, poter fare il boot ed arrivare alla console al minimo delle funzionalità (semplicisticamente è propedeutico a tutti i ruoli) dopo integriamo i ruoli specifici.

Ciao :)

magix2003
25-08-2005, 13:30
Io direi di procedere in questo modo, fare una votazione(vedi sondaggio) per gli argomenti piu' importanti (vedi FAT o EXT3, Boot loader....).
Dopodiche' dividere l'intero lavoro in vari sottogruppi(come diceva bene Herod2k) dove un piccolo gruppo di lavoro sviluppa la sua parte di codice per poi ritrovarsi magari una volta al mese in MSN per mettere insieme i risultati e vedere i passi in avanti. Siete d'accordo?

HexDEF6
25-08-2005, 13:46
però è bella l'idea di farlo per imparare nuove cose mi piace tantissimo
quello che fate lo rendete pubblico a tutti?

certamente.. quello che vorrei venisse fuori alla fine e' un "howto" a grandi linee che permetta a qualcuno di approfondire e poter mettere mano a una "sua distribuzione"


Io direi di procedere in questo modo, fare una votazione(vedi sondaggio) per gli argomenti piu' importanti (vedi FAT o EXT3, Boot loader....).
Dopodiche' dividere l'intero lavoro in vari sottogruppi(come diceva bene Herod2k) dove un piccolo gruppo di lavoro sviluppa la sua parte di codice per poi ritrovarsi magari una volta al mese in MSN per mettere insieme i risultati e vedere i passi in avanti. Siete d'accordo?

non sono proprio daccordo... il fatto e' che il primo obiettivo e' imparare, quindi vorrei poter mettere mano un po a tutto, non lavorare ad una piccola parte del tutto...
magari dopo aver costruito una base solida (nel senso che ho capito abbastanza bene come funziona nel globale) allora ci si puo' dividere e ognuno puo' migliorare una singola parte del progetto...

Ciao

HexDEF6
25-08-2005, 13:51
Ps: ho visto in /boot/grub un file chiamato fat_stage1_5; che grub riconosca la fat ed in quale modo? indagherò.

Ciao :)


ho dato un'occhiata e sembra che grub faccia bootare di tutto! quindi anche da fat32!!!
sarebbe la soluzione ideale visto che in questa maniera non avremmo problemi di cilindri e limitazioni di fat16 ecc.
appena ho un po di tempo faccio qualche prova!

Herod2k
25-08-2005, 14:11
magix2003: ha ragione e il/i ruoli saranno man mano inseriti nel progetto ma Confermo che il primo obbiettivo è quello di fare il sistema di installazione, poter fare il boot ed arrivare alla console al minimo delle funzionalità (semplicisticamente è propedeutico a tutti i ruoli) dopo integriamo i ruoli specifici.

Ciao :)

So d'accordissimo con te facciamola bootare tutti insieme e poi entriamo nello specifico, anche se una prima divisione dei ruoli non sarebbe male così ognuno di noi inizia a cercare un po di materiale da poter utilizzare successivamente.

Mi è venuto in mente che potremmo studiarci come funzionano le distro su floppy

http://mulinux.sunsite.dk/
http://www.coyotelinux.com/
http://linux.simple.be/debian/floppy

distribuzioni grosse non più di qualche mega che stanno su supporti scrivibili (come le penne) studiando questi 3 esempi secondo me dovremmo ottenere qulche cosa, in 3-4 MB non sarà difficile capire quali sono i processi per far bootare una distro fino arrivare alla shell, voi che ne dite??

magix2003
25-08-2005, 14:17
Buona idea io mi sto scaricando i sorgenti di coyote linux e me li studio un po'(tanto in ufficio oggi calma piatta :D )!

So d'accordissimo con te facciamola bootare tutti insieme e poi entriamo nello specifico, anche se una prima divisione dei ruoli non sarebbe male così ognuno di noi inizia a cercare un po di materiale da poter utilizzare successivamente.

D'accordo con te su tutti i punti, anche perche per me il boot e' la cosa piu' complicata, poi il resto e' in "discesa" si fa per dire...
Comunque non ho capito come si puo' risolvere il problema del boot via usb, si utilizza un floppy o la prevediamo solo per le persone con un bios nuovo?

Bye

Herod2k
25-08-2005, 14:19
Buona idea io mi sto scaricando i sorgenti di coyote linux e me li studio un po'(tanto in ufficio oggi calma piatta :D )!

D'accordo con te su tutti i punti, anche perche per me il boot e' la cosa piu' complicata, poi il resto e' in "discesa" si fa per dire...
Comunque non ho capito come si puo' risolvere il problema del boot via usb, si utilizza un floppy o la prevediamo solo per le persone con un bios nuovo?

Bye

io direi di fare una cosa "facile" bootiamo solo da usb...per ora... :Perfido: :Perfido: :Perfido:

magix2003
25-08-2005, 15:34
Forse ho trovato una buona guida che spiega un po' come far partire una debian da usb, potrebbe essere un punto di partenza su cui lavorare!!! Spero non la conosceste gia'...

mi ero dimenticato il link ooops
http://www.debian-administration.org/articles/179
sorry

Ciao

Herod2k
25-08-2005, 15:38
Forse ho trovato una buona guida che spiega un po' come far partire una debian da usb, potrebbe essere un punto di partenza su cui lavorare!!! Spero non la conosceste gia'...
Ciao

mmm ti sei dimenticato il link....

HexDEF6
25-08-2005, 15:52
secondo me se volete capire come funziona il boot da una penna usb, vi consiglio di scaricare feather linux versione usb....
comunque se volete una versione semplicistica il boot funziona cosi:
- boot loader (di solito per distribuzioni usb viene usato syslinux.. ma puo' essere grub/lilo/altri&eventuali)
questo (se configurato a dovere!) carica in memoria il kernel e, se il kernel lo supporta, mette a disposizione una root iniziale: l'initrd che normalmente e' un file compresso in gzip che contiene un file system in ext2
il kernel lancia il processo di init (normalmente /sbin/init... ma per i boot con initrd, di solito invece e' uno script: /linuxrc che si trova ovviamente all'interno dei initrd)
Primo problema:
non c'e' nessuna libreria caricata (le glibc non esistono!) quindi tutto quello compreso in initrd deve essere copilato staticamente!
di solito non si usano molte cose quindi ci si ritrova con busybox (praticamente una shell con built-in moltissimi comandi base http://www.busybox.net/ ) e pochi altri comandi..
lo script /linuxrc esegue alcune funzioni tipo:
caricare moduli per far andare hardware (controller scsi, cdrom, sata... ma anche audio/rete o qualsiasi altra cosa)
cercare dov'e' la "vera root" (di solito monta tutte le partizioni che trova e controlla se c'e' un determinato file)
monta la root (che di solito e' un altro file compresso con all'interno un file system ext2... serve il modulo cloop)
copia in ram parti del filesystem, o fa link simbolici o altro
alla fine di tutto questo /linuxrc finisce e lascia il posto a /sbin/init e parte il processo di boot normale

Spero di non aver detto castronerie!

Ciao

HexDEF6
25-08-2005, 16:47
ho modificato il post iniziale... ditemi cosa c'e' da aggiungere/togliere/cambiare...

P.S. per riscrivere il post ho rubato un po di pezzi da digieffe!

Herod2k
25-08-2005, 16:55
:ave: :ave: :ave:
spettacolo....sono fomentatissimo.... :D :D :D

Andmart
25-08-2005, 19:25
Piccolo OT... Confermo la mia disponibilità come tester... Tuttavia non sono riuscito a verificare che il mio pc supporti effettivamente il boot da usb.... Temo anzi non lo faccia :( (masterizzatore usb con cd avviabile non visto).... Quindi, a meno che non prevediato un floppy di boot (ma ho letto che per ora non è prevista questa eventualità) mi vedo costretto a rinunciare... :mad: . A meno non possa fare qualche test con macchina virtuale... ma non so se è possibile..... :confused:

seguirò cmq da vicino e costantemente lo sviluppo di questo progetto... Sono molto interessato a capire il funzionamento del nostro pinguino...

HexDEF6
25-08-2005, 20:09
Piccolo OT... Confermo la mia disponibilità come tester... Tuttavia non sono riuscito a verificare che il mio pc supporti effettivamente il boot da usb.... Temo anzi non lo faccia :( (masterizzatore usb con cd avviabile non visto).... Quindi, a meno che non prevediato un floppy di boot (ma ho letto che per ora non è prevista questa eventualità) mi vedo costretto a rinunciare... :mad: . A meno non possa fare qualche test con macchina virtuale... ma non so se è possibile..... :confused:

seguirò cmq da vicino e costantemente lo sviluppo di questo progetto... Sono molto interessato a capire il funzionamento del nostro pinguino...

le prove le sto facendo con qemu (mica mi metto a rebootare ogni 3 secondi!)
basta che lanci:
qemu -hda /dev/sdb
(nel mio caso la chiavetta e' su /dev/sdb)
ovviamente non e' sicuro che se in questo modo funziona, funzioni anche col boot da usb... ma se in questo modo non funziona, stai sicuro che non boota nemmeno da usb!

adesso sto guardando lo script di installazione del grub nella geexbox... mi sto un po perdendo (mettersi a studiare script dopo una giornataccia di lavoro come quella di oggi non e' il massimo!) ma almeno sono sicuro che si puo' installare grub per far partire un kernel su fat32!
Quindi mi butto a leggermi un po di man del grub!

Ciao!

HexDEF6
25-08-2005, 21:09
allora grub con fat32 funziona!
Almeno sono riuscito a far bootare una geexbox con grub su fat32... con alcuni problemi (non mi passa la root giusta..)

Adesso vedo se riesco a rimediare....

Ciao

Andmart
25-08-2005, 21:10
le prove le sto facendo con qemu (mica mi metto a rebootare ogni 3 secondi!)
basta che lanci:
qemu -hda /dev/sdb
(nel mio caso la chiavetta e' su /dev/sdb)
ovviamente non e' sicuro che se in questo modo funziona, funzioni anche col boot da usb... ma se in questo modo non funziona, stai sicuro che non boota nemmeno da usb!

adesso sto guardando lo script di installazione del grub nella geexbox... mi sto un po perdendo (mettersi a studiare script dopo una giornataccia di lavoro come quella di oggi non e' il massimo!) ma almeno sono sicuro che si puo' installare grub per far partire un kernel su fat32!
Quindi mi butto a leggermi un po di man del grub!

Ciao!

mucho gracias!!

Ora mi farò prestare nuovamente il cd usb per fare delle prove!

magix2003
26-08-2005, 07:23
La notte mi ha portato consiglio, come si dice ed ho avuto un po' di idee. La cosa che piu' mi ha fatto pensare e' stato il problema del boot se non si ha una versione del bios compatibile. Sono arrivato a qualche conclusione in merito:

La prima volta non e' possibile avviare senza 1 floppy(e questo si sapeva)...
Pero' pr le prossime volte forse si potrebbe fare qualcosa... ora mi spiego

Se noi dopo un primo boot fatto con un floppy andassimo a modificare il boot loader, tramite uno script, del sistema presente e lo impostassimo per fare il boot da un'altro disco(in questo caso usb) le prossime volte la nostra distro andra' su come niente fosse. Ovvio quest'idea non rispiecchia tantissimo il discorso di live, pero' potrebbe essere una soluzione, almeno provvisoria... Mi dite cosa ne pensate in merito??? Se volete io intanto mi posso occupare di questo per scovare qualche buon documento o qualcosa del genere!!!!
Ciao

HexDEF6
26-08-2005, 08:12
La notte mi ha portato consiglio, come si dice ed ho avuto un po' di idee. La cosa che piu' mi ha fatto pensare e' stato il problema del boot se non si ha una versione del bios compatibile. Sono arrivato a qualche conclusione in merito:

La prima volta non e' possibile avviare senza 1 floppy(e questo si sapeva)...
Pero' pr le prossime volte forse si potrebbe fare qualcosa... ora mi spiego

Se noi dopo un primo boot fatto con un floppy andassimo a modificare il boot loader, tramite uno script, del sistema presente e lo impostassimo per fare il boot da un'altro disco(in questo caso usb) le prossime volte la nostra distro andra' su come niente fosse. Ovvio quest'idea non rispiecchia tantissimo il discorso di live, pero' potrebbe essere una soluzione, almeno provvisoria... Mi dite cosa ne pensate in merito??? Se volete io intanto mi posso occupare di questo per scovare qualche buon documento o qualcosa del genere!!!!
Ciao

il problema e' che il boot loader vede i dischi che gli dice il bios! se il bios non permette il boot da usb credo sia impossibile per un boot loader bootare da usb...
l'unica soluzione e' il dischetto (o cdrom)...


Adesso sto smanettando con la nuova geexbox... che dire assolutamente fantastica... alla fine sono riuscita a farla partire da una memory card da 16Mb (con un adattatore per usb) formattata fat 32 con grub!
Buon smanettamento a tutti!... io ritorno a lavorare

Ciao

magix2003
26-08-2005, 08:19
Si probabilmete hai ragione tu. Allora vi dovro' dare una mano in un altro modo, visto che il mio bios non supporta il boot via usb.... Se vuoi vi potrei dare una mano per capire, poi creare l'initrd...
Comunque visto che non posso usare queste esperienze per un usb vorra' dire che quando finito faro' un live cd :D :D :D :D

HexDEF6
26-08-2005, 08:23
Si probabilmete hai ragione tu. Allora vi dovro' dare una mano in un altro modo, visto che il mio bios non supporta il boot via usb.... Se vuoi vi potrei dare una mano per capire, poi creare l'initrd...
Comunque visto che non posso usare queste esperienze per un usb vorra' dire che quando finito faro' un live cd :D :D :D :D

puoi sempre testare il tutto con qemu!

Ciao!

magix2003
26-08-2005, 09:20
Dopo aver fatto una breve ricerca su initrd ho fatto un riassunto da vari documenti, che puo' servire per avere piu' chiare le idee:

COS’E’:

E’ un disco RAM iniziale (/dev/initrd), che viene caricato dal boot-loader prima del kernel. Il kernel cosi’ dopo puo usare questo file speciale per un two phased system boot-up (credo sia piu’ chiaro ternerlo in inglese che tradurlo malamente). Nella prima fase il kernel inizializza e monta dal contenuto di initrd un file system root. Nella seconda fase vengono caricati in memoria i driver ed i moduli dal contenuto della root. Fatto questo viene creata una nuova root (quella che il sistema usera’ normalmente) tramite il comando pivot_root.

COME VIENE FATTO PARTIRE:

Per poter utilizzare initrd il kernel deve essere avviato abilitando la gestione del disco RAM iniziale. Per fare questo bisogna impostare il boot loader con i parametri corretti. Alcuni esempi che potrebbero essere utili di configuarazione

LILO:

image = /boot/vmlinuz
initrd = /boot/initrd.gz
append = "root=/dev/ram0 init=/linuxrc rw"

GRUB:

title linux
kernel (hd0,1)/boot/vmlinuz root=/dev/ram0 init=/linuxrc rw
initrd (hd0,1)/boot/initrd.gz

SYSLINUX:

LABEL linux
KERNEL vmlinuz
APPEND root=/dev/ram0 init=/linuxrc rw initrd=initrd.gz

ISOLINUX

LABEL linux
KERNEL vmlinuz
APPEND root=/dev/ram0 init=/linuxrc rw initrd=initrd.gz

OPERAZIONE DI BOOT

Le operazioni di boot sono le seguenti:

1. Il boot loader carica il kernel e /dev/initrd in memoria

2. All’avvio del kernel, esso scompatta e copia il contenuto di /dev/initrd nella RAM e libera la memoria usata da /dev/initrd

3. Il kernel monta il dispositivo read and write /dev/ram0 come come la directory radice iniziale .

4. Se la root normale e’ uguale a quella specificata (/dev/ram0) allora il kernel salta gli ultimi passaggi e procede al boot.

5. Se e’ presente il file eseguibile /linuxrc, esso viene eseguito con uid 0(il file /linuxrc deve avere il permesso di esecuzione)

6. Se /linuxrc non e’ eseguito o quando viene terminata la sua esecuzione, la normale root viene montata.

7. Se la normale root ha una directory /inird, /dev/ram0 viene spostata li, altrimenti viene smontata.

8. La normale sequenza di boot viene eseguita nella root.

UTILIZZO:

Un possibile scenario di installazione:

1. Il boot-loader carica da un floppy o qualunque altro media con un piccolo kernel e carica il /dev/

2. L’eseguibile /linuxrc determina cosa e’ necessario per 1) montare la normale root e (2) e le varie periferiche (e.g. CD-ROM, network, tape, ...).

3. L’eseguibile /linuxrc carica i necessari moduli dalla root iniziale.

4. L’eseguibile /linuxrc crea e popola la root

5. L’eseguibile /linuxrc setta /proc/sys/kernel/real-root-dev, smonta /proc, la normale root e tutti gli altri file system che ha montato, e poi termina.

6. Il kernel monta la normale root.

7. Ora che il file system e’ accessibile ed integro, viene installato il boot-loader

8. Il boot-loader e’ configuarato per caricare in /dev/initrd un file system un set di moduli per far partire il sistema.

9. Il sistema e’ ora installato.




ESEMPIO DI UN DISCO RAM INIZIALE:

# cd[Invio]
# mkdir radice-initrd[Invio]
# cd radice-initrd[Invio]
# mkdir bin dev etc lib proc nuova-root[Invio]
Si copiano i programmi che si ritiene siano indispensabili:
# cp /bin/dash /bin/mkdir /bin/mount ./bin[Invio]
# cp /sbin/insmod /sbin/pivot_root ./bin[Invio]
# cp /usr/sbin/chroot ./bin[Invio]
In questo caso la shell è Dash e si preparano alcuni collegamenti simbolici:
# cd ./bin[Invio]
# ln -s dash ash[Invio]
# ln -s dash sh[Invio]
# cd ..[Invio]
Con l'aiuto di ldd si individuano i file delle librerie che richiedono i programmi copiati e si copiano a loro volta le librerie necessarie:
# cp /lib/libc.so.6 /lib/ld-linux.so.2 ./lib[Invio]
Si crea un file /etc/fstab minimo:
# echo "/dev/ram0 / auto defaults 0 0" > etc/fstab[Invio]
Si copiano i file dei moduli necessari (viene omesso il passaggio), quindi si creano i file di dispositivo che possono servire; qui viene usato lo script MAKEDEV:
# cd ./dev[Invio]
# /dev/MAKEDEV console[Invio]
# /dev/MAKEDEV null[Invio]
# /dev/MAKEDEV zero[Invio]
# /dev/MAKEDEV ram[Invio]
# /dev/MAKEDEV hd[Invio]
# /dev/MAKEDEV sd[Invio]
# cd ..[Invio]
Alla fine, si comincia la realizzazione dello script linuxrc, da collocare all'inizio della gerarchia (/linuxrc). Inizialmente, per verificare il funzionamento di massima del sistema, conviene fare una cosa molto semplice, come potrebbe essere questa:
#!/bin/sh

echo nanorc di prova; premi [Invio] per terminare
read x

Una volta creato il file, occorre ricordare di dargli i permessi necessari all'esecuzione:
# chmod 755 linuxrc[Invio]
Per la verifica, basta usare chroot:
# chroot . /linuxrc[Invio]
nanorc di prova; premi [Invio] per terminare
# [Invio]

magix2003
31-08-2005, 08:05
uppete!!! :cool:
Novita'???

HexDEF6
31-08-2005, 08:33
uppete!!! :cool:
Novita'???

sto lavorando come un negretto... spero di aver tempo questo fine settimana :(

ho solo dato un'occhiata a grub... e' una vera potenza!

digieffe
03-09-2005, 02:06
uppete!!! :cool:
Novita'???

Per cause di forza maggiore ho dovuto un allontanarmi un pò...... solo il tempo per aggiornarmi e fare un pò il punto della situazione... :)

ciao :)