Bootargs ufs913

Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5423
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 298 Mal

Bootargs ufs913

#1

Beitrag von DboxOldie »

Eins vorweg: Wer mit den Bootargs spielt sollte wissen was er tut !!
Wie man in die U-Boot Konsole kommt: geht genauso wie bei der ufs910, Terminal Einstellung, sowie irgendeine Taste beim Einschalten
@Frankenstone hat ja getestet: mit Update der 1.05 oder auch 2.02 Orginal Kathrein Firmware werden die Bootargs wieder in den Orginalzustand zurückversetzt.

Standardmässig haben die bei mir so ausgesehen:

Code: Alles auswählen

PDK7105> print
bootcmd=bootm 0xA8400000
baudrate=115200
ethaddr=00:50:FD:FF:00:00
autoload=n
board=pdk7105
monitor_base=0xA0000000
monitor_len=0x00040000
monitor_sec=1:0-1
load_addr=0x80000000
unprot=protect off $monitor_sec
update=erase $monitor_sec;cp.b $load_addr $monitor_base $monitor_len;protect on $monitor_sec
usbupdate=set bootargs console=ttyAS0,115200 root=/dev/mtdblock3 bigphysarea=6144 mem=128m loglevel=1;bootm 0xA8080000
filesize=2F26C
fileaddr=40000000
netmask=255.255.252.0
ipaddr=192.168.3.23
serverip=192.168.3.110
bootargs=console=ttyAS0,115200 root=/dev/mtdblock6 bigphysarea=6144 PART_0=0x48000000:0x48000000:0x48000000:0x48000000:0x8000000 mem=128m loglevel=1 ufs913
mtdids=nor0=physmap-flash
bootdelay=2
stdin=serial
stdout=serial
stderr=serial

Environment size: 755/16380 bytes
PDK7105>
Da der U-Boot ja auch in der lage ist von USB zu lesen kann man sich auch leicht ein "Multiboot" System zusammenzimmern.

Erstmal die Grunddaten setzen: (IP, MAC):
Wobei man diese Beispiel-IP´s sowie Mask und MAC anpassen sollte.
Die echte MAC der Box kann man so im Telnet auslesen: strings /dev/mtd2 , da ist die in der Ausgabe enthalten
Also diese Werte dann in die U-Boot Konsole reinkopieren mit enter übernehmen lassen....

Code: Alles auswählen

set ipaddr '192.168.3.23'
set serverip '192.168.3.110'
set gateway '192.168.3.1'
set ethaddr '00:50:FD:FF:00:00'
set netmask '255.255.252.0'
Dann mal mit print kontrollieren, das sollte so ausehen dann:

Code: Alles auswählen

ipaddr=192.168.3.23
serverip=192.168.3.110
gateway=192.168.3.1
ethaddr=00:50:FD:FF:00:00
netmask=255.255.252.0
Jetzt die Bootargs um wieder auf "Firmware" Args zurückzusetzen:
Die wieder in die Konsole reinkopieren, bestätigen, Kontrolle mit print

Code: Alles auswählen

set bootflash_org 'set bootargs console=ttyAS0,115200 root=/dev/mtdblock6 bigphysarea=6144 PART_0=0x48000000:0x48000000:0x48000000:0x48000000:0x8000000 mem=128m loglevel=1 ufs913'
set flash 'run bootflash_org;set bootcmd bootm 0xA8400000;save'

Sollte dann so aussehen, dann mit save speichern

Code: Alles auswählen

bootflash_org=set bootargs console=ttyAS0,115200 root=/dev/mtdblock6 bigphysarea=6144 PART_0=0x48000000:0x48000000:0x48000000:0x48000000:0x8000000 mem=128m loglevel=1 ufs913
flash=run bootflash_org;set bootcmd bootm 0xA8400000;save
Wenn man nun in der U-Boot Konsole run flash eingibt werden die Bootargs auf Orginal zurückgesetzt und gespeichert.
Wobei die von der 2.00 FW etwas anders sind, aber benötigt wird das von der Flashmethode mit den 4 Dateien auf dem Stick.
Nicht die Orginal Firmware, die setzt ja eh die Bootargs neu.


Jetzt die Bootargs für Neutrino im Flash wo auch die richtige MAC und auch die IP´s übergeben werden:

Code: Alles auswählen

set bootflash 'set bootargs console=ttyAS0,115200 root=/dev/mtdblock9 rw rootfstype=jffs2 init=/bin/devinit coprocessor_mem=4m@0x40000000,4m@0x40400000 ip=$ipaddr:$serverip:$gateway:$netmask:ufs913:eth0:off nwhwconf=device:eth0,hwaddr:$ethaddr'
set flash_0 'run bootflash;bootm 0xA8400000'
set bootcmd_0 'set bootcmd run flash_0;save'
Das wieder reinkopieren, bestätigen, print und save.
mit run bootcmd_0 wird das bootcmd verändert und gespeichert, bei Neustart wird das veränderte ausgeführt und dem Flash Kernel die Bootargs übergeben.

Jetzt noch ein Beispiel um von Stick zu Booten, da geht nur der Stick im vorderen Port, die anderen sowie die SD Karte werden vom U-Boot nicht beachtet !!

Code: Alles auswählen

set bootsda1 'set bootargs console=ttyAS0,115200 root=/dev/sda1 rw rootwait init=/bin/devinit coprocessor_mem=4m@0x40000000,4m@0x40400000 ip=$ipaddr:$serverip:$gateway:$netmask:ufs913:eth0:off nwhwconf=device:eth0,hwaddr:$ethaddr'
set cmdusb1 'usb reset;ext2load usb 0:1 0x80000000 /boot/uImage;run bootsda1;bootm 0x80000000'
set bootcmd_1 'set bootcmd run cmdusb1;save'
Wieder wie oben erwähnt verfahren, und mit run bootcmd_1 wird das bootcmd verändert, und bei Neustart von Stick sda1 gebootet.
Vorraussetzung natürlich das vorher auf sda1 ein bootfähiges USB-Image installiert wurde !!

Wer schon Neutrino auf der ufs913 geflasht hat, kann auch dieses benutzen zum Flashen wo nur die 3 *.bin Files benötigt werden.
Die Bootargs können dabei auch auf "vernünpftig" stehen bleiben.

Code: Alles auswählen

set flash_update 'set bootargs console=ttyAS0,115200 root=/dev/mtdblock7 rootfstype=cramfs init=/bin/devinit coprocessor_mem=4m@0x40000000,4m@0x40400000 ip=$ipaddr:$serverip:$gateway:$netmask:ufs913:eth0:off nwhwconf=device:eth0,hwaddr:$ethaddr'
set flash_cmd 'run flash_update;bootm 0xA8400000'
Wieder wie oben: reinkopieren, enter, print, save...

Wenn man nun in der U-Boot Konsole run flash_cmd eingibt, startet der vorhandene Kernel mountet das "Tinyroot", flasht die 3 *.bin Dateien und startet neu.

Soweit nur mal so als Anhaltspunkte, das kann man natürlich erweitern.....


******** Wichtig *********************

Wer sich nicht sicher ist sollte lieber die Finger davon lassen !!!
Und : die Strings mit den set Befehlen einzeln reinkopieren und die Hochkommas nicht vergessen !!!
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Benutzeravatar
BPanther
Administrator
Administrator
Beiträge: 13513
Registriert: Do 11. Jan 2007, 00:06
Wohnort: Berlin
Hat sich bedankt: 690 Mal
Danksagung erhalten: 1605 Mal
Kontaktdaten:

Re: Bootargs ufs913

#2

Beitrag von BPanther »

Noch 2 Anmerkungen dazu:

- Das UBoot kennt anscheinend auch eine updatescript.sh wie die UFS912, man könnte diese also evtl. mißbrauchen.
- mem=128m kann erhöht werden, z.b. auf mem=137m oder gar mem=152m (org. Firm nutzt das so). ;)
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.


Bild Bild
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM820, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)
Benutzeravatar
mr_petz
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 60
Registriert: So 4. Mär 2012, 14:23
Wohnort: Sachsen
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#3

Beitrag von mr_petz »

Verstehe ich das richtig, das ich nur das einfügen und starten muss und gut ist wenn ich mal von usb booten möchte?
Bleibt dann der flash eintrag unberührt und kann ihn dann mit bootflash wieder aktivieren oder muss ich ihn dann neu anlegen?
habe bp image im flash!
DboxOldie hat geschrieben:
Jetzt noch ein Beispiel um von Stick zu Booten, da geht nur der Stick im vorderen Port, die anderen sowie die SD Karte werden vom U-Boot nicht beachtet !!

Code: Alles auswählen

set bootsda1 'set bootargs console=ttyAS0,115200 root=/dev/sda1 rw rootwait init=/bin/devinit coprocessor_mem=4m@0x40000000,4m@0x40400000 ip=$ipaddr:$serverip:$gateway:$netmask:ufs913:eth0:off nwhwconf=device:eth0,hwaddr:$ethaddr'
set cmdusb1 'usb reset;ext2load usb 0:1 0x80000000 /boot/uImage;run bootsda1;bootm 0x80000000'
set bootcmd_1 'set bootcmd run cmdusb1;save'
Wieder wie oben erwähnt verfahren, und mit run bootcmd_1 wird das bootcmd verändert, und bei Neustart von Stick sda1 gebootet.
Vorraussetzung natürlich das vorher auf sda1 ein bootfähiges USB-Image installiert wurde !!
mfg mr_petz
Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5423
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 298 Mal

Re: Bootargs ufs913

#4

Beitrag von DboxOldie »

Richtig...
Mit run bootflash_org wird es wieder auf die Standard Bootargs zurückgesetzt.
Musst aber alle nötigen eingegeben haben und zur Sicherheit die vorhandenen einmal per putty abspeichern.
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Benutzeravatar
morly
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 8
Registriert: Sa 12. Mai 2012, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#5

Beitrag von morly »

Hallo Zusammen!
Ich bin morly - bin hautpsächlich im HDMU Board unterwegs.

Ich habe ein kleines Helferlein programmiert, das "SH4 STB Admin Tool".

Ursprünglich für die UFS910 unter Linux ist daraus ein Tool für die Verwaltung von SH4 Boxen worden (USB Images, ausgewählte Boxen flashen, Bootargs editieren, Box-Status abfragen, ...) was unter Lin, Win, Mac läuft.

Jetzt hab ich gesehen, dass ihr USB Images für die USB913 erstellt,
mit den paar cmds hier getestet und läuft - perfekt - Neutrino via USB.
Jetzt möchte ich aber als Programmierer weiter gehen :) - darum möchte ich hier Fragen stellen wenn das OK ist.

Meine erste Frage: kann ich die bootargs auch via telnet (fw_setenv) schreiben? Wie kann ich den mem freischalten (ansonsten ja ro)

Danke und freu mich auf Antwort,
morly
Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5423
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 298 Mal

Re: Bootargs ufs913

#6

Beitrag von DboxOldie »

Ja im BP Neutrino geht das mit fw_setenv bei der 913. ( Wenn Du es auf USB hast brauchst ja nur testen )
Nachträglich den mtd1 als rw setzen geht nicht > das muss im Board Setup gemacht werden, und der Kernel wird entsprechend kompiliert.
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Benutzeravatar
morly
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 8
Registriert: Sa 12. Mai 2012, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#7

Beitrag von morly »

DboxOldie hat geschrieben:Ja im BP Neutrino geht das mit fw_setenv bei der 913. ( Wenn Du es auf USB hast brauchst ja nur testen )
Nachträglich den mtd1 als rw setzen geht nicht > das muss im Board Setup gemacht werden, und der Kernel wird entsprechend kompiliert.
Danke für die schnelle Antwort,
dann werd ich gleich testen...
Brauch die bootargs open für weitere Schritte!
Benutzeravatar
morly
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 8
Registriert: Sa 12. Mai 2012, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#8

Beitrag von morly »

hallo,
mag mich nicht:

Code: Alles auswählen

ufs913:/tmp/SH4_MORLY# ./fw_setenv morly 1818
Unlocking flash...
Done
Erasing old environment...
MTD erase error on /dev/mtd1: Invalid argument
Error: can't write fw_env to flash
ufs913:/tmp/SH4_MORLY# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00060000 00010000 "NOR  Uboot (ro)"
mtd1: 00020000 00010000 "NOR  Uboot Config (rw)"
mtd2: 00020000 00010000 "NOR  BoxData (ro)"
mtd3: 001c0000 00010000 "NOR  Emergency Kernel (ro)"
mtd4: 00180000 00010000 "NOR  Emergency Root (ro)"
mtd5: 00020000 00010000 "NOR  Box Configuration (ro)"
mtd6: 00260000 00010000 "NOR  Kernel"
mtd7: 001a0000 00010000 "NOR  Root"
mtd8: 00800000 00020000 "NAND FW        0x0000.0000-0x007F.FFFF (  8MB)"
mtd9: 04000000 00020000 "NAND ROOT      0x0080.0000-0x047F.FFFF ( 64MB)"
mtd10: 03800000 00020000 "NAND DATA      0x0480.0000-0x07FF.FFFF ( 52MB)"
ufs913:/tmp/SH4_MORLY# 
Lg morly
Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5423
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 298 Mal

Re: Bootargs ufs913

#9

Beitrag von DboxOldie »

Mmm, falsche fw_env.config ?
# Configuration file for fw_(printenv/saveenv) utility.
# Up to two entries are valid, in this case the redundand
# environment sector is assumed present.

# MTD device name Device offset Env. size Flash sector size
/dev/mtd1 0x0000 0x4000 0x10000
Edit: es geht bei mir..
BusyBox v1.21.0 (2013-04-09 16:21:44 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

ufs913:~# fw_setenv test huhu
Unlocking flash...
Done
Erasing old environment...
Done
Writing environment to /dev/mtd1...
Done
Locking ...
Done
ufs913:~# fw_printenv test
test=huhu
ufs913:~#
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Benutzeravatar
morly
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 8
Registriert: Sa 12. Mai 2012, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#10

Beitrag von morly »

Ja, super - vielen Dank!
Hatte diese:

Code: Alles auswählen

/dev/mtd1 0x0000 0x4000 0x4000
Mit dieser:

Code: Alles auswählen

/dev/mtd1 0x0000 0x4000 0x10000
klappt alles :D

LG morly
Benutzeravatar
morly
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 8
Registriert: Sa 12. Mai 2012, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#11

Beitrag von morly »

...noch eine Frage:
kann ich /dev/mtd1 "unlocken" auch wenn als ro gebootet?
Danke
Benutzeravatar
morly
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 8
Registriert: Sa 12. Mai 2012, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#12

Beitrag von morly »

Hallo!
Gibts ein UFS913 uboot, wo die nand-relevanten Befehle verfügbar sind?
Danke, morly
Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5423
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 298 Mal

Re: Bootargs ufs913

#13

Beitrag von DboxOldie »

Zu /dev/mtd1:
Nein, wenn der Kernel gebaut wurde mit ro Kennzeichen für die Partition, dann ist die auch ro.
Das muss im Board Setup geändert werden.
Das ist auch ganz richtig so, denn mit ro gekennzeichnete Partitionen kann man wenigstens nicht versehentlich löschen. ( U-Boot, Emergency Bereich )
Zum Nand Flashen:
Soweit ich weis, nein. Kannst ja mal im U-Boot mit help Dir die möglichen Befehle anzeigen lassen.
Dafür hat Kathrein ja diesen Emergency Kernel mit Root vorgesehen.
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Benutzeravatar
morly
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 8
Registriert: Sa 12. Mai 2012, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: Bootargs ufs913

#14

Beitrag von morly »

OK - Danke!
Nö leider - keine nand - relevanten Befehle (wie bei UFS912) - das ist ja das Problem :)
Somit kann uboot die NAND Bereiche auch nicht lesen - oder?
Lg
Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5423
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 298 Mal

Re: Bootargs ufs913

#15

Beitrag von DboxOldie »

Nö, kann der nicht und braucht der auch nicht, da die Kernel ja im NOR Flash stecken.
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Antworten

Zurück zu „UFS913 - FLASH“