• Home
  • Help
  • Search
  • Login
  • Register
  Show Posts
Pages: [1]
1  Hardware and U-Boot firmware / U-Boot stuff / u-boot Example Settings To Easily Switch Between TFTP/NFS and NAND on: April 11, 2009, 08:51:29 AM
Here are my u-boot variables of interest for switching between TFTP/NFS booting and NAND booting:

Code:
    serverip=10.0.0.159
    gatewayip=10.0.0.1
    netmask=255.255.255.0
    bootargs_end=:::DB88FXX81:eth0:none
    ipaddr=10.0.0.42
    console=console=ttyS0,115200 mtdparts=nand_mtd:0x00100000@0x00000000(uboot),0x00500000@0x00100000(uImage),0x1fa00000@0x00600000(rootfs)
    boottftp=tftpboot 0x2000000 uImage.sheeva.20090319
    bootnand=nand read.e 0x2000000 0x00100000 0x00500000
    bootargs_nand=root=/dev/mtdblock2 rw
    bootargs_nfs=root=/dev/nfs rw nfsroot=10.0.0.159:/tftpboot/root-ubuntu
    bootcmd=run bootnand;setenv bootargs $(console) $(bootargs_nand) ip=$(ipaddr):$(serverip)$(bootargs_end);bootm 0x2000000
    bootcmd_nand=run bootnand;setenv bootargs $(console) $(bootargs_nand) ip=$(ipaddr):$(serverip)$(bootargs_end);bootm 0x2000000
    bootcmd_nfs=run boottftp;setenv bootargs $(console) $(bootargs_nfs) ip=$(ipaddr):$(serverip)$(bootargs_end);bootm 0x2000000

The bootcmd_nand and bootcmd_nfs are just storage. Copy the desired boot type to the bootcmd variable and use "saveenv" to save it.
In the example, it is booting from nand flash.
2  Linux Stuff / Linux distributions / Re: Because the SheevaPlug comes already comes installed with Jaunty on: April 11, 2009, 06:52:25 AM
The only advantage I see is if the u-boot image needs to be upgraded. Mine came with the latest version (I re-installed everything to flash several times, it's how I gain familiarity) so I don't think it is necessary.

wview... excellent choice! Wink

Mark
3  Linux Stuff / Linux distributions / Re: Modifying the Ubuntu jffs2 Image on: April 11, 2009, 06:47:59 AM
Thanks! Good info...

My initial goal was to mount the ubuntu rootfs via NFS and do all apt upgrades and custom development that way. The problem is that udev and a few other packages that need to be upgraded don't like the NFS mount rootfs very much, so I have had to revert to setting up my rootfs image while it is running from nand flash.
4  Linux Stuff / Linux distributions / Modifying the Ubuntu jffs2 Image on: April 09, 2009, 12:17:06 PM
I would like to convert the ubuntu jffs2 disk image to a regular rootfs tree which I can use to add custom applications and configure to my liking, all the while booting from it via NFS.

Ultimately I would like to convert my rootfs tree back to a jffs2 image file suitable for flashing back to the nand flash on the sheevaPlug.

Is there any documentation about how to extract the root filesystem from the jffs2 image file and ultimately recreate the image file from my custom rootfs tree?

Thanks,
Mark
5  Linux Stuff / Linux distributions / Re: Debian running on the plug on: April 09, 2009, 10:06:25 AM
It appears he only has intentions right now, am I missing something?
6  Linux Stuff / General Linux questions / Re: NFS Root Filesystem Not Working on: April 09, 2009, 08:04:35 AM
After following the advice on a different post to untar the rootfs as root (using sudo), it works perfectly! I must have untarred the rootfs as my normal user then chown'd it to root before when it was not working.

Now onto building apps for the rootfs and perhaps creating a debian rootfs.
7  Linux Stuff / Kernel / Re: Included uImage too large to write to NAND on: April 09, 2009, 07:50:15 AM
Excellent! I must have untarred the rootfs as my normal user then chown'd it to root. After untarring it as root, it works perfectly.

Thanks!
Mark
8  Linux Stuff / Kernel / Re: Included uImage too large to write to NAND on: April 09, 2009, 06:04:35 AM
I can mount the rootfs from other linux boxes and from OSX. It is the rootfs distributed with sheevaPlug. I'm running atftp and the rootfs is at /tftpboot/rootfs.

TFTP boot is trivial with u-boot, been doing that for years. My env variables are similar to yours. Note that bootargs is set for the duration of the bootcmd execution and does not persist to the next boot (and your example in your env for bootargs is not correct). Further, placing a space before $(bootargs_end) is bad magic causing the plug to do DHCP.

I am not aware of any way to specify the filesystem from the client which is mounting root via NFS. rootpath=/tftpboot/rootfs

See my post at: http://openplug.org/plugforum/index.php?topic=23.0 for the output during the kernel boot. It appears to mount but can't find a console device and can't execute /sbin/init.
9  Linux Stuff / Kernel / Re: Included uImage too large to write to NAND on: April 08, 2009, 11:11:49 AM
You say you were booting from TFTP with an NFS mounted root filesystem? Could you possibly share your u-boot environment that works for nfs mounted root filesystem? I've been all over it and although it claims to mount, it cannot execute /sbin/init or /bin/bash from the supplied root filesystem.

Any clues would be appreciated.

Mark
10  Linux Stuff / General Linux questions / NFS Root Filesystem Not Working on: April 08, 2009, 06:34:16 AM
OK, received the sheevaPlug yesterday and immediately tried to get NFS root filesystem working. TFTP boot for the kernel image is working fine, but when the kernel tries to mount the NFS root filesystem, it fails with the following sequence:
Code:
Looking up port of RPC 100003/2 on 10.0.0.159
eth0: link up, full duplex, speed 100 Mbps
Looking up port of RPC 100005/1 on 10.0.0.159
VFS: Mounted root (nfs filesystem).
Freeing init memory: 104K
Warning: unable to open an initial console.
Failed to execute /bin/bash.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.

I changed the kernel boot arguments to use /bin/bash after it kept failing with the default (should be /sbin/init) and specifying "init=/sbin/init".
It appears to mount but cannot access files in the root filesystem. This is the root filesystem provided with the SheevaPlug which is busybox-centric. The NFS server logs an authenticated mount from the SheevaPlug IP address, no errors.

I'm beginning to believe that the root filesystem provided is incomplete. It certainly is missing a console device in /dev.
Ideas?

Thanks,
Mark
Pages: [1]