Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

joerg_999

Stamm User
Registriert
11. Mai 2010
Beiträge
1.041
Reaktionspunkte
758
Punkte
273
## Update 1.4.2017 mit neuem Kernel 4.10.0
##
Version mit getrennt geladenem dtb File!
Neues Filesystem 4.4.0 und Kernelupdate auf 4.10.0 in einem Durchgang (Debian jessie)
Wir benötigen dafür einen Pogo mit aktuellem u-boot und u-boot envs
der mit Debian Stick bootet und einen 2.Stick auf dem wir die neue Installation erstellen.

- aktuell:
uboot.2017.07-tld-1.pogo_e02.mtd0.kwb / uboot.2016.05-tld-1.environment.img,

==> Für den Fall das ihr ein Image mit embedded dtb File benötigt, das ihr auch bei älteren uboots ohne Änderung der envs,
oder bei Pogos mit OscamWRT (von derdigge) booten könnt, nehmt bitte dieses hier: (mit integriertem dtb File aktuellen Kernel und IPC)
Pogoplug E02 Image mit Kernel 4.10.9 (Jessie 8.x)
oder
ihr legt zum booten eines Kernel mit integriertem dtb File bzw alten Kernel
eine Datei (uEnv.txt) ins /boot Verzeichnis auf den Stick und zwar mit folgendem Inhalt:
Code:
dtb_file=
devices=usb
disks=0 1 2
damit wird der externe dtb file deaktiviert und der Pogo kann booten.

--> Falls ihr noch ein älteres u-boot drauf habt (< 2014.07-tld-2), unbedingt updaten!
(uboots vor 2014.07 können nur Kernel mit integriertem dtb File laden!)
--> der Benutzer root mit Passwort root ist bereits angelegt - bitte Passwort ändern!
# Pogo mit debian Stick1 hochfahren, danach neuen Stick2 anstecken
# zuerst installieren wir folgende Pakete nach:
Code:
apt-get update && apt-get install bzip2 ca-certificates u-boot-tools
wir sehen ob der 2.Stick auftaucht (lsblk) und wenn der Stick bereits partitioniert ist beginnen wir mit der Installation,
wenn noch partitioniert werden muss hier:

Partitionierung des Sticks2 (sdb):
lsblk
fdisk /dev/sdb

alles anzeigen (p)
eventuell bestehende Partitionen löschen (d)
Primäre partition1 erstellen (n,p,1) und aktiv setzen (a,1)
Primäre partition2 erstellen (n,p,2) und als swap definieren (t,2,82) # optional
nochmals alles überprüfen (p) und dann schreiben mit (w)
Installation:
# Hinweis: das Entpacken des rootfs dauert ca. 4-5 Minuten!
Code:
 lsblk

# neues Filesystem ext3 auf Stick2 erstellen und danach Stick mounten
 mkfs.ext3 -L rootfs /dev/sdb1
 mkdir /media/sdb1
 mount /dev/sdb1 /media/sdb1
 cd /media/sdb1

# Download und entpacken des neuen Filesystems
 wget -c dl.dropbox.com/s/qt2v378sm3j0loe/Debian-4.4.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2
 tar -xjf Debian-4.4.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2

# neuen Kernel erstellen und installieren (mit extern geladenem DTB File - new way to boot!)
 cd boot                  
 wget -c https://www.dropbox.com/s/jqz3io6xukwv7is/linux-4.10.0-kirkwood-tld-1-bodhi.tar.bz2
 tar -xjf linux-4.10.0-kirkwood-tld-1-bodhi.tar.bz2
 tar -xf  linux-dtb-4.10.0-kirkwood-tld-1.tar
 apt-get remove flash-kernel
 dpkg --root=/media/sdb1 -i linux-image-4.10.0-kirkwood-tld-1_1.0_armel.deb
 mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-4.10.0-kirkwood-tld-1 -d vmlinuz-4.10.0-kirkwood-tld-1 uImage
 mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-4.10.0-kirkwood-tld-1 -d initrd.img-4.10.0-kirkwood-tld-1 uInitrd

# säubern und synchronisieren
 rm *3.18.5*
 rm *4.2.0*
 rm *4.3.0*
 rm *4.4.0*
 rm *4.5.0*      # je nach dem welche Kernel vorher installiert waren
 sync
 shutdown -h now
# Stick1 abstecken und mit neuem Stick2 booten, danach upgraden.
Code:
  apt-get update && apt-get dist-upgrade
# Benutzer root / Passwort root
# Hinweis: das upgrade kann schon mal eine wenig dauern!
Als Ergebnis sollte Debian Version 8.7 (Jessie) mit aktuellem Kernel 4.10.0 drauf sein.
siehe Ausgabe:
Code:
uname -a
cat /etc/debian_version
joerg_999
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Hallo joerg_999,

das ist ein Kernelupdate mit integriertem DTM ne?
 
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Nein, nach neuer Methode, extern geladen - siehe neue uboot envs. (uboot.2014.07-tld-3.environment.bodhi)

Das neue uboot ist universeller, hier kann das rootfile-systeme 3.16.0 mit Kernel 3.16.0 - integrierter DTB (wie in meiner (Erst-Installationsbeschreibung), als auch das
neue Filesystem 3.18.5 - integriertem DTB, wenn du nach meiner neuen Updatemethode vorgehst, mit externem DTB gebootet werden.
Es ist jedoch wie Anfangs erwähnt, einmalig das Flashen der neuen tld-3 envs erforderlich.

Wenn man nicht irgend welche uralt Kernel zu booten muss, sollte man bei der neuen, flexibleren und zukunftsorientierten Methode mit externem DTB File (getrennt geladenem DTB) bleiben.

Meine Beschreibung weicht hier etwas ab vom doozan Forum, da ich hier die Installation des neuen rootfs 3.18.5 und das Kernelupdate auf 4.2.0 mit Änderung auf externDTB in einem Durchgang ohne reboot, anbiete.
(Ich glaube das hattest du vor einigen Tagen mal versucht, bist aber irgendwo stecken geblieben...)

Nachher sollte man im nand nicht mehr rumschreiben müssen, da der dadurch ja auch nicht besser wird. (beschränkte schreib-Zyklen!)


PSDie Methode mit integriertem DTB (alte Methode) erkennt man daran:

vor dem "mkimage" findet man ein cat dts/kirkwood-pogo_e02.dtb >> zImage.fdt

joerg_999
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Hallo Jörg,

da habe ich mich heute mal dran versucht. Ganz frisch nach Deiner Anleitung einen 3.16.0 Stick erstellt, auf 7.9 geupgradet - alles problemlos, alles fehlerfrei.

Beim Erstellen des neuen Sticks nach dieser Anleitung jedoch begannen die Probleme - die in einen nicht bootbaren neuen Stick münden. Vielleicht kannst Du an meinen Anlage erkannen was da nicht funktioniert?

2016-01-19 07:42:16 (3.36 MB/s) - `linux-4.2.0-kirkwood-tld-1-bodhi.tar.bz2' saved [28154987/28154987]

root@debian:/media/sdb1/boot# tar -xjf linux-4.2.0-kirkwood-tld-1-bodhi.tar.bz2
root@debian:/media/sdb1/boot# tar -xf linux-dtb-4.2.0-kirkwood-tld-1.tar
root@debian:/media/sdb1/boot# apt-get remove flash-kernel
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'flash-kernel' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@debian:/media/sdb1/boot# dpkg --root=/media/sdb1 -i linux-image-4.2.0-kirkwood-tld-1_1.0_armel.deb
Selecting previously unselected package linux-image-4.2.0-kirkwood-tld-1.
(Reading database ... 12467 files and directories currently installed.)
Unpacking linux-image-4.2.0-kirkwood-tld-1 (from linux-image-4.2.0-kirkwood-tld-1_1.0_armel.deb) ...
Examining /etc/kernel/preinst.d/
Done.
Setting up linux-image-4.2.0-kirkwood-tld-1 (1.0) ...

Hmm. There is a symbolic link /lib/modules/4.2.0-kirkwood-tld-1/build
However, I can not read it: No such file or directory
Therefore, I am deleting /lib/modules/4.2.0-kirkwood-tld-1/build


Hmm. The package shipped with a symbolic link /lib/modules/4.2.0-kirkwood-tld-1/source
However, I can not read the target: No such file or directory
Therefore, I am deleting /lib/modules/4.2.0-kirkwood-tld-1/source


Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.2.0-kirkwood-tld-1 /boot/vmlinuz-4.2.0-kirkwood-tld-1
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.2.0-kirkwood-tld-1 /boot/vmlinuz-4.2.0-kirkwood-tld-1
update-initramfs: Generating /boot/initrd.img-4.2.0-kirkwood-tld-1
df: Warning: cannot read table of mounted file systems: No such file or directory
mount: failed to read mtab: No such file or directory

run-parts: executing /etc/kernel/postinst.d/zz-flash-kernel 4.2.0-kirkwood-tld-1 /boot/vmlinuz-4.2.0-kirkwood-tld-1
root@debian:/media/sdb1/boot# mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-4.2.0-kirkwood-tld-1 -d vmlinuz-4.2.0-kirkwood-tld-1 uImage
Image Name: Linux-4.2.0-kirkwood-tld-1
Created: Tue Jan 19 07:48:04 2016
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3147136 Bytes = 3073.38 kB = 3.00 MB
Load Address: 00008000
Entry Point: 00008000
root@debian:/media/sdb1/boot# mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-4.2.0-kirkwood-tld-1 -d initrd.img-4.2.0-kirkwood-tld-1 uInitrd
Image Name: initramfs-4.2.0-kirkwood-tld-1
Created: Tue Jan 19 07:48:19 2016
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 6700375 Bytes = 6543.33 kB = 6.39 MB
Load Address: 00000000
Entry Point: 00000000
root@debian:/media/sdb1/boot# rm *3.18.5*
root@debian:/media/sdb1/boot# sync
root@debian:/media/sdb1/boot# shutdown -h no
 
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Hast du den Teil wirklich Punkt für Punkt exakt so abgearbeitet?
Neues Filesystem 3.18.5 und Kernelupdate auf 4.2.0 in einem Durchgang (Debian jessie)
Wir benötigen dafür einen Pogo mit aktuellem u-boot und den letzten u-boot envs - (uboot.2014.07-tld-3.environment.img),
der mit Debian Stick bootet
und einen 2.Stick auf dem wir die neue Installation erstellen.
lsblk
# neues Filesystem ext3 auf Stick2 erstellen und danach Stick mounten
mkfs.ext3 -L rootfs /dev/sdb1
mkdir /media/sdb1
mount /dev/sdb1 /media/sdb1
cd /media/sdb1

# Download und entpacken des neuen Filesystems
wget -c
tar -xjf Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2

# neuen Kernel erstellen und installieren (externer DTB File)
cd boot
wget -c
tar -xjf linux-4.2.0-kirkwood-tld-1-bodhi.tar.bz2
tar -xf linux-dtb-4.2.0-kirkwood-tld-1.tar
apt-get remove flash-kernel
dpkg --root=/media/sdb1 -i linux-image-4.2.0-kirkwood-tld-1_1.0_armel.deb
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-4.2.0-kirkwood-tld-1 -d vmlinuz-4.2.0-kirkwood-tld-1 uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-4.2.0-kirkwood-tld-1 -d initrd.img-4.2.0-kirkwood-tld-1 uInitrd

# säubern und synchronisieren
rm *3.18.5*
sync

und zeig mal deine uboot-envs (sollten die neuen aus dem uboot thread sein!)

Nachtrag: deine Log Ausgabe sieht nicht schlecht aus, die Fehlermeldungen sind ok, glaube es liegt an den uboot-envs, und welches uboot hast den drauf?
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Tja, wie kann man denn die uboot Version sich anzeigen lassen, ob das auch wirklich funktiniert hat?

Auf jeden Fall habe nach Deiner Anleitung aktualisiert, und somit auch die dortigen envs installiert, allerdings habe ich ab dem NetCat Teil weggelassen - da ich damit nichts anfangen kann. Das kann aber doch keinen Einfluss haben?

Link Removed Spoiler: # How to install new uboot 2014.07-tld-3:
# entweder wir sind schon dort oder wir wechseln in das Verzeichnis
cd /tmp

# MAC Adresse kontrollieren, die muss gesetzt sein! (vorerst egal welche) sonst bootet er nicht.
# -> später kann man seine eigene eingeben: siehe Boden Pogo E02
fw_printenv ethaddr

# Sicherung der bestehenden boot Variablen (zur Info bei Fehlersuche hilfreich...)
fw_printenv > old_current_envs.txt

# Flashen des neuen uboot
wget -c
tar -xf uboot.2014.07-tld-3.pogo_e02.bodhi.tar
flash_erase /dev/mtd0 0 4
nandwrite /dev/mtd0 uboot.2014.07-tld-3.pogo_e02.mtd0.kwb

# Flashen der neuen uboot -envs
# Nach dem Einspielen dieser uboot-envs sind alle wichtigen Einstellungen erledigt!
# Es müssen nur mehr die IP Adressen für NC und eventuell die Einträge für das rescue-system ergänzt werden.
wget -c
tar -xf uboot.2014.07-tld-3.environment.bodhi.tar
/usr/sbin/flash_erase /dev/mtd0 0xc0000 1
/usr/sbin/nandwrite -s 786432 /dev/mtd0 uboot.2014.07-tld-3.environment.img

reboot
bzw. (cold reboot - Strom weg)

Edit:
root@debian:~# grep -a --null-data U-Boot /dev/mtd0ro
Warning: U-Boot configured device %s at address %llx,
but the device tree has it address %llx.
U-Boot** Invalid partition type "%.32s" (expect "U-Boot")
U-Boot BUG at %s:%d!
U-Boot 2014.07-tld-3 (Mar 31 2015 - 16:56:13)
Pogo E02root@debian:~#
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

das passt ja mal gut, nun gib mir die uboot-envs aus Debian mit dem Befehl:
fw_printenv
oder mit fw_printenv > myenvs.txt in Datei umleiten und hier zeigen.

PS: die NC (NetCat) Konfiguration wäre genau für solche Fälle gedacht.......
-> siehe Beschreibung
Warum sollte man NC (Netcat) konfigurieren?

Man kann den Startvorgang in der NC-Konsole unterbrechen (um Bootvariablen zu ändern) bzw.
mitlesen, was er bis zum Kernelstart macht oder eben nicht macht.
Sonst hat die Konfiguration von NC keine Auswirkung auf die Funktion des Systems, selbst der bootdelay von 10s kommt nur zu tragen wenn der Server (PC) im Netz online ist, an sonst bootet der Pogo fullspeed durch.
https://www.digital-eliteboard.com/threads/290292
gehe zum Punkt Beschreibung/Anleitung für NetCat

--joerg_999
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Tja...irgendwas ist faul im Staate Dänemark...was soll'n das jetzt?:

root@debian:~# cd /tmp
root@debian:/tmp# fw_printenv > myenvs.txt
Too few good blocks within range
root@debian:/tmp# fw_printenv
Too few good blocks within range

Diese Fehlermeldung habe ich zum Anlaß genommen und habe meinen Reserve E02 aus dem Schrank geholt - und jetzt kann ich bestätigen, dass Dein "Rezept" richtig ist, da ist das gewünschte Ergebnis:

root@debian:~# uname -a
Linux debian 4.2.0-kirkwood-tld-1 #1 PREEMPT Mon Aug 31 23:12:00 PDT 2015 armv5tel GNU/Linux
root@debian:~# cat /etc/debian_version
8.2

..und der erfolgreich erstellte Stick 8.2 lässt den "defekten" E02 nicht starten - also werden die envs nicht richtig sitzen. An die ich jedoch nicht herankomme, siehe obige Fehlermeldung. Dann bleibt er wohl auf 7.9 stehen.
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Too few good blocks within range
Sieht für mich so aus, als wäre der NAND schon ziemlich verschlissen
 
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Die kaputten Blöcke im nand kannst du mal checken mit:
Code:
dmesg | grep -i 'bad'
wenn da defekte Blöcke im 1MB (8Blocks) sind ist es blöd, sonst kein Problem.

--joerg_999
 
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

root@debian:~# dmesg | grep -i 'bad'
[ 15.357060] Scanning device for bad blocks
[ 15.361891] Bad eraseblock 6 at 0x0000000c0000

??? Damit kannst Du was anfangen?
 
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Du kannst dir das in etwa so vorstellen wobei der rote Bereich bei dir Defekte aufweist (leider genau wo die uboot-envs gelagert sind)
================================================================================
## uboot layout (mtd0) ##
================================================================================
.......................offset
Block 0 (128K) 0x0 --------------|

Block 1 (128K) 0x20000 --------|

Block 2 (128K) 0x40000 uboot | size 0x80000

Block 3 (128K) 0x60000 --------|
--------------------------------------|-->uboot 4 Blocks zu je 128K (Blocks 0-3)
Block 4 (128K) 0x80000 --------|

Block 5 (128K) 0xa0000

Block 6 (128K) 0xc0000 --------| size 0x20000
--------------------------------------|-->uboot envs 1 Block zu 128K (Block 6)

Block 7 (128K) 0xe0000 --------|

bis 0x100000 1M = 8 Blocks (0-7)

Offset und Size sind natürlich in Hex angegeben
Die Umrechnung der Blöcke in MB erfolgt so: 128K x 8 = 1024K = 1M
Eine Chance gibt es noch, du kannst die U-Boot envs in eine Datei (uEnv.txt) ins /boot Verzeichnis auf den Stick legen um so entweder den bad Blocks oder falsch konfigurierten envs im nand zu begegnen.
Die Datei wird vor den envs im nand und automatisch eingelesen wenn sie angelegt ist!
Das Ganze funktioniert ab der uboot Version 2014.07-tld-2.
Somit hast du Glück da du die Version
2014.07-tld-3 drauf hast.

PS: die Syntax in der Datei uEnv.txt muss folgende sein:
Code:
dtb_file=/boot/dts/kirkwood-pogo_e02.dtb
devices=usb
disks=0 1 2

--joerg_999
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Jetzt würde ich das nochmal versuchen wollen, bin aber an der Grenze meines geistigen Linux Horizontes angekommen....

Folgenden Inhalt würde ich also in einer uEnv.txt abspeichern und im Verzeichnis /boot ablegen, Deine Syntax Hinweise habe ich erfasst, aber bei den rot markierten Stellen bräuchte ich Rat. Falls ich das überhaupt rudimentär richtig verstanden habe :emoticon-0124-worri

arcNumber=2097
bootcmd_exec=mw 0x800000 0 1; run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 0x1100000; fi; else if run load_dtb; then bootm 0x800000 - 0x1c00000; else bootm 0x800000; fi; fi
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb
disks=0 1 2
ethact=egiga0
ethaddr=52:3b:20:9c:11:51 -> hier die original Mac Adresse eintragen?
if_netconsole=ping $serverip
ipaddr=192.168.0.xxx -> was hier, ich möchte DHCP...???
led_error=orange blinking
led_exit=green off
led_init=green blinking
dtb_file=/boot/dts/kirkwood-pogo_e02.dtb
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x1c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x1100000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x800000 /boot/uImage
machid=0x831
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start"; setenv scan_ide "ide reset"; setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if ext2load $dev $disknum:1 0x800000 /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.0.yyy
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_import=echo importing envs ...; env import -t 0x810000
uenv_init_devices=setenv init_usb "usb start"; setenv init_ide "ide reset"; setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices; do for disknum in 0; do run uenv_read_disk; done; done;
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read; fi; else if $devtype part $disknum; then run uenv_read; fi; fi
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x810000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
usb_ready_retry=15
 
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Im Prinzip genau so.
Hier sind mehrere Fragen von dir, die ich versuche zu beantworten:

Ich würde auf jeden Fall versuchen die mac Adresse direkt im nand zu speichern. (es ist ja hoffentlich nicht der gesamte Block 6 defekt)
Die Variablen ipaddr und serverip einfach mal freie Adressen in deiner Adressrange nehmen, die benötigt NC und haben keinen Einfluss auf die dhcp Adresse deines Pogos.
NC ersetzt in diesem Falle den USB/TTL Adapter mit dem du auf die Konsole Zugriff hättest. (Allerdings nur bis zum Kernelstart, was aber vollkommen reicht um den Bootvorgang zu beobachten bzw zu unterbrechen um Variablen temporär umzusetzen).

Beispiel:
Adressrange deines Netzwerkes : 192.168.1.1 - 192.168.1.255
Router hat zb.: 192.168.1.1
PC (Serverip) hat zb.: 192.168.1.100
dann mach für den Pogo (ipaddr) zb.: 192.168.1.10
Wenn du nun in einem Windows Commandfenster mittels NC auf den Pogo zugreifen möchtest sollte der PC (Server) eben die 192.168.1.100 haben dann erkennt das NC und du kannst während des Bootvorganges den Pogo unter 192.168.1.10 erreichen.
Deswegen benötigt man den Parameter bootdelay damit du den bootvorgang unterbrechen kannst (Countdown am Bilschirm).
Wenn er durch bootet ist alles wieder auf dhcp!

In die Datei uEnv.txt würde ich somit folgendes reinschreiben:
meine Erklärungen/Ergänzungen sind in Grün
arcNumber=3542 -> kannst du benutzen da du neuen Kernel hast!
bootcmd_exec=mw 0x800000 0 1; run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 0x1100000; fi; else if run load_dtb; then bootm 0x800000 - 0x1c00000; else bootm 0x800000; fi; fi
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb -> das passt hier du hast nur USB und kein MMC oder SATA beim Pogo E02!
disks=0 1 2 -> passt
ethact=egiga0
ethaddr=52:3b:20:9c:11:51 -> hier die original Mac Adresse eintragen? zuerst prüfen mit fw_printenv ethaddr ob eine gesetzt ist - ändern auch später möglich!
if_netconsole=ping $serverip
ipaddr=192.168.0.10 -> was hier, ich möchte DHCP...??? hast du nach dem durchbooten! (ist nur eine fixe IP während des Bootvorgangs für NC)
led_error=orange blinking
led_exit=green off
led_init=green blinking
dtb_file=/boot/dts/kirkwood-pogo_e02.dtb -> passt da du hier den passenden dtb File für den Pogo E02 lädst!
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x1c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x1100000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x800000 /boot/uImage
machid=dd6 -> kannst du benutzen da du neuen Kernel hast!
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start"; setenv scan_ide "ide reset"; setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if ext2load $dev $disknum:1 0x800000 /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.0.100 unbedingt setzen wie oben beschrieben!
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_import=echo importing envs ...; env import -t 0x810000
uenv_init_devices=setenv init_usb "usb start"; setenv init_ide "ide reset"; setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices; do for disknum in 0; do run uenv_read_disk; done; done;
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read; fi; else if $devtype part $disknum; then run uenv_read; fi; fi
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x810000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
usb_ready_retry=15
Möglicherweise kann man etwas weglassen aber wichtig sind die Ladebefehle die auf den USB Stick zeigen.
 
Zuletzt bearbeitet:
AW: Pogo E02 Neues Filesystem und Kernelupdate in einem Durchgang

Hallo,
bei dem Befehl apt-get remove flash-kernel
bekomme ich die Meldung
Package flash-kernel is not installed, so not removed

Weiß jemand, was das bedeutet?

Und beim nächsten befehl:
dpkg: file triggers record mentions illegal package name `udev/noawait' (for interest in file `/lib/udev/hwdb.d'): character `/' not allowed (only letters, digits and characters `-+._')
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…