Pogoplug V4: Boot Kernel from NAND May 30, 2022 06:51PM |
Registered: 9 years ago Posts: 104 |
mtdpartsOriginal value:
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)New value:
setenv mtdparts ‘mtdparts=orion_nand:1M(u-boot),-(data)’Save the change
saveenvReboot
reset
flash_eraseall -j /dev/mtd1Setup the filesystem
cd /boot ; mkdir flashkernel ; mount -t jffs2 /dev/mtdblock1 /boot/flashkernel/
cp uImage ./flashkernel/ ; cp uInitrd ./flashkernel/ ; mkdir /boot/flashkernel/dts ; cp dts/kirkwood-pogoplug_v4.dtb ./flashkernel/dts
chpart data fsload $load_uimage_addr uImage fsload $load_initrd_addr uInitrd fsload $load_dtb_addr dts/kirkwood-pogoplug_v4.dtb run set_bootargs bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr
arcNumber=3960 bootargs=console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 mtdparts=orion_nand:1M(u-boot),-(data) bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; if test "$bootdev" = "nand"; then run bootcmd_flash_exec; else run bootcmd_exec; fi bootcmd_exec=run load_uimage; 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_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi bootcmd_flash_exec=chpart data; run load_nand_uimage; if run load_nand_initrd; then if run_nand_dtb; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 0x1100000; fi; else if run load_nand_dtb; then bootm 0x800000 - 0x1c00000; fi bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi bootdelay=10 bootdev=nand device=0:1 devices=usb ide mmc disks=0 1 2 3 dtb_file=/dts/kirkwood-pogoplug_v4.dtb ethact=egiga0 ethaddr=00:25:31:XX:XX:XX fileaddr=800000 filesize=1 if_netconsole=ping $serverip init_ide=ide reset init_mmc=mmc rescan init_usb=usb start ipaddr=192.168.0.231 led_error=orange blinking led_exit=green off led_init=green blinking load_dtb=echo loading DTB $dtb_file...; load $bootdev $device $load_dtb_addr /boot$dtb_file load_dtb_addr=0x1c00000 load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd load_initrd_addr=0x1100000 load_nand_dtb=echo loading DTB $dtb_file from nand...; fsload $load_dtb_addr $dtb_file load_nand_initrd=echo loading uInitrd from nand...; fsload 0x1100000 uInitrd load_nand_uimage=echo loading uImage from nand...; fsload 0x800000 uImage load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage load_uimage_addr=0x800000 machid=f78 mainlineLinux=yes mtdids=nand0=orion_nand mtdparts=mtdparts=orion_nand:1M(u-boot),-(data) partition=nand0,1 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 load $dev $disknum:1 $load_uimage_addr /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 scan_ide=ide reset scan_mmc=mmc rescan scan_usb=usb start serverip=192.168.0.220 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_addr=0x810000 uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize 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_loaded=0 uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi 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 usb_ready_retry=15
/dev/mtdblock1 /boot/flashkernel jffs2 defaults 0 1
Re: Pogoplug V4: Boot Kernel from NAND May 31, 2022 12:49AM |
Admin Registered: 14 years ago Posts: 19,295 |
Re: Pogoplug V4: Boot Kernel from NAND June 16, 2022 06:06PM |
Admin Registered: 14 years ago Posts: 19,295 |
Quote
Booting Debian on Pogoplug
...
Booting Pogoplug V4 with Kernel from NAND