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
dpkg -i linux-image-4.10.0-kirkwood-tld-1_1.0_armel.deb
# Boot with DTB file (standard way to boot FDT kernel)
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
# Boot with DTB file embedded in the kernel image (no U-Boot envs changes are needed)
mv uImage uImage.orig
cp -a zImage-4.10.0-kirkwood-tld-1 zImage.fdt
cat dts/kirkwood-pogo_e02.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-4.10.0-kirkwood-tld-1 -d zImage.fdt 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
# booten nach neuer Methode mit getrenntem DTB File
fw_setenv load_dtb 'ext2load usb 0:1 0x1c00000 /boot/dts/kirkwood-pogo_e02.dtb'
fw_setenv load_initrd 'ext2load usb 0:1 0x1100000 /boot/uInitrd'
fw_setenv load_uimage 'ext2load usb 0:1 0x800000 /boot/uImage'
fw_setenv usb_boot 'run load_dtb; run load_uimage; if run load_initrd; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 - 0x1c00000; fi'
# alte Kerneln löschen
cd /boot
rm *3.16.*
rm *3.17.*
rm *3.18.*
rm *4.4.0*
sync
sync
sync
shutdown -h now
Option 1a (Neuerstellung Stick mit rootfs 3.18.5 mit integriertem DTB):
[...]
Wie gehe ich vor:
2.Stick in laufenden (debian)Pogo oder Linux PC stecken - sollte dann als sdb erscheinen
Code:# Stick mounten mkdir /media/sdb1 mount /dev/sdb1 /media/sdb1 cd /media/sdb1 # rootfilesystem downloaden und entpacken wget -c [URL="http://www.dropbox.com/s/wzvkbdy0vmi7jc6/Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2"]www.dropbox.com/s/wzvkbdy0vmi7jc6/Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2[/URL] tar -xjf Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2 cd /media/sdb1/boot cp -a zImage-3.18.5-kirkwood-tld-1 zImage.fdt cat dts/kirkwood-pogo_e02.dtb >> zImage.fdt mv uImage uImage.orig mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-3.18.5-kirkwood-tld-1 -d zImage.fdt uImage sync shutdown -h now # Strom kurz entfernen (cold reboot) # neu erstellten Stick in Pogo belassen original Stick raus und neu booten
[...]
:wacko1:[...]
Option 1a (Neuerstellung Stick mit rootfs 3.18.5 mit integriertem DTB):
[...]
Man hat bereits einen funktionierenden Pogo mit debian vom Stick laufen und erstellt einen
2. Stick (am selben Pogo) auf den das neue Debian-3.18.5-kirkwood-tld-1 rootfs mit neuem Kernel drauf entpackt wird.
[...]
Wie gehe ich vor:
2.Stick in laufenden (debian)Pogo oder Linux PC stecken - sollte dann als sdb erscheinen
[...]Code:# Stick mounten mkdir /media/sdb1 mount /dev/sdb1 /media/sdb1 cd /media/sdb1 # rootfilesystem downloaden und entpacken wget -c [URL="http://www.dropbox.com/s/wzvkbdy0vmi7jc6/Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2"]www.dropbox.com/s/wzvkbdy0vmi7jc6/Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2[/URL] tar -xjf Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2 cd /media/sdb1/boot cp -a zImage-3.18.5-kirkwood-tld-1 zImage.fdt cat dts/kirkwood-pogo_e02.dtb >> zImage.fdt mv uImage uImage.orig mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-3.18.5-kirkwood-tld-1 -d zImage.fdt uImage sync shutdown -h now # Strom kurz entfernen (cold reboot) # neu erstellten Stick in Pogo belassen original Stick raus und neu booten
Option 2: (Kernel mit getrennt geladenem DTB File)
Wer nur mehr die neuen "FDT" Kerneln (ab 3.17.0 / aktuell 4.2.0) benutzt, der sollte nach der neuen Methode booten um auch den gesamten Funktionsumfang
des neuen uboots ab (2014.07-tld-2) nutzen zu können.
(mehr dazu im u-boot threat....)
Dazu ist aber eine kleine Abänderung der u-boot Variablen erforderlich die eben kein starten von
" älteren Debian Kerneln (non-FDT)" mehr zulässt. (Ausgenommen ab uboot 2014.7-tld-2 da hier die boot envs vom Stick geladen werden können.)
Änderungen an den uboot-envs:###################################
# booten nach neuer Methode mit getrenntem DTB File
###################################
fw_setenv load_dtb 'ext2load usb 0:1 0x1c00000 /boot/dts/kirkwood-pogo_e02.dtb'
fw_setenv load_initrd 'ext2load usb 0:1 0x1100000 /boot/uInitrd'
fw_setenv load_uimage 'ext2load usb 0:1 0x800000 /boot/uImage'
fw_setenv usb_boot 'run load_dtb; run load_uimage; if run load_initrd; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 - 0x1c00000; fi'
Den Kernel erstellt man folgendermaßen:cd /boot
wget -cSie müssen registriert sein, um Links zu sehen.
tar -xjf linux-4.2.0-kirkwood-tld-1-bodhi.tar.bz2
tar -xf linux-dtb-4.2.0-kirkwood-tld-1.tar
dpkg -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
sync
shutdown -r now
# booten nach neuer Methode mit [B]getrennt geladenem DTB File[/B]
fw_setenv load_dtb 'ext2load usb 0:1 0x1c00000 /boot/dts/kirkwood-pogo_e02.dtb'
fw_setenv load_initrd 'ext2load usb 0:1 0x1100000 /boot/uInitrd'
fw_setenv load_uimage 'ext2load usb 0:1 0x800000 /boot/uImage'
fw_setenv usb_boot 'run load_dtb; run load_uimage; if run load_initrd; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 - 0x1c00000; fi'
# booten nach alter Methode mit integriertem DTB File
fw_setenv load_dtb
fw_setenv load_initrd
fw_setenv load_uimage
fw_setenv usb_boot 'mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi'
fw_setenv uenv_load 'usb start; mmc rescan; ide reset; setenv uenv_loaded 0; for devtype in usb mmc ide; do for disknum in 0; do run uenv_read_disk; done; done'
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; run bootcmd_pogo; reset
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?