I got an i-Connect and wanted to setup a small NAS/Audio server on it. I successfully installed ArchLinux, booting from an USB disk, following http://archlinuxarm.org/forum/viewtopic.php?t=1472.
This is a simple move: it just changes the bootcmd to scan usb port first and boot from /boot/uImage if it can be found.
Everything worked fine, but an ArchLinux update broke the system. Apparently, the last version of systemd (the replacement of init used in ArchLinux) requires a new kernel. I updated the kernel but the new kernel install warned me that it requires a recent version of uBoot to work, so I decided to try to update the uboot following http://forum.doozan.com/read.php?3,12381 using the iconnect uboot image provided there (great resource).
I must confess I skipped step 3 (and this one alone).
The MTD had no bad block in the region of uboot (dmesg), I erased, flashed with the untar'd image and checked the env variables with no problem. They were all unchanged (including the eth MAC address).
I wanted to get netconsole in case something might fail. So over the existing env, I changed the ipaddr and serverip
and added
and rebooted. The crossed fingers did not help. I get nothing on netconsole (nc -l -u -p 6666 remains quiet on the serverip side). When the iconnect boots, the blue LED lights (in the weak mode) after 2 to 3 seconds, and then... nothing happens (as far as I can see).
I set up the netconsole because I do not have a serial access.
Before I rebooted, the env variables were as follows:
Note that the internal flash (kernel/root) is the original iConnect firmware, which will probably not boot (because of the different arcnumber in the new uboot and the old one).
Is the 'weak blue led on' after 2.5" a sign of (relative) health ?
Any idea of where the issue could be ?
I assume a serial or worse JTAG access is now needed to unbrick it. Correct ?
This is a simple move: it just changes the bootcmd to scan usb port first and boot from /boot/uImage if it can be found.
Everything worked fine, but an ArchLinux update broke the system. Apparently, the last version of systemd (the replacement of init used in ArchLinux) requires a new kernel. I updated the kernel but the new kernel install warned me that it requires a recent version of uBoot to work, so I decided to try to update the uboot following http://forum.doozan.com/read.php?3,12381 using the iconnect uboot image provided there (great resource).
I must confess I skipped step 3 (and this one alone).
so I do not have a backup image.Quote
3. Be sure to save your current uBoot image in mtd0, or have a backup image saved somewhere as precaution.
The MTD had no bad block in the region of uboot (dmesg), I erased, flashed with the untar'd image and checked the env variables with no problem. They were all unchanged (including the eth MAC address).
I wanted to get netconsole in case something might fail. So over the existing env, I changed the ipaddr and serverip
and added
fw_setenv if_netconsole 'ping $serverip' fw_setenv start_netconsole 'setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;' fw_setenv preboot 'run if_netconsole start_netconsole'
and rebooted. The crossed fingers did not help. I get nothing on netconsole (nc -l -u -p 6666 remains quiet on the serverip side). When the iconnect boots, the blue LED lights (in the weak mode) after 2 to 3 seconds, and then... nothing happens (as far as I can see).
I set up the netconsole because I do not have a serial access.
Before I rebooted, the env variables were as follows:
baudrate=115200 loads_echo=0 rootpath=/mnt/ARM_FS/ netmask=255.255.255.0 usbstart=usb start run_diag=yes console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x1ff00000@0x100000(root) CASset=min MALLOC_len=1 bootargs_root=root=/dev/nfs rw bootargs_end=:::orion:eth0:none image_name=uImage standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000; ethmtu=1500 eth1addr=00:50:43:5a:1a:2d eth1mtu=1500 mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500 usb0Mode=host yuk_ethaddr=00:00:00:EE:51:81 netretry=no rcvrip=169.254.100.100 loadaddr=0x02000000 autoload=no iomega=123 nandEcc=1bit ethprime=egiga0 ethact=egiga0 arcNumber=1682 uboot_start=0x0 uboot_size=0xc0000 env_start=0xa0000 env_size=0x20000 kernel_start=0x100000 kernel_size=0x300000 initrd_start=0x540000 initrd_size=0x300000 boot_start=0x980000 boot_size=0x1f400000 flash_load=run make_boot_args load1 load2 boot load1=nand read.e 0x2000000 $(kernel_start) $(kernel_size) load2=nand read.e 0x4500000 $(initrd_start) $(initrd_size) boot=bootm 0x2000000 0x4500000 krn=run a b c rd=run d e f a=tftp 0x2000000 zImage b=nand erase $(kernel_start) $(kernel_size) c=nand write.e 0x2000000 $(kernel_start) $(kernel_size) d=tftp 0x4500000 initrd e=nand erase $(initrd_start) $(initrd_size) f=nand write.e 0x4500000 $(initrd_start) $(initrd_size) flashall=run krn rd make_boot_args=setenv bootargs console=ttyS0,115200 mtdparts=orion_nand:;setenv bootargs $(bootargs)$(uboot_size)@$(uboot_start)(uboot),;setenv bootargs $(bootargs)$(env_size)@$(env_start)(env),;setenv bootargs $(bootargs)$(kernel_size)@$(kernel_start)(zImage),;setenv bootargs $(bootargs)$(initrd_size)@$(initrd_start)(initrd),;setenv bootargs $(bootargs)$(boot_size)@$(boot_start)(boot) stdin=serial stdout=serial stderr=serial mainlineLinux=yes enaMonExt=no enaCpuStream=no enaWrAllo=no pexMode=RC disL2Cache=no setL2CacheWT=yes disL2Prefetch=yes enaICPref=yes enaDCPref=yes sata_dma_mode=yes netbsd_en=no vxworks_en=no bootdelay=3 disaMvPnp=no hddPowerCtrl=no enaAutoRecovery=yes pcieTune=no ethaddr=00:D0:B8:0D:29:C5 make_bootsetenv=make_boot_args setenv bootargs console=ttyS0,115200 mtdparts=orion_nand:;setenv bootargs $(bootargs)$(uboot_size)@$(uboot_start)(uboot),;setenv bootargs $(bootargs)$(env_size)@$(env_start)(env),;setenv bootargs $(bootargs)$(kernel_size)@$(kernel_start)(zImage),;setenv bootargs $(bootargs)$(initrd_size)@$(initrd_start)(initrd),;setenv bootargs bootargs=setenv bootargs console=ttyS0,115200 boot_starsetenv=boot_start 0x980000 boot_sizesetenv=boot_size 0x1f400000 MAPOWERENV=Ver. 1.1.25 Chinese usb_scan_1=setenv usb 0:1; setenv dev sda1 usb_scan_2=setenv usb 1:1; setenv dev sdb1 usb_scan_3=setenv usb 2:1; setenv dev sdc1 usb_scan_4=setenv usb 3:1; setenv dev sdd1 usb_scan_5=setenv usb 0:1; setenv dev sda2 usb_scan_6=setenv usb 1:1; setenv dev sdb2 usb_scan_7=setenv usb 2:1; setenv dev sdc2 usb_scan_8=setenv usb 3:1; setenv dev sdd2 bootcmd_usb_1=run usb_scan_1;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000 bootcmd_usb_2=run usb_scan_2;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000 bootcmd_usb_3=run usb_scan_3;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000 bootcmd_usb_4=run usb_scan_4;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /boot/uImage;bootm 0x00800000 bootcmd_usb_5=run usb_scan_5;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000 bootcmd_usb_6=run usb_scan_6;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000 bootcmd_usb_7=run usb_scan_7;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000 bootcmd_usb_8=run usb_scan_8;run make_usb_bootargs;ext2load usb $(usb) 0x00800000 /uImage;bootm 0x00800000 make_usb_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/$(dev) rootdelay=10 bootcmd_usb=usb start;run bootcmd_usb_1;run bootcmd_usb_2;run bootcmd_usb_3;run bootcmd_usb_4;run bootcmd_usb_5;run bootcmd_usb_6;run bootcmd_usb_7;run bootcmd_usb_8 bootcmd=run bootcmd_usb; run flash_load ipaddr=192.168.0.7 serverip=192.168.0.1 if_netconsole=ping $serverip start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version; preboot=run if_netconsole start_netconsole
Note that the internal flash (kernel/root) is the original iConnect firmware, which will probably not boot (because of the different arcnumber in the new uboot and the old one).
Is the 'weak blue led on' after 2.5" a sign of (relative) health ?
Any idea of where the issue could be ?
I assume a serial or worse JTAG access is now needed to unbrick it. Correct ?