@Barf Neue Newmake Frage (Pimping fuer eigene Settings)

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

@Barf Neue Newmake Frage (Pimping fuer eigene Settings)

Beitrag von PT-1 »

@Barf,

dein Beispiel hatte ich leider nicht verstanden und habe deshalb eine kleinere Platte installiert.

Werde wenn ich mehr Zeit habe nochmal mehr testen.

Koenntest du eventuell zu meinem "script" noch ein paar Zeilen schreiben da ich leider immer noch nicht deine Ausfuehrungen auf deiner Homepage nicht zu 100% verstehe.

Moechte eigentlich nur automatisiert Images bauen die :

Ucodes
Services.xml & bouquets.xml
Neutrino.conf
Scan.conf
Network

usw. sprich alle Daten die immer wieder von Hand eingestellt werden muesen. Hintergrund ist das ich in meiner Familie 3x Nokia Sat mit Avia500 usw habe. Mein Setup ist 13 (2) 19 (1) und 28.2 (2) und der Rest hat nur Astra 19 (1) somit sind ja meine eigenen Einstellungen egal.

Auch haben alle eine Fritz!Fon (192.168.178.1) und damit sind auch die Netzwerk Einstellungen gleich.

Am Anfang wird ja eh die Sprache abgefragt und da habe ich ja Englisch und Deutsch zur Auswahl..

Bitte,Bitte,Bitte erklaere mir es doch bitte in einfachen Worten welches File ich veraendern bzw. erstellen muss um einfach make flash-neutrino-jffs2-all
nach einem Update CVS und configure zu machen um mit dem fertigen Image mit allem eingebaut zu haben ....

Danke & Gruss aus Londimum ;-)
doktorknow
Interessierter
Interessierter
Beiträge: 99
Registriert: Dienstag 27. November 2001, 00:00

Beitrag von doktorknow »

Hallo PT-1,

ich habe mich auch erst letzte Woche mit dem Newmake intensiv auseinandergesetzt und es auch noch nicht 100% verstanden, aber vielleicht bewegen wir uns daher auf einem Niveau und ich kann Dir dadurch weiterhelfen.

Grundsätzlich habe ich erstmal keine Ahnung von der IDE Implementierung, da ich diese noch nicht brauche. Verwirrend sind für mich zunächst die verschiedenen Scripte gewesen und wo nun welche Änderung hineingehört. Wenn man sihc aber nach einer Imageerstellung die Verzeichnisse anschaut, dann wird schnell ersichtlich, in welches Script die jeweilige Änderung gehört. Teilweise sind Unterverzeichnisse nämlich einfach noch nicht vorhanden.

Ich habe mich hier an den Scripten von Tommy orientiert und diese (nach bestem Wissen und Gewissen) für Deine Bedürfnisse umgeschrieben. Die Pfade und Verzeichnisse solltest Du in jedem Fall noch überprüfen. Ich gehe davon aus, dass Du Deine eigenen Files in /ownfiles OHNE UNTERORDNER abgelegt hast. Wenn nicht, dann musst Du diese Änderungen noch in die Scripte aufnehmen. Von der Anzahl der Scripte lass Dich nicht erschrecken, teilweise passiert auch gar nichts im Script - ich habe diese aber der Vollständikeit halber mit aufgenommen.

Ich baue im Moment nur Squashfs-Images und habe lediglich die "Squashfs" durch "JFFS2" ersetzt. Falls es da Probleme gibt, bitte ich einen "Wissenden" dies hier zu ergänzen.

So, das erste Script (das einzige was Du auch per Konsole aufrufst) ist Folgendes:
#!/bin/sh

rm /home/ubuntu/210806/tuxbox/cdkflash/*.*x

cd /home/ubuntu/210806/tuxbox/cdk

### Hier wählst Du das clean-Target aus (Du woltest glaube ich "mostclean")

#make flash-semiclean
make mostlyclean
#make distclean


cd /home/ubuntu/210806/tuxbox

####Hier wählst Du aus, ob Du neu auschecken willst oder updaten möchtest.####

cvs up -f -r newmake -dP > cvs.log 2>&1
#cvs -d anoncvs@cvs.tuxbox-cvs.sourceforge.net:/cvs/tuxbox -z3 co -f -r newmake -P .

cd /home/ubuntu/210806/tuxbox/cd

./autogen.sh

cd /home/ubuntu/210806/tuxbox/cd

####prefix=Hier werden die Verzeichnise "cdkflash", "cdkroot" "CDK" und "tftpboot" erstellt. Meist wählt man hier "dbox2". Du hast Folgendes gewählt:#

./configure --prefix=/home/ubuntu/210806/tuxbox --with-cvsdir=/home/ubuntu/210806/ --with-ucodesdir=/home/ubuntu/210806/ucodes/ --enable-maintainer-mode --enable-cdkVcInfo

###DIese Rules könntest Du noch mit in Dein Configure mit hinein nehmen: --with-logosdir=/home/ubuntu/210806/logos/ --with-checkImage=rename######

cd /home/ubuntu/210806/tuxbox/cdk

make flash-neutrino-jffs2-all
#make everything
EDIT: HIER HABE ICH DAS "ENABLE IDE" VERGESSEN!!

Am Anfang dauert es natürlich relativ lange bis das Update oder der Checkout abgelaufen ist - und das siehst Du im Falle dieses Skriptes auch nicht. Hier kannst Du den Fortschritt lediglich im Verzeichnis /home/ubuntu/210806/tuxbox in der Datei cvs.log überprüfen.

Das nächste Skript muss "root-local.sh" heißen und (wie alle Skripte) in /home/ubuntu/210806/tuxbox/cdk liegen. Hier werden lediglich die Mountverzeichnisse erstellt.

#!/bin/sh

echo "-----------------------------------------------------------------------------"
echo "-------------------------START root CUSTOMIZION -----------------------------"
echo "-----------------------------------------------------------------------------"

flashprefix=$1
buildprefix=$2
newroot=$flashprefix/root
myfiles=/home/ubuntu/210806/ownfile

# Mountverzeichnisse erstellen

mkdir $newroot/mnt/epg
mkdir $newroot/mnt/video
#mkdir $newroot/mnt/bilder
#mkdir $newroot/mnt/custom
#mkdir $newroot/mnt/plugins



echo "-----------------------------------------------------------------------------"
echo "----------------------root CUSTOMIZION COMPLETE------------------------------"
echo "-----------------------------------------------------------------------------"
Das nächste Skript sorgt für das Kopieren der bouquets.xml service.xml und der neutrino.conf. Das Skript muss "root-neutrino-local.sh" heißen.
#!/bin/sh

echo "-----------------------------------------------------------------------------"
echo "-------------------------START root-neutrino CUSTOMIZION --------------------"
echo "-----------------------------------------------------------------------------"

flashprefix=$1
buildprefix=$2
newroot=$flashprefix/root-neutrino
myfiles=/home/ubuntu/210806/ownfile

###Hier kann auch gleich die neutrino.conf mitkopiert werden####

cp $myfiles/neutrino.conf $newroot/var/tuxbox/config
cp $myfiles/bouquets.xml $newroot/var/tuxbox/config/zapit
cp $myfiles/services.xml $newroot/var/tuxbox/config/zapit




echo "-----------------------------------------------------------------------------"
echo "--------------------root-neutrino CUSTOMIZION COMPLETE-----------------------"
echo "-----------------------------------------------------------------------------"
Im vorletzten Skript werden die Sprachen gelöscht und ich habe noch den avia_av.o für die SPTS-Knackser mit aufgenommen. Das Skript muss "root-neutrino-jffs2-local.sh" heißen.
#!/bin/sh

echo "-----------------------------------------------------------------------------"
echo "---------------START root-neutrino-squashfs CUSTOMIZION ---------------------"
echo "-----------------------------------------------------------------------------"

flashprefix=$1
buildprefix=$2
newroot=$flashprefix/root-neutrino-jffs2
myfiles=/home/ubuntu/210806/ownfile

# alte httpd's löschen

rm -r $newroot/share/tuxbox/neutrino/httpd-alt2
rm -r $newroot/share/tuxbox/neutrino/httpd

####### Vorbereitung für SPTS KNACKSER################################

rm -f $newroot/lib/modules/2.4.32-dbox2/misc/avia_av.o
cp $myfiles/misc/* $newroot/lib/modules/2.4.32-dbox2/misc/

# Nukes all game plugins, as well as all locale files not listed in LANGUAGES

LANGUAGES="deutsch english"

for f in $newroot/lib/tuxbox/plugins/*.cfg; do
grep 'type=1' $f>/dev/null && rm -f $f
done



echo "-----------------------------------------------------------------------------"
echo "---------------root-neutrino-squashfs CUSTOMIZION COMPLETE-------------------"
echo "-----------------------------------------------------------------------------"
Zum SChluss werden die interfaces kopiert und zwar im Skript "var-neutrino-local.sh".
#!/bin/sh

echo "-----------------------------------------------------------------------------"
echo "----------------------START var-neutrino CUSTOMIZION-------------------------"
echo "-----------------------------------------------------------------------------"

flashprefix=$1
buildprefix=$2
newroot=$flashprefix/var-neutrino
myfiles=/home/ubuntu/210806/ownfile

# Netzwerk konfigurieren

cp $myfiles/interfaces $newroot/etc/network



echo "-----------------------------------------------------------------------------"
echo "---------------------var-neutrino CUSTOMIZION COMPLETE-----------------------"
echo "-----------------------------------------------------------------------------"
Wie gesagt, wichtig ist, dass Du Dir mal die Verzeichnisstruktur anschaust, sobald ein Image fertig erstellt worden ist. Dann merkt man auch, in welches dieser Skripte Änerdungen aufgenommen werden müssen.

Ich hoffe geholfen zu haben. Leider kann ich Dir nicht mit EINEM SKript dienen, das alles macht.

MfG
doktorknow
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Goil !
Das ist genau was ich wollte...

Ich habe vor ein paar Monaten das auch mal selbst versucht hatte es dann leider durch Zeitmangel und nicht-verstaendnis aufgegeben ;-)

Jetzt kann ich dank Dir und natuerlich Barf und allen anderen die beim Tuxbox Project mitmachen endlich mal weitermachen :D :D :D

Super Luxus waere dann jetzt natuerlich nur noch wenn man Variablen abfragen koennte z.B.:

1 make flash-semiclean ?
2 make mostlyclean ?
3 make distclean ?
Bitte Eingabe:

Danke & Ciao aus London ;-)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

@DoctorKnow oder Barf:

meine neutrino.sh sieht jetzt so aus:

Code: Alles auswählen

###rm /home/ubuntu/210806/tuxbox/cdkflash/*.*x###
rm -r /home/ubuntu/210806/tuxbox/cdkflash
cd /home/ubuntu/210806/cdk/

### You choose here your target, in this case mostelyclean ###

#make flash-semiclean
cd /home/ubuntu/210806/cdk/
make mostlyclean
#make distclean

cd /home/ubuntu/210806/cdk/

#### you choose here if you want to update only or completely re-download the whole CVS.####
cd /home/ubuntu/210806/cdk/

cvs up -f -r newmake -dP > cvs.log 2>&1

#cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -f -r newmake -P .

cd /home/ubuntu/210806/cdk/

./autogen.sh

cd /home/ubuntu/210806/cdk/

####prefix=The directorys "cdkflash", "cdkroot" "CDK" and "tftpboot" are created. Normally you choose "dbox2". I selected the following:#
cd /home/ubuntu/210806/cdk/
./configure --prefix=/home/ubuntu/210806/tuxbox --with-cvsdir=/home/ubuntu/210806/ --enable-maintainer-mode --enable-cdkVcInfo --enable-ide --with-ucodesdir=/home/ubuntu/210806/ucodes/ --with-checkImage=rename

###You could add the following to it --with-logosdir=/home/ubuntu/210806/logos/ --with-checkImage=rename######

cd /home/ubuntu/210806/cdk/

make flash-neutrino-jffs2-all
#make everything
Ich hatte deinen Vorschlag verwendet aber mein Hauptverzeichnis fuer den Imagebau ist 210806 und nicht 210806/tuxbox ;-)

die anderen files habe ich in ./210806/cdk 755 rechten abgelegt ...

Die anderen Sprachen sind aber immer noch drin und werden aber anscheinend ignoriert :gruebel:

EDIT: gerade gefunden ;-)

Code: Alles auswählen

for f in $newroot/share/tuxbox/neutrino/locale/*; do
    (echo $LANGUAGES | grep -v `basename $f .locale` >/dev/null) && rm -f $f
done
fehlte oben ;-)

Meine Interfaces ist auch nicht drin ...

und:

Code: Alles auswählen

cp $myfiles/misc/* $newroot/lib/modules/2.4.32-dbox2/misc/
Verstehe ich das richtig das er vorher das andere File loescht und dann von meinem Ownfile/misc den Avia Patch laedt ..?

Zwei Extra Fragen jetzt noch an Barf:

habe eine version-local.sh & flash-version-local.sh mit diesem Inhalt in home/ubuntu/210806/cdk/ erstellt:

Code: Alles auswählen

#/bin/sh

if [ $0 = ./flash-version-local.sh ] ; then
    outfile=$1/root/.version
    type="image"
else
    outfile=$1/.version
    type="jffs"
fi

echo Creating $outfile ...

echo "version=`./mkversion -snapshot -version 200`"      > $outfile
echo "creator=PT-1"                                     >> $outfile
echo "imagename=PT-1-$type"                             >> $outfile 
echo "homepage=http://home.arcor.de/pt-1"               >> $outfile
jetzt haut er mir .version in home/ubuntu/210806/tuxbox/cdkflash und erstellt aber keine .version im home/ubuntu/210806/tuxbox/cdkflash/root-neutrino-jffs2

das zweite ist das ubenennen script
1x neutrino-jffs2.img2x.sh und 1x neutrino-jffs2.img1x.sh

Inhalt jeweils:

Code: Alles auswählen

#!/bin/sh

flashprefix=$1
imagefile=`basename $0|sed -e s/-local.sh//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`
newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
cp $flashprefix/$imagefile $flashprefix/$newfilename
Ich schaetze das es beide male ein Pfad Problem ist aber leider steige ich da wieder mal nicht durch
:cry: :cry:
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

PT-1 hat geschrieben:@DoctorKnow oder Barf:

meine neutrino.sh sieht jetzt so aus:

Code: Alles auswählen

###rm /home/ubuntu/210806/tuxbox/cdkflash/*.*x###
rm -r /home/ubuntu/210806/tuxbox/cdkflash
cd /home/ubuntu/210806/cdk/

### You choose here your target, in this case mostelyclean ###

#make flash-semiclean
cd /home/ubuntu/210806/cdk/
make mostlyclean
#make distclean

cd /home/ubuntu/210806/cdk/
Updatet nur das cdk baum, nicht z.B. neutrino. cd /home/ubuntu/210806 wäre sinnvoller.

Code: Alles auswählen

#### you choose here if you want to update only or completely re-download the whole CVS.####
cd /home/ubuntu/210806/cdk/

cvs up -f -r newmake -dP > cvs.log 2>&1

#cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -f -r newmake -P .
Hier wurde ich

Code: Alles auswählen

rm -f cdk/root/etc/init.d/rcS cdk/root/etc/init.d/rcS.insmod
empfehlen, aus diesem Grund.

habe eine version-local.sh & flash-version-local.sh mit diesem Inhalt in home/ubuntu/210806/cdk/ erstellt:

Code: Alles auswählen

#/bin/sh

if [ $0 = ./flash-version-local.sh ] ; then

Code: Alles auswählen

`basename $0` = flash-version-local.sh
is sicherer. Benutze

Code: Alles auswählen

set -x

das zweite ist das ubenennen script
1x neutrino-jffs2.img2x.sh und 1x neutrino-jffs2.img1x.sh

Inhalt jeweils:

Code: Alles auswählen

#!/bin/sh

flashprefix=$1
imagefile=`basename $0|sed -e s/-local.sh//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`
newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
cp $flashprefix/$imagefile $flashprefix/$newfilename
Nochmals,

set -x

in code ist dein Freund.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

@PT-1: Ich hoffe, dass die gerade eingecheckte Dateien (in cdk/custiomization) mkversion, nukegames, nukelanguages am mindestens ein Teil deine Wünsche abdecken. Sollte ein bisschen mehr "robust" und einfach zu benutzen sein. Hoffentlich. Siehe http://tuxbox-forum.dreambox-fan.de/for ... &start=159
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

@Barf

Das CVS Update mache ich jetzt wie von dir vorgeschlagen nur ich verstehe die umbenennen Geschicht immer noch nicht...

Koenntest du oder jemand der mehr Ahnung davon hat als ich mir die noetigen Aenderungen etwas anders zu erklaeren..

Verstand Barfs Beispiel mit set -x ueberhaupt nicht....
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Verstand Barfs Beispiel mit set -x ueberhaupt nicht....
Von (z.B.) man sh:

-x Print commands and their arguments as they are executed.

Änderst du

Code: Alles auswählen

#!/bin/sh

flashprefix=$1
imagefile=`basename $0|sed -e s/-local.sh//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`
newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
cp $flashprefix/$imagefile $flashprefix/$newfilename 
in

Code: Alles auswählen

#!/bin/sh

set -x

flashprefix=$1
imagefile=`basename $0|sed -e s/-local.sh//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`
newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
cp $flashprefix/$imagefile $flashprefix/$newfilename 
bekommst du nützlige Debugmeldungen während des Ausführens. Dann sieht mann was schief geht und wo.
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Code: Alles auswählen

ubuntu@ubuntu:~/210806/cdk$ ./neutrino-jffs2.img1x.sh
+ flashprefix=
++ basename ./neutrino-jffs2.img1x.sh
++ sed -e s/-local.sh//
+ imagefile=neutrino-jffs2.img1x.sh
++ echo neutrino-jffs2.img1x.sh
++ sed -e s/.img.x//
+ imagefilebase=neutrino-jffs2.sh
++ echo neutrino-jffs2.img1x.sh
++ sed -e 's/[-a-z0-9]*.//'
+ extension=img1x.sh
++ date --iso-8601
+ newfilename=PT-1-neutrino-jffs2.sh-2006-09-05.img1x.sh
+ echo Copying /neutrino-jffs2.img1x.sh to /PT-1-neutrino-jffs2.sh-2006-09-05.img1x.sh...
Copying /neutrino-jffs2.img1x.sh to /PT-1-neutrino-jffs2.sh-2006-09-05.img1x.sh...
+ cp /neutrino-jffs2.img1x.sh /PT-1-neutrino-jffs2.sh-2006-09-05.img1x.sh
cp: cannot stat `/neutrino-jffs2.img1x.sh': No such file or directory
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

OK !!!
Habe es geschafft !

Code: Alles auswählen

#!/bin/sh

set -x

flashprefix=[color=red]/home/ubuntu/210806/tuxbox/cdkflash[/color]
imagefile=`basename $0|sed -e s/-local//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`
newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
cp $flashprefix/$imagefile $flashprefix/$newfilename
habe das $1 (flashprefix) mit der tatsaechlichen Position des Images ergaenzt

DANKE und werde gleich mal ne testen !
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

zu frueh gefreut...

Muss ich die neutrino-jffs2.img1x.sh den manuell selbst aufrufen oder sollte dies durch newmake geschehen ..?

PT-1
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

PT-1 hat geschrieben:zu frueh gefreut...

Muss ich die neutrino-jffs2.img1x.sh den manuell selbst aufrufen oder sollte dies durch newmake geschehen ..?

PT-1
sollte die nicht neutrino-jffs2.img1x-local.sh heißen?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

habe die files umbenannt aber immer noch keine Aenderung,..

Bekomme komischerweise auch in den letzten Tagen immer
check 'neutrino-jffs2.img2x' for bad magic bytes.
!!! If you flash this image these bytes cause 'no system' !!!
...

Werde eben diese files in meinem neutrino.sh aufrufen...
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

@Barf or anyone..

wie kann ich denn es jetzt lt. Barfs Info hinbekommen das durch die eingesetzten scripte am ende die Files dann noch umbenannt werden.


Soll ich diese mal per FTP zur verfuegung stellen...?
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

meine neutrino-squashfs.img1x-local.sh sieht so aus. Das Geheimnis mit den "Special images" - da sind die ucodes mit drin - deshalb kommt die zusatzmeldung.

Du mußt für jeden imagetyp ein eigenes skript machen

Code: Alles auswählen

#!/bin/sh

cdkfolder=/home/$USER/tuxbox-cvs/cdk

echo "------------------------start archiving 1x Squashfs Image----------------"
flashprefix=$1
imagefile=`basename $0|sed -e s/-local.sh//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`

if [ -e $cdkfolder/.special ]; then
	newfilename="Special-"$imagefilebase-`date --iso-8601`.$extension
	echo "Special Image - don't share"
else
	newfilename="Tommy-"$imagefilebase-`date --iso-8601`.$extension
fi

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
mv $flashprefix/$imagefile $flashprefix/$newfilename

echo "------------------------archiving 1x Squashfs Image done-----------------"
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Also nochmal meine Umgebung:

home/ubuntu/210806/ haealt mein CDK Verzeichnis
-apps
-boot
-cdk
-CVS
-CVSROOT
-diff
-driver
-hostapps
-ownfile
tuxbox ->worin meine Imgages gebaut werden
------------- tftpboot
------------- cdkroot
------------- cdkflash
--------------cdk
-ucodes


home/ubuntu/210806//tuxbox haelt das Verzeichnis wohin die Images gebaut werden.

In /home/ubuntu/210806/cdk habe ich die folgenden Dateien:
flash-version-local.sh

Code: Alles auswählen

#/bin/sh

if [ $0 = ./flash-version-local.sh ] ; then
    outfile=$1/root/.version
    type="image"
else
    outfile=$1/.version
    type="jffs"
fi

echo Creating $outfile ...

echo "version=`./mkversion -snapshot -version 200`"      > $outfile
echo "creator=PT-1"                                     >> $outfile
echo "imagename=PT-1-$type"                             >> $outfile 
echo "homepage=http://home.arcor.de/pt-1"               >> $outfile
neutrino-jffs2.img1x-local.sh

Code: Alles auswählen

#!/bin/sh

cdkfolder=/home/ubuntu/210806/cdk

echo "------------------------start archiving 2x JFFS2 Image----------------"
flashprefix=$1
imagefile=`basename $0|sed -e s/-local.sh//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`

if [ -e $cdkfolder/.special ]; then
   newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension
   echo "PT-1 Image - don't share"
else
   newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension
fi

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
mv $flashprefix/$imagefile $flashprefix/$newfilename

echo "------------------------archiving 1x JFFS2 Image done-----------------"
neutrino-jffs2.img2x-local.sh

Code: Alles auswählen

#!/bin/sh

cdkfolder=/home/ubuntu/210806/cdk

echo "------------------------start archiving 2x JFFS2 Image----------------"
flashprefix=$1
imagefile=`basename $0|sed -e s/-local.sh//`
imagefilebase=`echo $imagefile|sed -e s/\.img.x//`
extension=`echo $imagefile|sed -e s/[-a-z0-9]*\.//`

if [ -e $cdkfolder/.special ]; then
   newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension
   echo "PT-1 Image - don't share"
else
   newfilename="PT-1-"$imagefilebase-`date --iso-8601`.$extension
fi

echo Copying $flashprefix/$imagefile to $flashprefix/$newfilename...
mv $flashprefix/$imagefile $flashprefix/$newfilename

echo "------------------------archiving 1x JFFS2 Image done-----------------"
root-local.sh

Code: Alles auswählen

#!/bin/sh

echo "-----------------------------------------------------------------------------"
echo "-------------------------START root CUSTOMIZION -----------------------------"
echo "-----------------------------------------------------------------------------"

flashprefix=$1
buildprefix=$2
newroot=$flashprefix/root
myfiles=/home/ubuntu/210806/ownfile

# Mountverzeichnisse erstellen

mkdir $newroot/mnt/epg
mkdir $newroot/mnt/video
mkdir $newroot/mnt/music
mkdir $newroot/mnt/pictures
mkdir $newroot/mnt/plugins
mkdir $newroot/hdd/epg
mkdir $newroot/hdd/video
mkdir $newroot/hdd/music
mkdir $newroot/hdd/pictures
mkdir $newroot/hdd/plugins



echo "-----------------------------------------------------------------------------"
echo "----------------------root CUSTOMIZION COMPLETE------------------------------"
echo "-----------------------------------------------------------------------------" 
root-neutrino-jffs2-local.sh

Code: Alles auswählen

#!/bin/sh

echo "-----------------------------------------------------------------------------"
echo "---------------START root-neutrino-squashfs CUSTOMIZION ---------------------"
echo "-----------------------------------------------------------------------------"

flashprefix=$1
buildprefix=$2
newroot=$flashprefix/root-neutrino-jffs2
myfiles=/home/ubuntu/210806/ownfile

# alte httpd's löschen

rm -r $newroot/share/tuxbox/neutrino/httpd-alt2
rm -r $newroot/share/tuxbox/neutrino/httpd
rm -r $newroot/share/tuxbox/cables.xml

####### Vorbereitung für SPTS KNACKSER################################

rm -f $newroot/lib/modules/2.4.32-dbox2/misc/avia_av.o
cp $myfiles/misc/* $newroot/lib/modules/2.4.32-dbox2/misc/

# Nukes all game plugins, as well as all locale files not listed in LANGUAGES

LANGUAGES="deutsch english"

for f in $newroot/lib/tuxbox/plugins/*.cfg; do
grep 'type=1' $f>/dev/null && rm -f $f
done

for f in $newroot/share/tuxbox/neutrino/locale/*; do
    (echo $LANGUAGES | grep -v `basename $f .locale` >/dev/null) && rm -f $f
done



echo "-----------------------------------------------------------------------------"
echo "---------------root-neutrino-squashfs CUSTOMIZION COMPLETE-------------------"
echo "-----------------------------------------------------------------------------"
root-neutrino-local.sh

Code: Alles auswählen

#!/bin/sh

echo "-----------------------------------------------------------------------------"
echo "-------------------------START root-neutrino CUSTOMIZION --------------------"
echo "-----------------------------------------------------------------------------"

flashprefix=$1
buildprefix=$2
newroot=$flashprefix/root-neutrino
myfiles=/home/ubuntu/210806/ownfile

###You can also copy the neutrino.conf####

###cp $myfiles/neutrino.conf $newroot/var/tuxbox/config####
cp $myfiles/bouquets.xml $newroot/var/tuxbox/config/zapit
cp $myfiles/services.xml $newroot/var/tuxbox/config/zapit




echo "-----------------------------------------------------------------------------"
echo "--------------------root-neutrino CUSTOMIZION COMPLETE-----------------------"
echo "-----------------------------------------------------------------------------" 
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Ja und? gehts?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Sorry , nein...Dateien werden am Ende nicht umbenannt...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Uhh, das Umbenennen ist ja wirklich kein großes Problem. Z.B.
neutrino-jffs2.img2x-local.sh

Code: Alles auswählen

#!/bin/sh

flashprefix=$1
mv $flashprefix/neutrino-jffs2.img2x $flashprefix/neutrino-jffs2-`date --iso-8601`.img2x
dieses Beispiel läßt sich leicht zu andere Images ändern. Wird dem Leser als Übung überlassen :wink:

(Falls mann dagegen unbedingt ein Script haben will, dass unter mehre unterschiedliche Namen aufgerufen werden kann, und sein Name auswerten kann und ensprechend funktionieren, wird es natürlich etwas mehr kompliziert. Ist aber NICHT notwendig.)
PT-1 hat geschrieben:Also nochmal meine Umgebung:

...
flash-version-local.sh

Code: Alles auswählen

#/bin/sh

if [ $0 = ./flash-version-local.sh ] ; then
    outfile=$1/root/.version
    type="image"
else
    outfile=$1/.version
    type="jffs"
fi

echo Creating $outfile ...

echo "version=`./mkversion -snapshot -version 200`"      > $outfile
echo "creator=PT-1"                                     >> $outfile
echo "imagename=PT-1-$type"                             >> $outfile 
echo "homepage=http://home.arcor.de/pt-1"               >> $outfile
Warum nicht einfach

Code: Alles auswählen

#/bin/sh
outfile=$1/root/.version

echo Creating $outfile ...

echo "version=`./mkversion -snapshot -version 200`"      > $outfile
echo "creator=PT-1"                                     >> $outfile
echo "imagename=PT-1-jffs2"                             >> $outfile 
echo "homepage=http://home.arcor.de/pt-1"               >> $outfile

Code: Alles auswählen

mkdir $newroot/mnt/epg
mkdir $newroot/mnt/video
mkdir $newroot/mnt/music
mkdir $newroot/mnt/pictures
mkdir $newroot/mnt/plugins
Try the automounter...

Code: Alles auswählen

mkdir $newroot/hdd/epg
mkdir $newroot/hdd/video
mkdir $newroot/hdd/music
mkdir $newroot/hdd/pictures
mkdir $newroot/hdd/plugins
Sinnlos, weil /hdd mountpoint ist. Unterdirectories zu /hdd werden dadurch nicht zugänglig.

Code: Alles auswählen

LANGUAGES="deutsch english"

for f in $newroot/lib/tuxbox/plugins/*.cfg; do
grep 'type=1' $f>/dev/null && rm -f $f
done
lässt die *.so files. Benutze liber .../cdk/customization/nukegames, ist in CVS.

Code: Alles auswählen

for f in $newroot/share/tuxbox/neutrino/locale/*; do
    (echo $LANGUAGES | grep -v `basename $f .locale` >/dev/null) && rm -f $f
done
OK, CVS-nukelanguages wurde ich aber bevorziehen.