Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Dockstar uboot update per tftp und LEDE ins nand

joerg_999

Stamm User
Registriert
11. Mai 2010
Beiträge
1.040
Reaktionspunkte
758
Punkte
273
Aufgrund einer Nachfrage stelle ich euch eine knackige Kurzanleitung rein wie man auf der Dockstar ein neues uboot + aktuell ubootenvs + LEDE im nand realisieren kann:
Voraussetzung ist allerdings, das ihr eine serielle Konsole (TTY/USB Adapter zur Verfügung habt)
Sinngemäß funktioniert diese Anleitung auch für alle anderen Kirkwood Plugs mit den passenden Files.

# am Windows Rechner tftp.zip runterladen
(
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
)
# am Windows PC ein Verzeichnis erstellen c:/TFTP und hier alles rein kopieren
# entpacken und starten
# die kwb files, die enviroment.img und die LEDE Files ins c:/TFTP kopieren
# am Windows Rechner IP ermitteln:
cmd
ipconfig
# z.b. 192.168.1.100
--------------------------------------------------------------------------------
# auf der Dockstar @console ip's entsprechen setzen:
# set tftp-server ip
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

# mac adresse von Dockstar auslesen: <ethaddr Userbox> hier notieren!
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

###. TFTP bootng - this works:
#set Dockstar net ip (beliebig aber im selben Nummernkreis wie serverip)
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

# test auf bad nand-blocks
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
# Wenn die Zahl größer ist als "0x00100000" ist das kein Problem!!
# sonst nicht flashen - es besteht Gefahr die Dockstar zu bricken.
--------------------------------------------------------------------------------
# original uboot.2017.07-tld-1.dockstar.mtd0.kwb # Dockstar
--------------------------------------------------------------------------------
Nun solltet ihr spätestens den tftp Server aufrufen den wir zuvor heruntergeladen habt,
es geht weiter mit:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
--------------------------------------------------------------------------------
# original uboot-envs uboot.2016.05-tld-1.environment.img # universal
--------------------------------------------------------------------------------
zur Sicherheit Dockstar neu durchstarten mit
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
und danach wieder den Startvorgang unterbrechen.
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
# @uboot Dockstar:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

# fertich das wars mit uboot und envs
--------------------------------------------------------------------------------
# wenn du LEDE im nand hast (oder willst) dann diese envs noch eingeben:
--------------------------------------------------------------------------------
# @bootloader 0xe0000@0x0
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
# fertich das wars mit den envs für LEDE/debian dualboot

--------------------------------------------------------------------------------
# LEDE Installation auf der Dockstar:
--------------------------------------------------------------------------------
# Run the following code for starting the process:
# ladet euch die Datei lede-kirkwood-dockstar-initramfs-uImage auf einen fat32 formatierten USB Stick
# steckt ihn an der Dockstar an starten, und in der seriellen Konsole den Start abbrechen, von hier geht es so weiter:

# @bootloader run LEDE from usb pendrive
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
# sobald die Dockstar hochgefahren ist (dauert ca. 1Minute) einmal enter Taste dann weiter mit sysupgrade über WIF in LEDE:

# log in a Webbrowser session @Dockstars ipadress:
# Empfehlung: Google Chrome oder FireFox, der Edge von Mircosoft geht nicht!
# (nehmt den upgrade-File von meinem Download .)

lede-17.01.4-kirkwood-dockstar-squashfs-sysupgrade.tar

in LEDE Menü nach Upgrade device/router suchen den obigen File auswählen und
upgrade drücken und warten.....
Sollte jetzt im nand sein und nach reboot ohne Stick im LEDE landen.

Installation einiger wichtiger Pakete:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Wichtiger Nachtrag:
In LEDE bitte folgendes kontrollieren:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Dann ist auch ein Anzeigen/Ändern und Bearbeiten der envs von LEDE aus möglich!


Alle Files dafür in folgendem Link auf meiner Dropbox:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


und hier die Pinbelegung für die serielle Konsole der Dockstar:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


Grüsse
joerg_999
 
Zuletzt bearbeitet:
Wow...wahnsinn, alles perfekt gelaufen ohne einzigen Fehler!

Respekt - Herzichst Dank für deine Hilfe & Arbeit!
 

Anhänge

  • dockstar_lede_intern.JPG
    dockstar_lede_intern.JPG
    83,4 KB · Aufrufe: 20
  • dockstar_uboot.JPG
    dockstar_uboot.JPG
    31,2 KB · Aufrufe: 20
Zuletzt bearbeitet:
Freut mich wenn es geklappt hat, ich selber habe nämlich keine Dockstar, habe es also nicht testen können...
--joerg_999
 
Sorry...da habe ich noch eine Frage: mit deinen aktuelle image "PogoE02_Stretch_Kernel_4.14.1_IPC_emb_dtb_joerg_211217_2G" bootet mein Dockstar nicht - ist es nur für Pogo-E2?
 
wie du im Titel lesen kannst steht da PogoE02_Stretch_Kernel_4.14.1_IPC_emb_dtb_joerg_211217_2G was soviel heißt das es nur für einen PogoE02 sein kann.
Bei embedded legt man sich bei der Kernelerstellung auf einen Plug fest (alte Methode)

Darum wird jetzt bei aktuellen images von mir nur mehr ext_dtb verwendet. (neue Methode)
Der Vorteil liegt auf der Hand: ein Image für alle Plugs

Die Images lauten dadurch auch nur mehr Kirkwood_kernelversion_ext_dtb_erstellungsdatum_Imagegröße in GB wie zb Bsp. mein neues:

kirkwood_stretch_Kernel_4.16.1_ext_dtb_service_150418_3G.img

bedeutet es läuft auf allen Plugs es muss nur der dtb File in den bootenvs angepasst werden da er jetzt getrennt geladen wird und nicht mehr im Kernel mit verpackt ist:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Warum das ganze Theater:
Das Ziel war ein Image für alle Kirkwood-Plugs,
weil aber die alten uboots mit dieser neuen Methode den dtb File extern zu laden nicht umgehen konnten ist ein Update des uboots + envs erforderlich.

wenn du also ein altes Image mit emb_dtb starten möchtest, geht das natürlich auch (vorausgesetzt es ist der selbe Plugtyp POGOE02....),
du musst nur den Eintrag
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Ich hoffe das Ganze somit einigermaßen verständlich erklärt zu haben.

Grüße
joerg_999
 
Zuletzt bearbeitet:
Zuletzt bearbeitet von einem Moderator:
Das habe ich schon gemacht...Auf dem screenshot ist der Versuch mit deinen image von heute:) also mit ext_dtb. Das habe ich verstanden, aber es bootet auch nicht.
 
auf welcher kiste willst du es den laufen lassen Dockstar oder Pogo?
welches image von mir genau?
gib mir printenv von der Konsole..
und eventuell bootlog

zur Info: ich habe bisher nur emb_dtb Images für den Pogo gebaut die laufen auch nur auf dem Pogo.
Die neuen Images die mit kirwood.... beginnen laufen nach anpassung des dtb files in den uenvs auf allen Plugs.
 
Zuletzt bearbeitet:
gerne möchte ich das image von heute auf dem Dockstar probieren
#
U-Boot 2017.07-tld-1 (Oct 24 2017 - 22:32:36 -0700)
Seagate FreeAgent DockStar

SoC: Kirkwood 88F6281_A0
DRAM: 128 MiB
WARNING: Caches not enabled
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot: 0
DockStar> printenv
arcNumber=2998
arcnumber=2998
baudrate=115200
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; run bootcmd_lede
bootcmd_exec=if run load_uimage; then; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load _uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimag e_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi; fi
bootcmd_lede=run set_bootargs_lede; ubi part ubi; ubi read 0x800000 kernel; boot m 0x800000
bootdelay=3
console=ttyS0,115200
dtb_file=/boot/dts/kirkwood-dockstar.dtb
ethact=egiga0
ethaddr=00:10:75:1A:xx:xx
fileaddr=800000
filesize=20000
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 / rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd ; fi
ipaddr=192.168.178.99
led_error=orange blinking
led_exit=green off
led_init=green blinking
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:0x100000@0x0(u-boot),-@0x100000(ubi)
nand_erasesize=20000
nand_oobsize=40
nand_writesize=800
partition=nand0,2
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; na nd read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
rescue_installed=1
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
serverip=192.168.178.2
set_bootargs_lede=setenv bootargs console=ttyS0,115200 $mtdparts
stderr=serial
stdin=serial
stdout=serial
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && u bifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0 :rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext 2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; el se bootm 0x800000; fi
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_device=0:1
usb_init=run usb_scan
usb_root=/dev/sda1
usb_rootdelay=10
usb_rootfstype=ext2
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if t est $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_ scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; se tenv usb_root /dev/$dev; fi; done
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_scan_list=1 2 3 4
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_ rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params

Environment size: 2970/131068 bytes
DockStar>
 
Zuletzt bearbeitet:
ja genau habe ich das probiert - nach dem du mir geschrieben hast, dass das image für Pogo.E2 auf Dockstar nicht funzt.
 
wenn ich deine uboot envs sehe denke ich du hast nur die Änderungen drübergespielt die erforderlich sind um LEDE zu booten.

Ich gehe immer davon aus das man das komplette Paket: uboot.2016.05-tld-1.environment.img zuerst flasht und das als Ausgangsbasis dient.
(das sollte ab nun der Standard sein, sonst müsste ich alle Einträge einzeln zerpflücken, was ich nicht vor habe...)
Von hier dann erst die Änderungen einspielen wie:
passenden dtb Pfad
die LEDE/debian bootenvs
die eigene mac adresse
machid und arcNumber passend zum jeweiligen Plug
usw.
Dann bootet das Image auch korrekt, egal welcher Plug.

Zu erwähnen wäre noch:
zur Sicherheit nach jedem Einspielen per tftp den Plug neu booten, start abbrechen und dort weitermachen wo man aufgehört hat
d.h. uboot einspielen
neu booten
uboot environment einspielen
neu booten
dann alle anderen Änderungen
neu booten

PS und pass auf deine Schreibweise auf Groß Kleinbuchstaben beachten das ist nicht windoof
wenn ich schreibe :
setenv arcNumber 2998
setenv machid
setenv dtb_file '/boot/dts/kirkwood-dockstar.dtb'

dann gehörts auch genau so rein ....

Da hast du Mist gebaut bei deinen envs......

--joerg_999

Nachtrag zur Info:
switch dockstar läuft jetzt, seine envs waren nicht korrekt!
 
Zuletzt bearbeitet:
@joerg_999

alles perfekto:) - Vielen Dank für alles, was du für mich getan hast!

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

Absolut empfehlenswert...nur durch Ersetzen paar Files und per Copy/Paste konnte sogar ich als Ahnungsloser gerade meinen "defekten" Pogo-E2 auf neuen uboot updaten und lede ins nand installieren, also quasi gleicher Zustand wie der Dockstar.

Super tolle Arbeit!
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben