Pogo-Plug er en 15 år gammel computer med en 1.2 GHz ARM CPU, Gigabit ethernet og 256 Mb RAM.Denne gang skal vi installere OpenWRT
Pogo-Pluggen har jo også en indbygget flash-disk 128-256 Mb, nok til langt de fleste IOT applikationer. I denne blog-post beskriver jeg hvordan jeg installerer Klipper som basis system på den indbyggede flash-disk og derefter installere jeg Klipper til styring af en 3D printer.
På Doozan Forum er der beskrivelser af hvordan man kan installere OpenWRT som et Rescue system på sin Pogo-Plug. Jeg anser min netværks bootede Pogo-Plugs som backup-løsningen, og systemet der er installeret på den interne flash-disk som target i de tilfælde hvor en stand-alone løsning er at foretrække.
OpenWRT på Pogo-Plug er ganske udmærket supporteret, det er blot at finde de relevante bidder, installere dem, og konfigure uBoot til at boote OpenWRT, når først den første OpenWRT er installeret, fungerer den som en hvilket somhelst OpenWRT system, og kan opgraderes via WEB/ssh, hvilket bestemt er noget værd.
- OpenWRT: CloudEngines Pogoplug V2 POGO-E02
- OpenWRT: CloudEngines Pogoplug V4
- Pogoplug Mobile – Potentially the Best OpenWRT Platform @ $10 shipped
- PogoPlug Mobile – Install OpenWrt on internal flash …
- OpenWrt (Lede) on Pogo E02 HowTo
- HowTo: OpenWrt on Kirkwood boxes
- Make and flash a ubifs openwrt into not-supported kirkwood devices
- OpenWRT 24.10.2 kirkwood Downloads
Jeg bruger ikke uBoot-versionen fra OpenWRT, men i stedet Bodhi’s se
OpenWRT på Pogo-Plug, som jeg installerede det
Download
- OpenWRT: cloudengines_pogoplugv4-initramfs-uImage
- OpenWRT: cloudengines_pogoe02-squashfs-sysupgrade.bin
Den første (.uImage), indeholder en openWRT der kan køres alene fra RAM, den skal vi boote, f.ex ved at kopiere den til FAT-usbstick som man så kan boote Pogo-Plug fra.
Med OpenWRT bootet på RAM-disk opgraderes på vanlig vis, via sysupgrade, der vil installere en ny version af OpenWRT på den interne Flash-disk. sysupgrade.bin filen hentes direkte fra OpenWRT med wget.
cd /tmp
wget -O sysupgrade.bin https://downloads.openwrt.org/releases/24.10.2/targets/kirkwood/generic/openwrt-24.10.2-kirkwood-generic-cloudengines_pogoe02-squashfs-sysupgrade.bin
sysupgrade sysupgrade.bin
Også i fremtiden er upgrade processen præcis som andre OpenWRT systemer.
Det enesste som er en lille smule svært er at konfigure uBoot til at boote fra hhv uImage på USB-stick, og OpenWRT instaleret på den interne Flash-Disk.
Nedenfor er output fra fw_printenv
$ fw_printenv
sudo: unable to resolve host pogo1: Name or service not known
addr_fdt=addr=0x700000
addr_uImage=addr=0x800000
addr_uInitrd=addr=0x1100000
addr_zImage=addr=0x800000
arcName=pogo_e02
arcNumber=3542
baudrate=115200
bootcmd=for dev in $default usbfat owrt nfs tftp; do if env exist "${dev}_boot"; then run ${dev}_boot; else run dev_bootz; fi; done; reset
bootdelay=3
console=ttyS0,115200
default=nfs
dev_bootm=run ${dev}_init; run set_bootargs; echo "dev_boot $dev $bootargs"; for blob in uImage uInitrd; do run load_dev_blob; done; bootm $uImage_addr $uInitrd_addr;
dev_bootz=run ${dev}_init; run set_bootargs; echo "dev_boot $dev $bootargs"; for blob in fdt zImage uInitrd; do run load_dev_blob; done; bootz $zImage_addr $uInitrd_addr $fdt_addr;
ethact=egiga0
ethaddr=00:25:31:03:00:00
file_fdt=file=dts/kirkwood-${arcName}.dtb
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dev_blob=run addr_$blob; if env exists file_$blob; then run file_$blob; else file=$blob; fi; setenv ${blob}_addr $addr; echo "dev=$dev blob=$blob file=$file addr=$addr ${blob}_addr"; run ${dev}_load;
machid=0x831
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),-(ubi)
nc_if=ping $serverip
nc_init=setenv autoload no; dhcp
nc_preboot=run nc_init; setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run nc_if; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run nc_start; fi
nc_start=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
nfs_init=setenv autoload no; dhcp; setenv options root=/dev/nfs rootfstype=nfs rootwait nfsroot=$rootpath,v3 ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:eth0:off
nfs_load=nfs $addr $rootpath/boot/$file
owrt_boot=run set_bootargs;ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000 $bootargs
partition=nand0,2
set_bootargs=setenv bootargs "console=$console $nc_options $options $mtdparts"
sntp_init=setenv autoload no; dhcp; setenv ntpserverip $serverip; sntp
stderr=serial
stdin=serial
stdout=serial
tftp_init=run nfs_init
tftp_load=tftpboot $addr $serverip:$file
usbfat_boot=run set_bootargs;usb start; fatload usb 0:1 0x800000 uImage; bootm 0x800000
Næste gang installeres Klipper
