Il pacchetto samba-1.9.18p8_telsey_yymmdd.tar.gz contiene i sorgenti del programma samba (versione 1.9.18p8) scaricati dal sito http://www.samba.org e leggermente modificati per compilare ed eseguire sul telsey magic. Nell'archivio ci sono i sorgenti e anche i compilati ma non assicuro il funzionamento di questi utlimi vista la dipendenza dalle librerie. E' sempre meglio ricompilare il tutto insieme al fw. FILE Anche se ho compilato tutti i file ho utilizzato solo: /bin/smbd /bin/nmbd /etc/smb.conf /etc/smbpasswd (vuoto) /etc/codepages/codepage.437 /etc/codepages/codepage.850 DIRECTORY IMPOSTATE IN MAKEFILE (E QUINDI NEL COMPILATO) Le directory di default sono le seguenti: - /bin dove vanno copiati i binari - /etc dove vanno copiato smb.conf e smbpasswd - /etc/codepages dove vanno copiato i codepage - /var dove il programma salva i dati variabili (locks) - /var/log dove il programma salva i log Quasi tutti i parametri precedenti possono essere sovrascritti da linea di comando. Va creata la directory /tmp per l'accesso di guest. In alternativa si può impostare la variabile TMPDIR su un'altra directory con export TMPDIR=/var SMB.CONF Il file di configurazione che ho incluso: - funziona con utente guest mappato su nobody (purtroppo ha uid 0) - effettua il bind sull'interfaccia br0 - workgroup = WORKGROUP - netbios name = ROUTER - esporta la /mnt come public MODIFICHE RISPETTO AI SORGENTI ORIGINALI SAMBA - Modificate le procedure di detect dell'hostname locale poiché il router non ha hostname assegnato e non ha file /etc/hosts. - Introdotta la possibilità di scrivere la direttiva interfaces con il nome dell'interfaccia e non con l'ip in modo da renderlo dinamico. MAKEFILE Il makefile allegato fa riferimento alle variabili d'ambiente impostate dal make generale del fw, pertanto consiglio di mettere tutto il contenuto in una directory sotto /opt/bcm963xx_router/userapps/opensource e modificare il makefile generale e il file MAGIC per compilare tutto insieme. Ho aggiunto il target bcm: per compilare tutto e installare il necessario nel fs standard del firmware. Altrimenti il target all: compila solo. NOTE I servizi possono essere inseriti nel /etc/profile. Purtroppo l'indirizzo ip della br0 viene creato dal cfm e i demoni *mbd non possono partire se l'interfaccia non è correttamente avviata. La soluzione è un po' sporca ma funziona: i demoni eseguono il fork, attendono 20 secondi che cfm tiri su l'interfaccia br0 dopodiche' completano l'avvio. Questo vuol dire anche che i programmi funzionano dopo almeno 20 secondi...