Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Navegación
 Índice
 Wiki
 FAQ del foro
 FAQ del VDR-NG-EM
 Funcionalidades del VDR
 Mejoras del VDR-NG-EM
 Primeros pasos FW-VDR
 Descargas VDR-NG-EM
Flujo RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 



Modificacion del make-fw

Ver el tema anterior Ver el tema siguiente Ir abajo

Modificacion del make-fw

Mensaje por debianjoker el Sáb 17 Ene 2009 - 23:56

Hola, he preparado un pequeño script, para guardar una configuración básica de red y el tema del m750epg que junto con el make-fw automatiza un poco más el proceso.

Pongo el codigo por si le interesa a alguien mas:

miconfig
Código:

#######################
# Valores por defecto #
#######################
vdr_version="pro";
m750epg="s";
inet_giga="n";
ip_giga="192.168.2.100";
netmask_giga="255.255.255.0";
hostname_giga="default";
gateway_giga="192.168.2.1";
netdate_giga="s";
compartido="s";
ip_pc="192.168.2.2";
cifs_carpeta="tdt";
cifs_montaje="pc";
usuario="usuario"
password="password"
cifs_options="";


#########################################
# Leer la configuracion local si existe #
#########################################
if [ -e .config-local ]; then
        source .config-local
fi


###############################
#Escoger la versión a compilar#
###############################
respuesta="";
while [ "$respuesta" == "" ]; do
read -p "Versión a compilar [pro/lite]($vdr_version)" respuesta
case "$respuesta" in
        [pP][rR][oO])
                vdr_version="pro";
                ;;

        [lL][iI][tT][eE])
                vdr_version="lite";
                ;;
        *)
                if [ "$respuesta" == "" ]; then
                        respuesta=$vdr_version
                else
                        respuesta=""
                fi
                ;;
esac;
done


###############################
#Escoger entre m740 y m750EPG #
###############################
respuesta="";
while [ "$respuesta" == "" ]; do
read -p "Es un M750EPG?[s/n]($m750epg)" respuesta
case "$respuesta" in
        [sS])
                m750epg="s";
                ;;

        [nN])
                m750epg="n";
                ;;
        *)
                if [ "$respuesta" == "" ]; then
                        respuesta=$m750epg
                else
                        respuesta=""
                fi
                ;;
esac;
done


#####################################################
# Si escoges la version PRO poner parametros de red #
#####################################################
if [ "$vdr_version" == "pro" ]; then
        respuesta="";
        while [ "$respuesta" == "" ]; do
                read -p "DHCP?[s/n]($inet_giga)" respuesta
                case "$respuesta" in
                        [sS])
                        inet_giga="s";
                        ;;

                        [nN])
                        inet_giga="n";
                        ;;
                        *)
                        if [ "$respuesta" == "" ]; then
                                respuesta=$inet_giga
                        else
                                respuesta=""
                        fi
                        ;;
                esac;
        done

        if [ "$inet_giga" == "n" ]; then
                respuesta="";
                while [ "$respuesta" == "" ]; do
                        IFS="."
                        read -p "IP del Gigaset: ($ip_giga)" -a a
                        unset IFS
                        if [ "$a" == "" ]; then
                                respuesta=$ip_giga
                        else
                                for i in 0 1 2 3; do
                                        resp=${a[$i]}
                                        case "$resp" in
                                                [0-9]|[1-9][0-9]|25[0-5]|2[0-4][0-9]|1[0-9][0-9])
                                                        ip[$i]=$resp;
                                                        respuesta=$resp;
                                                        ;;

                                                *)
                                                        respuesta=""
                                                        break 1;
                                                ;;
                                        esac;
                                done
                                respuesta=${ip[0]}'.'${ip[1]}'.'${ip[2]}'.'${ip[3]}
                        fi
                done
                ip_giga=$respuesta
                respuesta="";
                while [ "$respuesta" == "" ]; do
                        IFS="."
                        read -p "Netmask del Gigaset: ($netmask_giga)" -a a
                        unset IFS
                        if [ "$a" == "" ]; then
                                respuesta=$netmask_giga
                        else
                                for i in 0 1 2 3; do
                                        resp=${a[$i]}
                                        case "$resp" in
                                                [0-9]|[1-9][0-9]|25[0-5]|2[0-4][0-9]|1[0-9][0-9])
                                                        ip[$i]=$resp;
                                                        respuesta=$resp;
                                                        ;;

                                                *)
                                                        respuesta=""
                                                        break 1;
                                                ;;
                                        esac;
                                done
                                respuesta=${ip[0]}'.'${ip[1]}'.'${ip[2]}'.'${ip[3]}
                        fi
                done
                netmask_giga=$respuesta
                respuesta="";
                while [ "$respuesta" == "" ]; do
                        IFS="."
                        read -p "Gateway del Gigaset: ($gateway_giga)" -a a
                        unset IFS
                        if [ "$a" == "" ]; then
                                respuesta=$gateway_giga
                        else
                                for i in 0 1 2 3; do
                                        resp=${a[$i]}
                                        case "$resp" in
                                                [0-9]|[1-9][0-9]|25[0-5]|2[0-4][0-9]|1[0-9][0-9])
                                                        ip[$i]=$resp;
                                                        respuesta=$resp;
                                                        ;;

                                                *)
                                                        respuesta=""
                                                        break 1;
                                                ;;
                                        esac;
                                done
                                respuesta=${ip[0]}'.'${ip[1]}'.'${ip[2]}'.'${ip[3]}
                        fi
                done
                gateway_giga=$respuesta
                respuesta=""
                read -p "Hostname del Giga: ($hostname_giga)" respuesta
                respuesta="";
                while [ "$respuesta" == "" ]; do
                        read -p "Actualizacion de la hora por internet?[s/n]($netdate_giga)" respuesta
                        case "$respuesta" in
                                [sS])
                                netdate_giga="s";
                                ;;

                                [nN])
                                netdate_giga="n";
                                ;;
                                *)
                                if [ "$respuesta" == "" ]; then
                                        respuesta=$netdate_giga
                                else
                                        respuesta=""
                                fi
                                ;;
                        esac;
                done
                read -p "Quieres añadir directorios compartidos en el PC? [s/n]: ($compartido)" respuesta
                if [ "$respuesta" == "s" -o "$respuesta" == "S" -o "$respuesta" == "" ]; then
                        compartido="s";
                        respuesta="";
                        while [ "$respuesta" == "" ]; do
                                IFS="."
                                read -p "IP del pc: ($ip_pc)" -a a
                                unset IFS
                                if [ "$a" == "" ]; then
                                        respuesta=$ip_pc
                                else
                                        for i in 0 1 2 3; do
                                                resp=${a[$i]}
                                                case "$resp" in
                                                        [0-9]|[1-9][0-9]|25[0-5]|2[0-4][0-9]|1[0-9][0-9])
                                                                ip[$i]=$resp;
                                                                respuesta=$resp;
                                                                ;;

                                                      *)
                                                                respuesta=""
                                                                break 1;
                                                        ;;
                                                esac;
                                        done
                                        respuesta=${ip[0]}'.'${ip[1]}'.'${ip[2]}'.'${ip[3]}
                                fi
                        done
                        ip_pc=$respuesta
                        read -p "Usuario: ($usuario)" respuesta
                        if [ "$respuesta" != "" ]; then usuario=$respuesta; fi
                        read -p "Password: ($password)" respuesta
                        if [ "$respuesta" != "" ]; then password=$respuesta; fi
                        read -p "Carpeta del PC: ($cifs_carpeta)" respuesta
                        if [ "$respuesta" != "" ]; then cifs_carpeta=$respuesta; fi
                        read -p "Punto de Montaje en el giga: ($cifs_montaje)" respuesta
                        if [ "$respuesta" != "" ]; then cifs_montaje=$respuesta; fi
                        read -p "Opciones adicionales de montaje: ($cifs_options)" respuesta
                        if [ "$respuesta" != "" ]; then cifs_options=$respuesta; fi

                fi
        fi
fi


#####################################
# Actualizar la configuracion local #
#####################################
echo "vdr_version=\"$vdr_version\"" > .config-local
echo "m750epg=\"$m750epg\"" >> .config-local
echo "inet_giga=\"$inet_giga\"" >> .config-local
echo "ip_giga=\"$ip_giga\"" >> .config-local
echo "netmask_giga=\"$netmask_giga\"" >> .config-local
echo "gateway_giga=\"$gateway_giga\"" >> .config-local
echo "hostname_giga=\"$hostname_giga\"" >> .config-local
echo "netdate_giga=\"$netdate_giga\"" >> .config-local
echo "compartido=\"$compartido\"" >> .config-local
echo "ip_pc=\"$ip_pc\"" >> .config-local
echo "usuario=\"$usuario\"" >> .config-local
echo "password=\"$password\"" >> .config-local
echo "cifs_carpeta=\"$cifs_carpeta\"" >> .config-local
echo "cifs_montaje=\"$cifs_montaje\"" >> .config-local
echo "cifs_options=\"$cifs_options\"" >> .config-local


####################################
# quitar el check-flash en M750EPG #
####################################
if [ "$m750epg" == "s" ]; then
        sed -e 's/ check-flash / /g' Addons/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf > tmp && mv tmp Addons/Fil
es/pro/buildin/base-$vdr_version/common/etc/rc.conf
fi

if [ "$vdr_version" == "pro" ]; then
#####################
# Configurar la red #
#####################
        if [ "$inet_giga" == "n" ]; then
                a=$(echo $ip_giga|sed -e 's/\./\\\./g')
                sed -e "s/\ tmp && mv tmp Addo
ns/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf
                a=$(echo $netmask_giga|sed -e 's/\./\\\./g')
                sed -e "s/\ tmp && mv tmp Addons/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf
                a=$(echo $gateway_giga|sed -e 's/\./\\\./g')
                sed -e "s/\ tmp && m
v tmp Addons/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf
        fi
        if [ "$hostname_giga" == "default" ]; then
                sed -e "s/\
/etc/rc.conf > tmp && mv tmp Addons/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf
        else
                sed -e "s/\
onf > tmp && mv tmp Addons/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf
        fi
        if [ "$netdate_giga" == "s" ]; then
                sed -e "s/\ tmp &&
mv tmp Addons/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf
        else
                sed -e "s/\ tmp && m
v tmp Addons/Files/pro/buildin/base-$vdr_version/common/etc/rc.conf
        fi

###################################
# Configurar carpetas compartidas #
###################################
cat > Addons/Files/pro/buildin/base-$vdr_version/common/etc/fstab <
# only used for net mounts
#     
#
# fstype may be nfs or cifs
# smbfs is not longer support use cifs instead
# cifs is unsupport as well but remains in firmware
#
# Examples:
# NFS:
# 192.168.1.1:/video    /var/media/video        nfs    nolock  0      0
#
# CIFS:
# \\\\192.168.1.1\\video        /var/media/video        cifs    user=joe,pass=loser    0      0
#
# CIFS-Direct:
# \\\\192.168.1.1\\video        /var/media/video        cifs    user=joe,pass=loser,direct      0      0
#
# Remarks
# 1. for cifs shares used as video dir the CIFS-Direct form should be used
# 2. nolock for nfs exports is need otherwise mount hangs
# 3. cifs should never be used, it's a broken fs and degrades performance
FSTABREGENERADO

        if [ "$cifs_options" != "" ]; then
                echo "\\\\$ip_pc\\$cifs_carpeta        /video/media/$cifs_montaje      cifs    user=$usuario,pass=$password,
$cifs_options    0      0" >> Addons/Files/pro/buildin/base-$vdr_version/common/etc/fstab
        else
                echo "\\\\$ip_pc\\$cifs_carpeta        /video/media/$cifs_montaje      cifs    user=$usuario,pass=$password
    0      0" >> Addons/Files/pro/buildin/base-$vdr_version/common/etc/fstab
        fi

fi


Para incorporalo al make-fw he cambiado
Código:

# Version to generate
#  lite: Minimal install
#  pro:  Maximal install
vdr_version="pro"

Dejandolo asi:
Código:

# Version to generate
#  lite: Minimal install
#  pro:  Maximal install
#vdr_version="pro"
sourece miconfig

Espero que os sirva de algo.

Un saludo.

8)
avatar
debianjoker
Desarrollador

Cantidad de envíos : 50
Fecha de inscripción : 10/01/2009

Ver perfil de usuario http://www.pixelazul.net

Volver arriba Ir abajo

Re: Modificacion del make-fw

Mensaje por bittor el Dom 18 Ene 2009 - 10:15

Gracias, la verdad es que a esos scripts hay que darles un repaso para mejorarlos.
avatar
bittor
Desarrollador

Cantidad de envíos : 3632
Fecha de inscripción : 25/06/2008
Localización : Zaragoza

Ver perfil de usuario http://bittor7x0.googlepages.com

Volver arriba Ir abajo

Re: Modificacion del make-fw

Mensaje por zjuanma el Miér 21 Ene 2009 - 19:18

Bittor, este script es cojonudo. Hay que probarlo bien y meterlo en la version estable.

debianjoker, tu lo estas usando con normalidad?

_________________
M740AV + VDR-NG-EM 0.5 - SVN EM 759 - SVN TC - o7o 410 - SVN plugins 744
Disco: Western Digital Elements mediante un NAS
Conectado a Internet
Plugin yaep 0.2.1: http://sites.google.com/site/yaepvdr
avatar
zjuanma
Desarrollador

Cantidad de envíos : 818
Fecha de inscripción : 27/06/2008

Ver perfil de usuario

Volver arriba Ir abajo

Re: Modificacion del make-fw

Mensaje por garbas el Jue 19 Feb 2009 - 13:22

Este script no está completo, ¿verdad?

No lo he probado, pero le estoy echando un vistazo a qué modifica para configurar cada cosa y me parece que faltan cosas en los comandos sed de la parte de la configuración de red (y puede que en más sitios).

garbas
Betatester

Cantidad de envíos : 101
Fecha de inscripción : 18/09/2008
Edad : 42

Ver perfil de usuario

Volver arriba Ir abajo

Re: Modificacion del make-fw

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.