U-Boot updates

Diskussionen um Bootloader, Kernel, Busybox
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Bitte nochmal herunterladen, Yadd Kernel 2.4 funktioniert inkl. logo-Dateien
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

@Houdini:

U-Boot 1.2.0 + Kernel 2.4:
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:xx:xx:xx
U-Boot 2009.06 + Kernel 2.4, Yadd + Flash:
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:00:00:00:00:00
Tritt das bei Dir auch auf?

PS: http://www.denx.de/wiki/view/DULG/Ether ... orkInLinux

PPS: Mit U-Boot 2008.10 hat es noch funktioniert.
Mit U-Boot 2009.06 erhält mein DHCP-Server folgende Requests:
Jul 13 15:21:55 server dhcpd: BOOTREQUEST from 00:50:9c:xx:xx:xx via eth0
Jul 13 15:21:55 server dhcpd: BOOTREPLY for 192.168.1.4 to dbox (00:50:9c:xx:xx:xx) via eth0
Jul 13 15:21:56 server in.tftpd[20494]: connect from 192.168.1.4 (192.168.1.4)
Jul 13 15:21:56 server tftpd[20495]: tftpd: trying to get file: /root/tuxbox/work_uclibc/image/tftpboot/u-boot
U-Boot wird zur Dbox gesendet
Jul 13 15:22:08 server dhcpd: DHCPDISCOVER from 00:50:9c:xx:xx:xx via eth0
Jul 13 15:22:08 server dhcpd: DHCPOFFER on 192.168.1.4 to 00:50:9c:xx:xx:xx via eth0
Jul 13 15:22:08 server dhcpd: DHCPREQUEST for 192.168.1.4 (192.168.1.1) from 00:50:9c:xx:xx:xx via eth0
Jul 13 15:22:08 server dhcpd: DHCPACK on 192.168.1.4 to 00:50:9c:xx:xx:xx via eth0
Jul 13 15:22:08 server in.tftpd[20496]: connect from 192.168.1.4 (192.168.1.4)
Jul 13 15:22:08 server tftpd[20497]: tftpd: trying to get file: /root/tuxbox/work_uclibc/image/tftpboot/kernel-cdk
Der Kernel wird von U-Boot angefordert und zur Dbox gesendet.
Jul 13 15:22:24 server dhcpd: DHCPDISCOVER from 00:00:00:00:00:00 via eth0: network 192.168.1/24: no free leases
Der Kernel möchte ohne MAC eine IP-Adresse per DCHP haben...
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Patch nochmals aktualisiert:
- dbox_duplex-Support eingebaut
- CONFIG_SYS_LOAD_ADDR von 0x100000 bei Houdini auf 0x200000 geändert,
ein Yadd 2.6 (1.2MB Kernel) ist mir beim Booten abgestürzt

Für das MAC-Problem habe ich noch keine Lösung...
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Alle Kernel 2.4-Images funktionieren, U-Boot kann FB- und LCD-Logo aus dem Flash laden.
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Re: U-Boot 1.3.1

Beitrag von JtG-Riker »

rhabarber1848 hat geschrieben:Alle Kernel 2.4-Images funktionieren, U-Boot kann FB- und LCD-Logo aus dem Flash laden.
Hast du mal geguckt ob Netzwerk geht wenn das Image aussm flash gelasden ist in Neutrino?

Gruß Riker
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

JtG-Riker hat geschrieben:Hast du mal geguckt ob Netzwerk geht wenn das Image aussm flash gelasden ist in Neutrino?
Ja, es funktioniert, allerdings bekommt die Dbox wegen der falschen
Mac-Adresse von meinem DHCP-Server nicht mehr die richtige
IP-Adresse, sodass ich die Dbox2 per DNS nicht ansprechen kann.
Mittels IP-Adresse ist ein Telnet-Login und yWeb problemlos möglich.

Ein Neutrino-Netzwerktest bei aktiviertem DHCP funktioniert
trotz der falschen MAC-Adresse.

Taucht bei Dir auch die falsche Mac-Adresse auf?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Mit U-Boot 2009.01 tritt das Problem nicht auf, nun teste ich 2009.03.
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Re: U-Boot 1.3.1

Beitrag von JtG-Riker »

rhabarber1848 hat geschrieben:Mit U-Boot 2009.01 tritt das Problem nicht auf, nun teste ich 2009.03.
das ist erst im .6

- bin übrigens auch im irc online wenn du lust hast.

Gruss Riker
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

JtG-Riker hat geschrieben:das ist erst im .6
Stimmt, mit U-Boot 2009.03 hat der Kernel ebenfalls die richtige MAC-Adresse.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: U-Boot 1.3.1

Beitrag von Houdini »

der Grund ist, daß setenv(ethaddr) im dbox.c/misc_init_r() jetzt erst nach board_init_r() aufgerufen wird...
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: U-Boot 1.3.1

Beitrag von Houdini »

also im dbox2.h(.m4) config file das auskommentieren:

Code: Alles auswählen

 //#define	CONFIG_MISC_INIT_R
und dafür

Code: Alles auswählen

--- /home/harald/tuxbox-cvs/head-new/cdk/u-boot-2009.06.orig/lib_ppc/board.c	2009-06-14 21:30:39.000000000 
+++ /home/harald/tuxbox-cvs/head-new/cdk/u-boot-2009.06/lib_ppc/board.c	2009-07-13 22:25:45.000000000 
@@ -889,12 +889,16 @@
 #endif
 
 #if defined (CONFIG_ID_EEPROM) || defined (CONFIG_SYS_I2C_MAC_OFFSET)
 	mac_read_from_eeprom();
 #endif
 
+#if defined (CONFIG_DBOX2)
+	misc_init_r ();
+#endif
+
 #ifdef	CONFIG_HERMES
 	if ((gd->board_type >> 16) == 2)
 		bd->bi_ethspeed = gd->board_type & 0xFFFF;
 	else
 		bd->bi_ethspeed = 0xFFFF;
 #endif
rein
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

funktioniert!
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Dazu habe ich noch das gemacht:

Code: Alles auswählen

--- u-boot-2009.06.org/board/dbox2/dbox2.c      2009-07-13 22:40:37.000000000 +0200
+++ u-boot-2009.06/board/dbox2/dbox2.c  2009-07-13 22:45:54.000000000 +0200
@@ -129,10 +129,12 @@
 int misc_init_r (void)
 {
        char tmp[32];
+       uchar enetaddr[6];

        sprintf (tmp, "%02x:%02x:%02x:%02x:%02x:%02x",
                        hwi[3], hwi[4], hwi[5], hwi[6], hwi[7], hwi[8]);
-       setenv("ethaddr", tmp);
+       eth_parse_enetaddr(tmp, enetaddr);
+       eth_setenv_enetaddr("ethaddr", enetaddr);

        return 0;
 }
da es in u-boot-2009.06/doc/README.enetaddr so empfohlen wurde.

Eine aktualisierte Version des Patches habe ich hochgeladen.
@Houdini: Vielen Dank für den Tipp!
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: U-Boot 1.3.1

Beitrag von GetAway »

YaDD-Booting Kernel 2.4. Fehlt nach dem bauen in dem jeweiligen Verzeichnis.

Code: Alles auswählen

BOOTP broadcast 1
DHCP client bound to address 192.168.178.5
Using SCC ETHERNET device
File transfer via NFS from server 192.168.178.24; our IP address is 192.168.178.5
Filename '/home/getaway/tuxbox/dbox2-2.4/cdkroot/var/tuxbox/boot/logo-lcd'.
Load address: 0x200000
Loading: *** ERROR: File lookup fail

done
can't find LCD logo
BOOTP broadcast 1
DHCP client bound to address 192.168.178.5
Using SCC ETHERNET device
File transfer via NFS from server 192.168.178.24; our IP address is 192.168.178.5
Filename '/home/getaway/tuxbox/dbox2-2.4/cdkroot/var/tuxbox/boot/logo-fb'.
Load address: 0x200000
Loading: *** ERROR: File lookup fail
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: U-Boot 1.3.1

Beitrag von dbt »

ähmm, muss da nicht statt der logos boot.conf stehen :gruebel:
und die Logos sollten doch eigentlich in /tftpboot liegen?
Das ist doch von Yadd gebootet, oder?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

dbt hat geschrieben:und die Logos sollten doch eigentlich in /tftpboot liegen?
Dort werden sie von --with-logosdir bei Yadd abgelegt,
beim Booten wird aber in cdkroot/var/tuxbox/boot/
gesucht. Das ist noch ein offener Punkt, den ich mir
anschauen werde, bin wegen der MAC-Geschichte aber
noch nicht dazu gekommen.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

dbt hat geschrieben:ähmm, muss da nicht statt der logos boot.conf stehen :gruebel:
und die Logos sollten doch eigentlich in /tftpboot liegen?
Das ist doch von Yadd gebootet, oder?
Es scheint, dass TFTP nun etwas anders abgearbeitet wird:
Jul 14 08:37:20 server tftpd[17778]: tftpd: trying to get file: boot.conf
Jul 14 08:37:20 server tftpd[17778]: tftpd: serving file from /
Jul 14 08:37:21 server tftpd[17780]: tftpd: trying to get file: logo-lcd
Jul 14 08:37:21 server tftpd[17780]: tftpd: serving file from /
Jul 14 08:37:21 server tftpd[17782]: tftpd: trying to get file: logo-fb
Jul 14 08:37:21 server tftpd[17782]: tftpd: serving file from /
Das ist natürlich der falsche Pfad, deshalb hat Houdini wohl in seiner
m4-Datei NFS für diese Dateien aktiviert. Ich habe das make target
yadd-bootlogos für NFS angepasst und es funktioniert so. Ich finde
diese Lösung ohnehin besser, da Neutrino auf tftpboot/boot.conf
keinen Zugriff hat.

Außerdem habe ich CONFIG_SYS_CBSIZE auf 512 erhöht, da ich beim
Yadd@Kernel 2.6 ein "Command too long" für die Kernel-bootargs von
U-Boot erhalten habe ;) Im CVS wird $dbox_duplex in den bootargs bei
Yadd@Kernel 2.6 nicht unterstützt, nun weiß ich auch, wieso...
Zuletzt geändert von rhabarber1848 am Dienstag 14. Juli 2009, 10:25, insgesamt 1-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:- CONFIG_SYS_CBSIZE auf 512 erhöht um Yadd@Kernel2.6-bootargs zu ermöglichen
- yadd-bootlogos -> cdkroot/var/tuxbox/boot statt tftpboot/
Patch aktualisiert, Yadd@Kernel2.6 erfolgreich getestet.
Zuletzt geändert von rhabarber1848 am Dienstag 14. Juli 2009, 11:14, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: U-Boot 1.3.1

Beitrag von dbt »

Du meinst doch sicher

Code: Alles auswählen

- yadd-bootlogos -> cdkroot/var/tuxbox/boot
Edit:
Habs grad gesehen im make passt's :wink:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Typo geändert, danke.

Squashfs(mit/ohne LZMA)-Kernel 2.6-Images laufen, JFFS2-only noch nicht
List of all partitions:
1f00 128 mtdblock0 (driver?)
1f01 128 mtdblock1 (driver?)
1f02 7936 mtdblock2 (driver?)
1f03 8064 mtdblock3 (driver?)
1f04 8192 mtdblock4 (driver?)
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
Rebooting in 180 seconds..
Ich schaue mal, was da los ist.

PS:
http://www.linux-mtd.infradead.org/faq/jffs2.html
With the 2.6 kernel, you will need to specify: rootfstype=jffs2 on the kernel command line to use it as a root filesystem
Das ist in u-boot.dbox2.h.m4 nicht enthalten

Code: Alles auswählen

#elif (UBOOT_TYPE == UBOOT_TYPE_JFFS2)
#define ROOTFS_OPTION "rw"
Ich teste das jetzt...
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Kernel command line: root=/dev/mtdblock2 rw rootfstype=jffs2 console=ttyS0,9600 dbox_duplex=
Damit bootet nun auch ein JFFS2-only-Kernel 2.6-Image :D
Patch ist mal wieder aktualisiert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

Im Patch habe ich experimentell die Datei cdk/Patches/u-boot-2009.06_lzma_watchdog.diff
hinzugefügt, wer CONFIG_LZMA in u-boot.dbox2.h.m4 nicht nutzt, wird davon nicht
betroffen sein.

Mittels das Patches konnte ich erstmals einen LZMA-komprimierten Kernel von U-Boot
entpacken lassen, leider ging es so weiter:
Filename '/root/tuxbox/work_glibc/image/tftpboot/kernel-cdk'.
Load address: 0x200000
Loading: #################################################################
###################################################
done
Bytes transferred = 589888 (90040 hex)
............................................................... done
Un-Protected 63 sectors
## Booting kernel from Legacy Image at 00200000 ...
Image Name: Linux LZMA
Image Type: PowerPC Linux Kernel Image (lzma compressed)
Data Size: 589824 Bytes = 576 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
ERROR: Failed to allocate 0x200 bytes below 0x800000.
ERROR with allocation of cmdline

debug: DDF: Calibrating delay loop... debug: DDF: 66.76 BogoMIPS
Wie kann ich das Problem lösen?

Immerhin konnte ich den bisherigen Watchdog-Reset vermeiden:
Image Type: PowerPC Linux Kernel Image (lzma compressed)
Data Size: 589824 Bytes = 576 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ...
debug: DDF: Calibrating delay loop... debug: DDF: 66.76 BogoMIPS
debug: WATCHDOG RESET
debug: BMon V1.0 mID 03
debug: feID 00 enxID 03
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: U-Boot 1.3.1

Beitrag von GetAway »

@rhabarber1848

Klasse Arbeit bis jetzt. Kernel 2.4 Yadd und Flash booten problemlos.
2.6 Kernel macht bei mir Probleme. Dazu sende ich heute Abend mal
ein LOG im Kernel Thread.

Hätte einen Vorschlag: Einen zusätzliche Option --with-ubootoverclock=63-90.
Die fertigen uboote, einzeln mit ensprechender Kennzeichnung oder in separaten
Unterordnern speichern.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: U-Boot 1.3.1

Beitrag von rhabarber1848 »

GetAway hat geschrieben:Einen zusätzliche Option --with-ubootoverclock=63-90.
Ich bin dagegen
http://forum.tuxbox-cvs.sourceforge.net ... 44#p349944
flasher hat geschrieben:Ein Übertakten der Box ist nunmal ein potentielles Risiko.
Warum sollte also ein DEV hingehen und sowas in das U-Boot einbauen?
Ich z.B. habe keine Lust mich von irgendwelchen "Zuschnelltippern" anschnauzen zu lassen weil die Box jetzt etwas verbrannt riecht.

Wer also übertakten will sollte es wohl selbst machen.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: U-Boot 1.3.1

Beitrag von GetAway »

rhabarber1848 hat geschrieben:GetAway hat geschrieben:
Einen zusätzliche Option --with-ubootoverclock=63-90.
Hi, die Idee war zusätzlich uboote mitzubauen unabhängig von dem default-uboot. :wink:

Hier meine Probs mit Kernel 2.6 mit dem Patch von heute morgen.
Ausgecheckt in einem leeren Verzeichnis mit:

Code: Alles auswählen

cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .
cvs -z3 -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox co -r driver_2_6_branch driver

Code: Alles auswählen

-DTEXT_BASE=0x40000 -I/home/getaway/tuxbox/tuxbox-cvs-2.6/cdk/u-boot-2009.06/include -fno-builtin -ffreestanding -nostdinc -isystem /home/getaway/tuxbox/dbox2-2.6/cdk/lib/gcc/powerpc-tuxbox-linux-gnu/3.4.6/include -pipe  -DCONFIG_PPC -D__powerpc__ -DCONFIG_8xx -ffixed-r2 -mstring -mcpu=860 -msoft-float -Wall -Wstrict-prototypes  -c -o cmd_fs.o cmd_fs.c
cmd_fs.c:59:7: invalid suffix "x" on integer constant
cmd_fs.c:59: error: initializer element is not constant
cmd_fs.c:59: error: (near initialization for `part_info[1].offset')
cmd_fs.c:59:11: invalid suffix "x" on integer constant
cmd_fs.c:59: error: initializer element is not constant
cmd_fs.c:59: error: (near initialization for `part_info[1].size')
cmd_fs.c:59: error: initializer element is not constant
cmd_fs.c:59: error: (near initialization for `part_info[1]')
cmd_fs.c:66: error: initializer element is not constant
cmd_fs.c:66: error: (near initialization for `part_info[2]')
cmd_fs.c:71: error: initializer element is not constant
cmd_fs.c:71: error: (near initialization for `part_info[3]')
cmd_fs.c: In function `do_fs_fsload':
cmd_fs.c:118: warning: implicit declaration of function `squashfs_load'
cmd_fs.c: In function `do_fs_ls':
cmd_fs.c:171: warning: implicit declaration of function `squashfs_ls'
cmd_fs.c: In function `do_fs_fsinfo':
cmd_fs.c:244: warning: implicit declaration of function `squashfs_info'
make[3]: *** [cmd_fs.o] Fehler 1
make[3]: Verlasse Verzeichnis '/home/getaway/tuxbox/tuxbox-cvs-2.6/cdk/u-boot-2009.06/common'
make[2]: *** [common/libcommon.a] Fehler 2
make[2]: Verlasse Verzeichnis '/home/getaway/tuxbox/tuxbox-cvs-2.6/cdk/u-boot-2009.06'
make[1]: *** [u-boot-2009.06/u-boot.stripped] Fehler 2
make[1]: Verlasse Verzeichnis '/home/getaway/tuxbox/tuxbox-cvs-2.6/cdk'
make: *** [/home/getaway/tuxbox/dbox2-2.6/cdkflash/squashfs.flfs2x] Fehler 2
Ready .... press Enter