Flashtargets in Makefile umgeschrieben

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
nessus

Beitrag von nessus »

Nö,

ob nun oder aus spielt bei meiner Sagem keine Rolle, nur bei HWS=ein ruckt und zucke mein Bild.

nessus
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Beitrag von MarcM »

...dann mach mal den enx_watchdog auch noch aus.....8)

Marc
nessus

Beitrag von nessus »

So,

also HW ein ENX aus, Sgaem bootet imme noch ohne Probleme. was jetzt kommt sind:
avia_gt_dmx: queue 31 overflow (count: 1)
avia_gt_ucode: framer error
avia_gt_dmx: queue 31 overflow (count: 1)
........
HW aus und alles ist wieder in Butter. Oder habe ich hier was nicht ganz verstanden? Poste mal Deine Einstellunges des Menüs zum Vergleich.

nessus
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

... stell mal alles auf "aus" !!! (zumindest hwsections,avia_watchdog und enx_watchdog)
... da hab ich dann bei der nokia das boot-problem ...
cu token
sagem-avia600_enx-1xi-cable-telecom
nessus

Beitrag von nessus »

Komisch,

habe es eben auch einer Sagem und Nokia ausprobiert und auf beiden das gleiche. Sie booten ohne Probleme, was ich halt dann auf beiden bekomme ist:
avia_gt_dmx: queue 31 overflow (count: 1)
avia_gt_ucode: framer error
nessus
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Beitrag von MarcM »

sehr seltsam,

wie aktuell ist dein CDK ? und was hast du noch zusätlich geändert ? evtl. ne neue Busybox ?

Marc
nessus

Beitrag von nessus »

CDK ist von gestern. Ich habe nur mmc hinzugefügt. Keine neue Busybox.

Bin gerade am neu auschecken und eimal alles ganz von vorn. Ich sag dann später nochmal bescheid.

nessus
nessus

Beitrag von nessus »

Ok,

jetzt habe ich es auch (Nokia und Sagem) :-( Keine Ahnung was vorher anders war!?
HW aus und alles geht wieder (aviaXYZ aus).

nessus
Token
Einsteiger
Einsteiger
Beiträge: 383
Registriert: Sonntag 7. April 2002, 14:29

Beitrag von Token »

... nessus ... hw=ein funktioniert (meintest du jetzt aber - oder) ?
... weil, wenn beides aus ist, bootet er nicht mehr !
cu token
sagem-avia600_enx-1xi-cable-telecom
StevenSch
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Mittwoch 20. Oktober 2004, 12:41

Beitrag von StevenSch »

Ich will mich mal ein wenig ins Projekt einbringen und habe die init_hdd.sh für xfs/ext2/ext2 angepasst. In der rcS wird jetzt geprüft ob IDE überhaupt aktiv ist. Dabei habe ich mich vom komfortabel funktionieren jtg-image leiten lassen - wenn etwas gut funktioniert muss es schließlich nicht 2x erfunden werden.

IDE aktivieren: init_hdd.sh über telnet starten
Zusätzlich müssen aus fstab die mount-Zeilen für die HDD gelöscht werden. da der mount nun durch die rcS oder init_hdd.sh durchgeführt wird.


init_hdd.sh:

Code: Alles auswählen

#! /bin/sh

# This script creates a new partition on the disk $HDD,
# partition 1 is a 100 MB swap partition (presently not used),
# partition 2 is the rest of the disk.
# The partitions will be properly initialized.

# Needless to say, this script will nuke all data on the disc.

HDD0=/dev/ide/host0/bus0/target0/lun0
#HDD1=/dev/ide/host0/bus0/target1/lun0

if [ -e /var/etc/.ide ];then
  echo ""
else
  touch /var/etc/.ide
  echo "IDE-Support enabled, its required to restart your dbox"
  exit 1
fi

echo "This command will initialize you hard disk. It will irrevocably"
echo "ERASE ALL DATA on the disk!! If this is what you want to do,"
echo "enter 'Yes' to continue."

read ans
if [ $ans = "Yes" ] ; then
    echo Continuing...
else
    echo "Bye!"
    exit 1
fi

rm /var/etc/.ext2 /var/etc/.ext3 /var/etc/.xfs
umount /hdd
swapoff /dev/ide/host0/bus0/target0/lun0/part1
sleep 3
sfdisk /dev/ide/host0/bus0/target0/lun0/disc << EOF
,128,S
,,L
EOF

# Create the partition label
fdisk $HDD0/disc << EOF
o
n
p
1
1
+100M
n
p
2



t
1
82
p
w
q
EOF

if [ $? -ne 0 ] ; then
    echo "Partitioning failed, aborting"
    exit 1
fi

# Initialize the swap partition
echo "Now initializing the swap partition."
mkswap $HDD0/part1

echo "To create the filesystem xfs press '1'"
echo "To create the filesystem ext2 press '2'"
echo "To create the filesystem ext3 press '3'"

read ans

if [ $ans = "1" ] ; then
  # Create the files system (often incorrectly called "formatting").
  echo "Now creating the file xfs system. This may take a few minutes."
  
  mkfs.xfs -l version=2 -f $HDD0/part2
  insmod xfs
  mount -t xfs $HDD0/part2 /hdd		
  touch /var/etc/.xfs
  
elif [ $ans = "2" ] ; then
  # Create the files system (often incorrectly called "formatting").
  echo "Now creating the file ext2 system. This may take a few minutes."

  mkfs.ext2 -T largefile -m0 $HDD0/part2
  insmod ext2
  mount -t ext2 $HDD0/part2 /hdd
  touch /var/etc/.ext2
  
elif [ $ans = "3" ] ; then
  # Create the files system (often incorrectly called "formatting").
  echo "Now creating the file ext3 system. This may take a few minutes."

  mkfs.ext3 -T largefile -m0 $HDD0/part2
  insmod jbd
  insmod ext3
  mount -t ext3 $HDD0/part2 /hdd
  touch /var/etc/.ext3
  
else
    echo "Bye!"
    exit 1
fi
rcS

Code: Alles auswählen

#!/bin/sh
# This file was automatically generated from rcS.m4
#
PATH=/sbin:/bin
IM=/sbin/insmod
MD=/lib/modules/$(uname -r)/misc

#modified for extended IDE
HDD0=/dev/ide/host0/bus0/target0/lun0 
HDD1=/dev/ide/host0/bus0/target1/lun0 

# extract kernel minor without using cut
OLD_IFS=$IFS
IFS='.'
get_second() { echo $2; }
KMINOR=`get_second $(uname -r)`
IFS=$OLD_IFS

if [ $KMINOR -ge 6 ]; then
	if [ ! -d /dev/pts ]; then
		# create necessary nodes,
		# static for now
		mkdir /dev/pts
		mknod /dev/tty c 5 0
		mknod /dev/tty0 c 4 0
		mknod /dev/tty1 c 4 1
		mknod /dev/tty2 c 4 2
		mknod /dev/tty3 c 4 3
		mknod /dev/ptmx c 5 2

		mknod /dev/urandom c 1 9
		mknod /dev/random c 1 8

		# this is fragile because
		# it's module load order
		# dependent
		mkdir /dev/dbox
		mknod /dev/dbox/avs0 c 10 60
		mknod /dev/dbox/event0 c 10 63
		mknod /dev/dbox/fp0 c 10 62
		mknod /dev/dbox/lcd0 c 10 59
		mknod /dev/dbox/saa0 c 10 58
		mknod /dev/dbox/dvb2eth c 10 57
		mknod /dev/dbox/aviaEXT c 10 56

		mknod /dev/watchdog c 10 130
		mknod /dev/lirc c 10 61

		mkdir /dev/dvb
		mkdir /dev/dvb/adapter0
		mknod /dev/dvb/adapter0/audio0 c 212 1
		mknod /dev/dvb/adapter0/ca0 c 212 6
		mknod /dev/dvb/adapter0/ca1 c 212 22
		mknod /dev/dvb/adapter0/demux0 c 212 4
		mknod /dev/dvb/adapter0/dvr0 c 212 5
		mknod /dev/dvb/adapter0/frontend0 c 212 3
		mknod /dev/dvb/adapter0/net0 c 212 7
		mknod /dev/dvb/adapter0/video0 c 212 0
		
		mknod /dev/fb0 c 29 0

		mkdir /dev/fb
		ln -sf /dev/fb0 /dev/fb/0
		
		mkdir /dev/vc
		ln -sf /dev/tty0 /dev/vc/0
		
		mkdir /dev/v4l
		mknod /dev/v4l/video0 c 81 0
		
		mkdir /dev/sound
		mknod /dev/sound/dsp c 14 3
		mknod /dev/sound/mixer c 14 0
		mknod /dev/sound/mixer1 c 14 16
		
		mkdir /dev/input
		mknod /dev/input/event0 c 13 64
		mknod /dev/input/mice c 13 63
	fi
	mount /dev/pts
fi

# Mount file systems in /etc/fstab
mount -a

if [ -e /var/etc/.ide ] ; then
  # If appropriate, load ide drivers and file system drivers
  if [ $KMINOR -ge 6 ]; then
	  # kernel 2.6
	  if [ -e /lib/modules/$(uname -r)/extra/ide/dboxide.ko ] ; then
		  $IM $MD/dboxide.o 
	  fi
  else
	  # kernel 2.4
	  if [ -e /lib/modules/$(uname -r)/misc/dboxide.o ] ; then
	    $IM $MD/ide-core.o 
	    $IM $MD/dboxide.o 
	    $IM $MD/ide-detect.o 
	    $IM $MD/ide-disk.o 
      #modified for extended IDE
      #SWAP & HDD 
      if [ -e /var/etc/.swap ] ; then
        swapon $HDD0/part1
      fi
      if [ -e /var/etc/.ext2 ]; then
        $IM $MD/ext2.o
        mount -t ext2 $HDD0/part2 /hdd 
      fi
      if [ -e /var/etc/.ext3 ]; then
        $IM $MD/jbd.o 
  		  $IM $MD/ext3.o
  		  mount -t ext3 $HDD0/part2 /hdd 
      fi
      if [ -e /var/etc/.xfs ]; then
  		  $IM $MD/xfs.o 
    	  mount -t xfs $HDD0/part2 /hdd		
      fi
    fi
  fi
  if [ -e /var/tuxbox/config/target0.hdparm ]; then
	  hdparm "`cat /var/tuxbox/config/target0.hdparm`" /dev/ide/host0/bus0/target0/lun0/disc
  fi
  if [ -e /var/tuxbox/config/target1.hdparm ]; then
	  hdparm "`cat /var/tuxbox/config/target1.hdparm`" /dev/ide/host0/bus0/target1/lun0/disc
  fi
fi

# Set time zone etc
. /etc/profile
  
# Setup hostname
hostname -F /etc/hostname
ifup -a

if test -x /sys ; then
	mount /sys
fi

$IM $MD/event.o  
$IM $MD/tuxbox.o 

# Get info about the current box
VENDOR=`/bin/tuxinfo -V`
VENDOR_ID=`/bin/tuxinfo -v`
MODEL=`/bin/tuxinfo -M`
MODEL_ID=`/bin/tuxinfo -m`
SUBMODEL=`/bin/tuxinfo -S`
SUBMODEL_ID=`/bin/tuxinfo -s`

echo "Detected STB:"
echo "	Vendor: $VENDOR"
echo "	Model: $MODEL $SUBMODEL"

$IM $MD/dvb-core.o dvb_shutdown_timeout=0

if [ $MODEL_ID -eq 2 ]; then
	# Dreambox, not supported
	echo "For the Dreambox, please use another version"
	exit 1
fi

if [ $KMINOR -ge 6 ]; then
	# kernel 2.6

		
	$IM $MD/dbox2_i2c.o 
	$IM $MD/dbox2_napi.o 

	$IM $MD/dbox2_fp_input.o 

	$IM $MD/avia_gt_fb.o 
	$IM $MD/avia_gt_lirc.o 
	$IM $MD/avia_gt_oss.o 
	$IM $MD/avia_gt_v4l2.o 

	$IM $MD/avs.o 
	$IM $MD/lcd.o 
	$IM $MD/saa7126.o 
	$IM $MD/dvb2eth.o 
	$IM $MD/aviaEXT.o 
else
	# kernel 2.4

	# I2C core
	$IM $MD/dbox2_i2c.o 

	# Frontprocessor
	$IM $MD/dbox2_fp.o 
	if [ -e /var/etc/.oldrc ]; then
    	    $IM $MD/dbox2_fp_input.o disable_new_rc=1
	elif [ -e /var/etc/.newrc ]; then
		$IM $MD/dbox2_fp_input.o.o disable_old_rc=1
	else
    	$IM $MD/dbox2_fp_input.o 
	fi

	# Misc IO
	$IM $MD/avs.o 
	$IM $MD/saa7126.o 

	# Frontends
	if [ $VENDOR_ID -eq 1 ]; then
		# Nokia
		$IM $MD/ves1820.o 
		$IM $MD/ves1x93.o board_type=1
		$IM $MD/cam.o mio=0xC000000 firmware=/var/tuxbox/ucodes/cam-alpha.bin
	elif [ $VENDOR_ID -eq 2 ]; then
		# Philips
		if [ -e /var/etc/.tda80xx.o ]; then
	$IM $MD/tda80xx.o 
else
	$IM $MD/tda8044h.o 
fi
		$IM $MD/cam.o mio=0xC040000 firmware=/var/tuxbox/ucodes/cam-alpha.bin
	elif [ $VENDOR_ID -eq 3 ]; then
		# Sagem
		$IM $MD/at76c651.o 
		$IM $MD/ves1x93.o board_type=2
		$IM $MD/cam.o mio=0xC000000 firmware=/var/tuxbox/ucodes/cam-alpha.bin
	fi

	$IM $MD/dvb_i2c_bridge.o 

	$IM $MD/avia_napi.o 
	$IM $MD/cam_napi.o 
	$IM $MD/dbox2_fp_napi.o 

	# Possibly turn off the watchdog on AVIA 500
	if [ -e /var/etc/.no_watchdog ]; then
	$IM $MD/avia_av.o firmware=/var/tuxbox/ucodes no_watchdog=1
else
	$IM $MD/avia_av.o firmware=/var/tuxbox/ucodes
fi

	# Bei Avia_gt hw_sections und nowatchdog abfragen
	GTOPTS=""
	if [ -e /var/etc/.hw_sections ]; then
	GTOPTS="hw_sections=0 "

fi
	if [ -e /var/etc/.no_enxwatchdog ]; then
	GTOPTS="${GTOPTS}no_watchdog=1 "

fi

	$IM $MD/avia_gt.o ucode=/var/tuxbox/ucodes/ucode.bin $GTOPTS
  
	$IM $MD/avia_gt_fb.o console_transparent=0
	$IM $MD/lcd.o 
	$IM $MD/avia_gt_lirc.o 
	$IM $MD/avia_gt_oss.o 
	$IM $MD/avia_gt_v4l2.o 

	$IM $MD/avia_av_napi.o 
	if [ -e /var/etc/.spts_mode ]; then
	$IM $MD/avia_gt_napi.o mode=1
			$IM $MD/dvb2eth.o 
else
	$IM $MD/avia_gt_napi.o 
fi

	$IM $MD/aviaEXT.o 
fi

# Create a telnet greeting
echo "$VENDOR $MODEL - Kernel %r (%t)." > /etc/issue.net

# compatibility links
if [ $KMINOR -lt 6 ]; then
	# compatibility links
	ln -sf demux0 /dev/dvb/adapter0/demux1
	ln -sf dvr0 /dev/dvb/adapter0/dvr1
	ln -sf fb/0 /dev/fb0
fi

if [ ! -d /var/etc ] ; then
    mkdir /var/etc
fi

if [ -e /sbin/syslogd ]; then
	if [ ! -d /var/log ]; then
		mkdir /var/log
	fi
	/sbin/syslogd
fi
if [ -e /var/tuxbox/config/lirc/lircd.conf ]; then
	lircd /var/tuxbox/config/lirc/lircd.conf
fi
if [ -x /bin/loadkeys ]; then
	/bin/loadkeys /share/keymaps/i386/qwertz/de-latin1-nodeadkeys.kmap.gz
fi
if [ -x /sbin/inetd ]; then
	/sbin/inetd 
fi
if [ -e /sbin/sshd ]; then
	/etc/init.d/start_sshd &
fi
if [ -x /sbin/dropbear ]; then
	/sbin/dropbear 
fi
if [ -e /sbin/automount ]; then
	/etc/init.d/start_automount 
fi
if [ -e /bin/djmount ]; then
	/etc/init.d/start_upnp 
fi
if [ -e /var/etc/.boot_info ]; then
	if [ -x /bin/cdkVcInfo ]; then
	/bin/cdkVcInfo 
fi

fi

# Start the nfs server if /etc/exports exists
if [ -e /etc/exports ]; then
	$IM $MD/nfsd.o 
	pidof portmap >/dev/null || portmap
	exportfs -r
	rpc.mountd
	rpc.nfsd 3 
fi	

#Start the samba server if /var/etc/.sambaserver and /etc/smb.conf.dbox exist
if [ -e /var/etc/.sambaserver ]; then
	if [ -e /etc/smb.conf -a -x /bin/nmbd -a -x /bin/smbd ]; then
		/bin/nmbd -D
		/bin/smbd -D -a -s /etc/smb.conf
	fi

fi

if [ -e /var/etc/.tuxmaild ]; then
	tuxmaild

fi
if [ -e /var/etc/.tuxcald ]; then
	tuxcald

fi
if [ -e /var/etc/.rdate ]; then
	rdate time.fu-berlin.de

fi
if [ -e /var/etc/.initialize ]; then
	/etc/init.d/initialize && rm /var/etc/.initialize

fi

if [ -e /var/etc/init.d/rcS.local ]; then
	. /var/etc/init.d/rcS.local
elif [ -e /etc/init.d/rcS.local ]; then
	. /etc/init.d/rcS.local
fi
Weitere Verbesserungen sind willkommen !!
Nero
Interessierter
Interessierter
Beiträge: 38
Registriert: Freitag 25. August 2006, 14:10

Beitrag von Nero »

Nero hat geschrieben:
fran hat geschrieben:Habe mal xfs hinzugefügt. Da die Images bisweilen sehr groß werden (+ca. 1,3MB), gibt's noch die Option --disable-ext3. Ein make-clean und rm cdkroot/etc/init.d/rcS zum Erstellen der Yadd und der Images sollte ausreichen.

Hoffe, ich habe nichts zerschossen, da dies meine ersten Commits sind.
Danke, tolle Arbeit ...

Das make ist durchgelaufen, ob alles funktioniert wird später getestet ... :)

Gruß Nero
Hi,

so habs getestet, aber ich hab mal ne Frage:
Wie groß sind bei euch die Files für die XFS-Sachen ?

xfs.o hat so ca. 550kb scheint auch OK, aber
xfs_repair = 1,4 MB :o
mkfs.xfs = 880 kB :o

Die sollten doch nur halb so groß sein, oder ?
Hat jemand eine Idee was da schief geht ?

Gruß Nero
fran
Interessierter
Interessierter
Beiträge: 64
Registriert: Mittwoch 26. April 2006, 09:44

Beitrag von fran »

Vermutlich hast du auf die ungestrippten Dateien im cdkroot-Verzeichnis geschaut. Unter cdkflash habe ich Dateigrößen, wie unter http://wiki.tuxbox-cvs.sourceforge.net/Newmake angegeben
Nero
Interessierter
Interessierter
Beiträge: 38
Registriert: Freitag 25. August 2006, 14:10

Beitrag von Nero »

fran hat geschrieben:Vermutlich hast du auf die ungestrippten Dateien im cdkroot-Verzeichnis geschaut. Unter cdkflash habe ich Dateigrößen, wie unter http://wiki.tuxbox-cvs.sourceforge.net/Newmake angegeben
Hallo fran,

die Größen im Wiki gefallen mir schon besser :D

Es sieht so aus als werden die bei mir nicht gestrippt, allerdings sind die auch gleich im cdkflash und nicht in cdkroot :gruebel:
Was geht denn da schief ?
Gruß Nero
fran
Interessierter
Interessierter
Beiträge: 64
Registriert: Mittwoch 26. April 2006, 09:44

Beitrag von fran »

hier die Dateigrößen:

362../../cdkroot-/sbin/fsck.xfs
861250../../cdkroot-/sbin/mkfs.xfs
1435760../../cdkroot-/sbin/xfs_repair

861250../../cdkflash-/root/sbin/mkfs.xfs
1435760../../cdkflash-/root/sbin/xfs_repair

301236../../cdkflash-/root-neutrino-squashfs/sbin/mkfs.xfs
544028../../cdkflash-/root-neutrino-squashfs/sbin/xfs_repair

Entscheidend sind die unter cdkflash-/root-neutrino-squashfs/sbin.
fran
Interessierter
Interessierter
Beiträge: 64
Registriert: Mittwoch 26. April 2006, 09:44

Beitrag von fran »

Bei den Samba server-Targets sind die Zeilen für die symlinks-Generierung entfernt worden, da diese bei squashfs images über das Target root-neutrino-squashfs automatisch angelegt werden. Bitte in den Customization-Skripten berücksichtigen, d.h die smb.conf in $(flashprefix)/root/etc über root-local.sh oder in $(flashprefix)/var-neutrino/etc über var-neutrino.sh modifizieren.
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi fran

Ich bin die Sache nunmal mit Nero durchgegangen.
Bei ihm sieht es so aus:

hier die Dateigrößen:

861250../../cdkroot/sbin/mkfs.xfs
1435760../../cdkroot/sbin/xfs_repair

861250../../cdkflash/root/sbin/mkfs.xfs
1435760../../cdkflash/root/sbin/xfs_repair

861250../../cdkflash/root-neutrino-squashfs/sbin/mkfs.xfs
1435760../../cdkflash/root-neutrino-squashfs/sbin/xfs_repair

Ich kann mir nicht erklären warum beim Zusammenstellen von root-neutrino-squashfs die XFS Sachen nicht gestrippt werden.
Auf meinem System funktioniert das einwandfrei.

Hasst Du vieleicht noch eine Idee woran das liegen könnte?

Gruß
flasher
fran
Interessierter
Interessierter
Beiträge: 64
Registriert: Mittwoch 26. April 2006, 09:44

Beitrag von fran »

was sagt denn ein nachträglicher strip:

cdk/bin/powerpc-tuxbox-linux-gnu-strip --remove-section=.comment --remove-section=.note cdkflash/root-neutrino-squashfs/sbin/mkfs.xfs

fran
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi

Auf dem System von Nero ist wohl etwas Buggy. Ich denke mal, dass es am gcc liegt.
Ein: export MALLOC_CHECK_=0 hat geholfen.
Das ist natürlich kein optimaler Workaround aber der Fehler wurde gefunden.

Gruß
flasher
Nero
Interessierter
Interessierter
Beiträge: 38
Registriert: Freitag 25. August 2006, 14:10

Beitrag von Nero »

flasher hat geschrieben:Hi

Auf dem System von Nero ist wohl etwas Buggy. Ich denke mal, dass es am gcc liegt.
Ein: export MALLOC_CHECK_=0 hat geholfen.
Das ist natürlich kein optimaler Workaround aber der Fehler wurde gefunden.

Gruß
flasher
So ist es ...
Ich werd mal versuchen eine andere Version zu installieren.
Zur Info:

Code: Alles auswählen

gcc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5)
Copyright (C) 2006 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE ZWECKE.
Wenn es dann geht, lag es am gcc :)

Jedenfalls geht es nun erstmal mit:

Code: Alles auswählen

export MALLOC_CHECK_=0 
Vielen Dank fran und flasher

Gruß Nero
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Wenn Du einen neuen gcc installierst, musst Du wohl auch den crosscompiler neu bauen.
Also am besten ein make distclean && make flash-neutrino-all

Gruß
flasher
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hallo

Als erstes muss ich wohl noch auf Fran eingehen.
Ein manuelles Strippen in der root-local.sh hat funktioniert.
mkfs.xfs und xfsrepair sind nun so wie sie sein sollten.

Ich habe aber noch ein anderes Problem.
Bei mir werden die nötigen Libs nicht kopiert.
libuuid und libsrt werden zwar in cdkroot/lib abgelegt aber nicht in cdkflash/root/lib

Jetzt habe ich es per root-local.sh gemacht. Die Dateien werden auch kopiert und die Symlinks wie im Makefile angegeben auch erstellt.
Nur leider verbleiben die Libs dort und werden nicht mit ins Image übernommen.

Also in root-neutrino-squashfs/libs stehen die Sachen nicht drin.

Habe ICH mal wieder ein Problem oder ist das generell so und man muss das anders machen?

Gruß
flasher
fran
Interessierter
Interessierter
Beiträge: 64
Registriert: Mittwoch 26. April 2006, 09:44

Beitrag von fran »

Was zeigt ein root-neutrino-squashfs/sbin/mkfs.xfs | grep libuuid.so ?

Fehlt der String, dann wird beim reduce_libs auch keine library nach root-neutrino-squashfs kopiert. Beim Kompilieren von mkfs.xfs muß aber sichergestellt sein, daß er die Library findet (in cdkroot/lib, gilt auch beim flash ruleset). Hab es leider auch nicht geschafft, beim flash target include und lib-Dateien nach cdkflash zu installieren und mkfs.xfs diese dann dort finden zu lassen. Deshalb ist in der flash rule auch targetprefix überall angegeben.
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi

Wenn ich das jetzt richtig verstanden habe, dann kommt man nicht darum herum die libs manuell per CustomScript ins Image zu kopieren?

Gruß
fran
Interessierter
Interessierter
Beiträge: 64
Registriert: Mittwoch 26. April 2006, 09:44

Beitrag von fran »

Was ich jetzt nicht ganz verstehe: Hast du aktuell mit dem newmake cvs ein Problem, wenn du xfs ins Image mit reinnimmst? Oder geht es um Änderungen, die du lokal gemacht hast, und das ganze klappt jetzt nicht mehr? Falls letzteres, könntest du ja mal die Änderungen posten.
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi

generell habe ich das Problem, dass wenn ich ein Image mit XFS baue ich xfs_repair nicht aufrufen kann da es folgende Meldung gibt:
/var # xfs_repair -v /dev/ide/host0/bus0/target0/lun0/part2
xfs_repair: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
/var #
Ich erkenne den Grund nicht warum dieses Lib nicht ins Image kopiert wird.
Bzw. Im Makefile steht ja, dass die Lib auch beim flashtarget nur ins cdkroot kopiert wird.

Daher habe ich mir ein custom script geschrieben, welches mir die nötigen Sachen ins Image holt und stripped.
Das sieht dann so aus.

$1 und $2 kommen aus root-neutrino-squashfs-local.sh.
Dort rufe ich dieses Script auf.

Code: Alles auswählen

CDKFLASH=$1/lib
CDKROOT=$2/cdkroot/lib
HOSTPREFIX=$2/cdk

cp $CDKROOT/libuuid.so.1.2 $CDKFLASH/libuuid.so.1.2
cp $CDKROOT/librt-2.3.6.so $CDKFLASH/librt-2.3.6.so

$HOSTPREFIX/bin/powerpc-tuxbox-linux-gnu-strip --remove-section=.comment --remove-section=.note $CDKFLASH/libuuid.so.1.2
$HOSTPREFIX/bin/powerpc-tuxbox-linux-gnu-strip --remove-section=.comment --remove-section=.note $CDKFLASH/librt-2.3.6.so

cd $CDKFLASH
ln -s libuuid.so.1.2 libuuid.so.1
ln -s libuuid.so.1 libuuid.so
ln -s librt-2.3.6.so librt.so.1
ln -s librt.so.1 librt.so
So funktioniert das auch.

Erst hatte ich versucht, die Lib in cdkflash/root zu kopieren (root-local.sh).
Dort befinden sich ja auch die Libs für lufs. Also warum librt nicht auch dahin kopieren.

Nur wird die Lib bei der Zusammenstellung nicht in das Image übernommen. Was ich seltsam finde, da die lufs Libs ja auch ins Image kommen.
Soll heissen in cdkflash/root/lib steht alles aber in cdkflash/root-neutrino-local/lib fehlt die Lib incl. den Symlinks.
Desshalb blieb mir nicht anderes überig als das in root-neutrino-squashfs-local.sh zu machen.

Ich hoffe, dass ich das jetzt etwas verständlicher ausgedrückt habe.

Oder kurz: Die Libs werden nicht ins Image kopiert ;)

Gruß
flasher