Howto: Erstellen eines kompletten Images

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
ALexH
Image-Team
Beiträge: 146
Registriert: Dienstag 10. September 2002, 20:25

Howto: Erstellen eines kompletten Images

Beitrag von ALexH »

Um ein cramfs- oder squashfs-Image zu erzeugen, sind jetzt nur noch folgende Schritte notwendig:

1. Verzeichnis für das CVS erstellen:
mkdir ~/tuxbox-cvs

2. CVS herunterladen:
cd ~/tuxbox-cvs
set CVS_RSH=ssh && cvs -d anoncvs@cvs.tuxbox-cvs.sourceforge.net:/cvs/tuxbox -z3 co -PA .

3. Überprüfen, ob auch wirklich alle benötigten Tools auf dem Rechner vorhanden sind:
less ~/tuxbox-cvs/cdk/doc/INSTALL.en
Zusätzlich werden mkcramfs, mksquashfs und fakeroot benötigt

4. Ziel-Verzeichnis anlegen:
mkdir ~/dbox2

5. In das tuxbox-cvs/cdk-Verzeichnis wechseln:
cd ~/tuxbox-cvs/cdk

6. Autogen starten:
./autogen.sh

7. Configure starten (user bitte durch den Namen des aktuellen Users ersetzen):
./configure --prefix=/home/user/dbox2 --with-cvsdir=/home/user/tuxbox-cvs --enable-maintainer-mode --disable-libcrypto --with-targetruleset=flash
Wichtig: Überprüfen, ob auch wirklich keine warnings wegen fehlenden Dateien zu sehen sind (die mklibs warning darf ignoriert werden)

8. Image compilieren lassen:
(Um ein cramfs-image zu compilieren, einfach jeweils "squashfs" durch "cramfs" ersetzen)
Um alle squashfs-images (neutrino und enigma mit jeweils 1x und 2x) zu bauen:
make flash-squashfsimages

Um ein neutrino-squashfs-image (1x und 2x) zu bauen:
make flash-squashfsneutrinoimages
(enigma entsprechend)

Um die squashfs-root-partitionen für neutrino und engima zu bauen:
make flash-squashfs

Um ein neutrino squashfs-root zu bauen:
make $HOME/dbox2/cdkflash/root-squashfs-neutrino.img
(enigma entsprechen)

Um ein komplettes neutrino-squashfs-image mit eigenen Änderungen zu bauen:
- make $HOME/dbox2/cdkflash/.flash-roneutrinoroot
(flash read only neutrino root)
- Nun eigene Änderungen nach in cdkflash/root vornehmen
- make flash-squashfsroot
- Das erstellte root-squashfs.img befindet sich anschließend in /home/user/dbox2/cdkflash
- Nach root-squashfs-neutrino.img umbenennen
- make flash-squashfsneutrinoimages


9. Nach dem erfolgreichen Compilieren sind die neuen Images im Verzeichnis ~/dbox2/cdkflash zu finden (cramfsjffs2*.img und squashfsjffs2*.img). Diese auf die Box laden und flashen.
Zuletzt geändert von ALexH am Samstag 5. Februar 2005, 23:53, insgesamt 1-mal geändert.
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

klasse..

habs zwar noch nicht testen können,
aber wenns läuft hilft es vielen..
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

Hi,

hier noch was, das mir aufgefallen ist:

Die Sachen von dvb-tools und ftpfs fehlen in den neutrino-images.
Damit das auch mitgenommen wird sollte in cdk/Makefile.am

Code: Alles auswählen

...
$(flashprefix)/.rojffs2neutrino: flash-neutrino flash-ftpd flash-plugins \
flash-lib $(flashprefix)/.root-roimg $(flashprefix)/var-jffs2.img \ 
$(flashprefix)/.cramfs-flfs $(flashprefix)/.squashfs-flfs
...
folgendermassen angepasst werden:

Code: Alles auswählen

...
$(flashprefix)/.rojffs2neutrino: flash-neutrino flash-ftpd flash-plugins \
flash-dvb-tools flash-ftpfs flash-lib $(flashprefix)/.root-roimg $(flashprefix)var-jffs2.img \
$(flashprefix)/.cramfs-flfs $(flashprefix)/.squashfs-flfs
...
Für "$(flashprefix)/.rojffs2enigma:..." fehlt entsprechend "flash-ftpfs" !

- GMo -
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

Hi,

bei weiteren Test fiel mir noch das hier auf:

die Fonts bluebold.ttf, bluehigh.ttf, md_khmurabi_10.ttf, pakenham.ttf und unmrs.pfa
fehlen bei den neutrino images im Verzeichnis "/share/fonts".

Um das zu ändern, müßte die "rule" $(flashprefix)/.part_neutrino: in "cdk/Makefile.am"
entsprechend angepasst werden.

- GMo -
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Am bresten macht man für die spezifischen sachen einen eigenen part - denn die Sachen hat nicht jeder im Image drin und meine versuche letzten Sommer waren ja nicht gut angekommen bei jemandem.....

Ich hab für den Teil meine Flash Rules erweitert auf part_zmisc und da den spezifischen Kram reingebaut da nicht jeder alles im Image haben will.


Riker
mws
Developer
Beiträge: 331
Registriert: Freitag 7. Februar 2003, 22:17

Beitrag von mws »

ich habe gestern mal den einen oder anderen angesprochen, ob er bereit wäre mitzuhelfen das cdk auf openembedded mit bitbaker umzustellen.

https://developer.berlios.de/projects/bitbake/
bzw.
http://www.openembedded.org

sind 2 ansatzpunkte, die man sich hierzu ansehen kann.

tmbinc hat das für die dm 7020 angepasst. auf der basis bin ich mal angefangen, das für die dbox2 zu bauen, bzw zu sehen _was_ alles
gemacht werden müsste.

vorteil dieser konstellation:

durch das erstellen von eigenen .bb files kann man verschiedene konstellationen bauen lassen.
beispiel:
a) kernel 2.4.27 gcc 3.3.5 libc ohne nptl
b) kernel 2.6.9 gcc 3.4.3 libc mit nptl

das ins jetzige cdk -useable- reinzubauen ist/wäre auch ein gewisser aufwand.

einen versuch ist es imho wert.

sollten noch weitere personen an dieser geschichte auf dauer mitarbeiten wollen, bitte per pn an mich.

gruss
mws
cu
mws
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

JtG-Riker hat geschrieben:Am bresten macht man für die spezifischen sachen einen eigenen part - denn die Sachen hat nicht jeder im Image drin und meine versuche letzten Sommer waren ja nicht gut angekommen bei jemandem.....
Riker
bei meinen Anmerkungen handelt es sich aber nicht um spezifische Sachen, denn sie werden zum fehlerfreien Gebrauch des images benötigt, z.B. die Fonts von "tuxcom", oder streamts aus dvb-tools für's streamen bzw. für remote-TV. Sind also elementare Sachen ...

- GMo -
Sat_Man
Einsteiger
Einsteiger
Beiträge: 351
Registriert: Donnerstag 24. Oktober 2002, 20:14

Beitrag von Sat_Man »

@gmo18t

Ich habe die fehlenden Sachen im Makefile.am mal eingebaut, sind jetzt im CVS.
Mfg Sat_Man
ALexH
Image-Team
Beiträge: 146
Registriert: Dienstag 10. September 2002, 20:25

Beitrag von ALexH »

Habe neue Makerules eingeführt, damit es auch möglich ist, nur das root (für updates) zu bauen oder eigene Änderungen vor dem Erstellen des Images zu machen. Habe dazu auch die Beschreibung oben aktualisiert.
Sat_Man
Einsteiger
Einsteiger
Beiträge: 351
Registriert: Donnerstag 24. Oktober 2002, 20:14

Re: Howto: Erstellen eines kompletten Images

Beitrag von Sat_Man »

ALexH hat geschrieben: 2. CVS herunterladen:
cd ~/tuxbox-cvs
set CVS_RSH=ssh && cvs -d anoncvs@cvs.tuxbox-cvs.sourceforge.net:/cvs/tuxbox -z3 co -PA .
Der Parameter -A ist überflüssig. :wink:
Mfg Sat_Man
powertrain
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Montag 14. Februar 2005, 19:59

mal ein paar fragen

Beitrag von powertrain »

erstmal hallo beisammen,

hab da mal ein paar fragen hab bis nun nur JFFS2 images erstellt.
und hab nun nach obiger methode ein image erstellt.

also ich steig noch nicht ganz durch beim Komplett Image mit eigenen anpassungen.

make $HOME/dbox2/cdkflash/.flash-roneutrinoroot
dann mach ich meine änderungen im $HOME/dbox2/cdkflash/root
make flash-squashfsroot
mv $HOME/dbox2/cdkflash/root-squashfs.img $HOME/dbox2/cdkflash/root-squashfs-neutrino.img
make flash-squashfsneutrinoimages

so nun mache ich änderung an der datei /etc/init.d/start
und start_neutrino ab
im image ist dann aber nur die start geändert und die start_neutrino
ist nach /var/etc/init.d gelinkt also habe ich die im root geändert
im image ist die änderung aber immer noch nicht drin

also dachte ich is ja in /var machste mit ftp
datei in /var/etc/init.d gelöscht und per FTP upload wollen
dann kommt no space left

wie kann ich die jffs2 grösse beeinflussen ??
root-squashfs-neutrino.img hat eine grösse von 4.825.088
var-jffs2.img hat eine grösse von 524.288

wie kann ich ich änderung an start_neutrino vornehmen
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

verdammte axt
bis make flash-squashfsneutrinoimages
lief alles wunderbar durch.
images landeten im verzeichnis.
jedoch bleibt meine drecks box bei loading kernel stehen.

Options:
1: Console on null
2: Console on ttyS0
3: Console on framebuffer
Select option (1-3), other keys to stop autoboot: 0
### FS (squashfs) loading 'vmlinuz' to 0x100000
SQUASHFS error: unsupported squashfs version 2.0
### FS LOAD ERROR<0> for vmlinuz!
......................................................................
Un-Protected 70 sectors
## Booting image at 00100000 ...
Bad Magic Number
=>

hatte die mksquashfs von yadi.org nach /usr/bin kopiert.
wo könnte denn das prob liegen?
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

* http://forum.tuxbox-cvs.sourceforge.net ... t=squashfs
* http://prdownloads.sourceforge.net/squa ... z?download

EDIT: Ich habe die Version 2.1 mal auf Yadi.org gelegt => http://yadi.org/disclaimer.php?file=mksquashfs_2.1
Bitte in mksquashfs umbenennen. ;)

Gruß
mogway
Gruss
mogway
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

danke...
ich probiers gleich mal aus
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Villeicht sollte man die sourcen mit einchecken unter hostapps

mkflfs und mklibs is ja auch da, kann man ja direkt bauen lassen, dann hat man immer die passenden Versionen.

Gruß Riker
gnome
Interessierter
Interessierter
Beiträge: 49
Registriert: Donnerstag 27. Mai 2004, 19:09

Beitrag von gnome »

Zusätzlich werden mkcramfs, mksquashfs und fakeroot benötigt
wo kommen mkcramfs und mksquashfs hin(verzeichniss) ??

fakeroot krieg ich mit apt-get install fakeroot?

geht das ganze auch unter knoppix?
was brauche ich noch bzw. was ist unter knoppix noch zubeachten?

danke

gnome
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

In eines dieser Verzeichnisse:
echo $PATH

Vorzugweise:
* /usr/local/bin
* ~/bin

Gruß
mogway
Gruss
mogway
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

@ALexH
Danke für die Arbeit die du dir da gemacht hast, so lässt das Imageerstellen keine Wünsche mehr offen. :D
vSaAmTp
Einsteiger
Einsteiger
Beiträge: 232
Registriert: Sonntag 17. März 2002, 22:14

Beitrag von vSaAmTp »

grgrgr...

cygwin läuft super durch.. fakeroot geht nicht, aber es läuft durch, und dann das:

This program cannot be run in DOS mode.
make: *** [flash-squashfsroot] Error 1
Um ein komplettes neutrino-squashfs-image mit eigenen Änderungen zu bauen:
- make $HOME/dbox2/cdkflash/.flash-roneutrinoroot
(flash read only neutrino root)
- Nun eigene Änderungen nach in cdkflash/root vornehmen
- make flash-squashfsroot
- Das erstellte root-squashfs.img befindet sich anschließend in /home/user/dbox2/cdkflash
- Nach root-squashfs-neutrino.img umbenennen
- make flash-squashfsneutrinoimages
so gemacht, fehler kommt nach make flash-squashfsroot
BOZKURT
Interessierter
Interessierter
Beiträge: 25
Registriert: Samstag 15. März 2003, 12:10

Beitrag von BOZKURT »

Danke hat wunderbar geklapt :wink:
BOZKURT
Interessierter
Interessierter
Beiträge: 25
Registriert: Samstag 15. März 2003, 12:10

Beitrag von BOZKURT »

[root@localhost cdk]# make flash-squashfsimages
( rm -rf u-boot-1.1.2 || /bin/true ) && bunzip2 -cd Archive/u-boot-1.1.2.tar.bz2 | TAPE=- tar -x && ( cd u-boot-1.1.2; patch -p1 < ../Patches/u-boot-1.1.2.diff)
patching file common/cmd_flash.c
patching file common/cmd_net.c
patching file common/cmd_nvedit.c
patching file common/devices.c
patching file common/env_common.c
patching file common/main.c
patching file common/Makefile
patching file cpu/mpc8xx/cpu_init.c
patching file cpu/mpc8xx/start.S
patching file fs/cramfs/cramfs.c
patching file fs/cramfs/uncompress.c
patching file fs/jffs2/compr_rtime.c
patching file fs/jffs2/compr_rubin.c
patching file fs/jffs2/compr_zlib.c
patching file fs/jffs2/jffs2_1pass.c
patching file fs/jffs2/mini_inflate.c
patching file fs/Makefile
patching file include/cmd_confdefs.h
patching file include/commproc.h
patching file include/cramfs/cramfs_fs.h
patching file include/devices.h
patching file include/flash.h
patching file include/jffs2/load_kernel.h
patching file include/lcd.h
patching file include/version.h
patching file lib_generic/crc32.c
patching file Makefile
patching file net/bootp.c
patching file net/net.c
patching file net/tftp.c
patching file tools/Makefile
ln: Erzeugen der symbolischen Verknüpfung „no/u-boot-config/u-boot.config“ zu „./u-boot.cdk.dbox2.h“: Datei oder Verzeichnis nicht gefunden
make: *** [.deps/u-boot] Fehler 1
[root@localhost cdk]#

warum gehts net mehr
SUPERMOD of BECERIKSIZLER
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Das cdk hat eine Emu-Erkennung :roll:
There are 10 types of people in the world: those who know binary and those who don't
Homar
Senior Member
Beiträge: 1278
Registriert: Mittwoch 5. September 2001, 00:00

Beitrag von Homar »

warum braucht mann überhaupt fakeroot für cygwin, da es eh mit ganz anderen rechten läuft...


Meist wird mann nicht als nonAdmin unter cygwin arbeiten und da ist mann ja faktisch root.
BOZKURT
Interessierter
Interessierter
Beiträge: 25
Registriert: Samstag 15. März 2003, 12:10

Beitrag von BOZKURT »

DieMade hat geschrieben:Das cdk hat eine Emu-Erkennung :roll:
ich habe aber kein emu eingebaut :D
SUPERMOD of BECERIKSIZLER
Disco1909
Interessierter
Interessierter
Beiträge: 78
Registriert: Montag 17. Mai 2004, 21:55

Beitrag von Disco1909 »

hallo,
ich will mich jetzt auch mal daransetzen ein image zu machen.
doch schon beim download des cvs kommt die fehlermeldung

set CVS_RSH=ssh && cvs -d anoncvs@cvs.tuxbox-cvs.sourceforge.net:/cvs/tuxbox -z3 co -P

cvs [checkout aborted]: must specify at least one module or directory

ich hab kanotix vom januar drauf.
vielleicht kann mir einer weiterhelfen.
Danke

Gruß
Disco1909
Gruss
Disco1909