HURRAH it now works, thanks to all your help and no need to make a new
kernel or uboot!
Here is how its done at a high level, I will be writing it up in more
detail on the Misterhouse on Beglebone instructions
<http://misterhouse.wikispaces.com/BeagleBoneBlack>.
1) Flash an SD card with the standard (non eMMC flashing) Debian image from
here <http://beagleboard.org/latest-images>
2) Set up an NFS share on your NAS/PC/whatever
3) Boot your Bone with the SD Card
4) Set the Bone to have a static IP address by editing
/etc/netwotk/interfaces reboot and check it works
4) NFS mount the shared drive from the Bone ( e.g. mount -o nfsvers=3
192.168.10.118:/home/bone /mnt/nfs)
5) sudo to root on the Bone and do all the rest of the Bone stuff as root
6) copy everything to the NFS drive. The second step seems unnecessary,
but its quick compared with the first
cp -axv /. /mnt/nfs/.
cp -axv /dev/. /mnt/nfs/dev/.
7) edit the /mnt/nfs/etc/fstab to add
/dev/nfs / nfs defaults 0 0
and comment out the other root partition,
8) Edit your /boot/uboot/uEnv.txt add the following lines - changed to
match your configuration
serverip=192.168.10.118
ipaddr=192.168.10.47
hostname=MH_bbb
netmask=255.255.255.0
gateway=192.168.10.1
nfsdevice=eth0:off
nfsopts=vers=3
rootpath=/home/bone/rootfs
comment out the line that starts mmcargs as follows;
#mmcargs=setenv bootargs
add a new netargs line - note all on one line, not broken as here
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs
nfsroot=${serverip}:${rootpath}
ip=${ipaddr}:${serverip}:${gateway}:${netmask}:${hostname}:${nfsdevice}
and finally replace the uenvcmd with this;
uenvcmd=run loadfiles; run netargs; bootz ${loadaddr}
${initrd_addr}:${initrd_size} ${fdtaddr}
Reboot and you should be able to ssh into your Bone, hear your disk drive
whizzing and see your extra disk space with a df.
For completeness I've attached my uEnv.txt
Thanks again
Giles
On Wednesday, 30 July 2014 17:43:50 UTC+1, john3909 wrote:
>
>
> From: Giles Godart-Brown <[email protected] <javascript:>>
> Reply-To: "[email protected] <javascript:>" <
> [email protected] <javascript:>>
> Date: Wednesday, July 30, 2014 at 12:24 AM
> To: "[email protected] <javascript:>" <[email protected]
> <javascript:>>
> Subject: Re: [beagleboard] unable to boot Beaglebone Black from NFS
>
> Thanks for your help, but sadly, on this version a uEnv.txt just
> containing;
> console=ttyO0,115200n8
> client_ip=192.168.10.47
> server_ip=192.168.10.118
> gw_ip=192.168.10.1
> root_dir=/home/bone/bbb_nfs_root
>
> does not work, it doesn't even fire up the ethernet port (no activity
> lights), I'm guessing because there is no eth0 defined and its perhaps
> trying to fire up the USB network or something.
>
> Make sure you are using the latest version of u-boot. I’m using
>
> U-Boot 2014.07-00014-gdc7e38e
>
> This is the v2014.07 with Robert Nelsons u-boot patch
>
>
> https://github.com/RobertCNelson/Bootloader-Builder/blob/master/patches/v2014.07/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
>
> Or follow the instructions here:
>
>
> http://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-Bootloader:U-Boot
>
> Regards,
> John
>
>
> I'll try the rsync method once I can ping the beaglebone
>
> G
>
> On Wednesday, 30 July 2014 03:05:41 UTC+1, john3909 wrote:
>>
>>
>> From: Giles Godart-Brown <[email protected]>
>> Reply-To: "[email protected]" <[email protected]>
>> Date: Tuesday, July 29, 2014 at 2:26 PM
>> To: "[email protected]" <[email protected]>
>> Subject: [beagleboard] unable to boot Beaglebone Black from NFS
>>
>> I've seen many posts about how to boot a Beaglebone black via an NFS
>> mounted root partition, but none seem to work with the latest version.
>> I started by creating an NFS mount on my Ubuntu PC and successfully
>> mounting it from the Beaglebone when booted from an SD image of the latest
>> version dated 2013.06.20
>> <https://s3.amazonaws.com/angstrom/demo/beaglebone/Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.06.20.img.xz>
>> from
>> the Beaglebone site. All the commands below were done as root.;
>> uname -a
>> Linux beaglebone 3.8.13-bone50 ....
>> Then test the mount with;
>> mount -o nfsvers=3 192.168.10.118:/home/bone /mnt/nfs
>> Next I copied the entire filesystem to the nfs mount with
>> cp -axv /. /mnt/nfs/.
>>
>> I’m not sure this is going to work because you are attempting to copy
>> dynamic files and folders. Rather insert the SDCard into your host and do
>> the following:
>> sudo rsync -avz /mnt/rootfs/ /home/<userid>/targetNFS/
>>
>>
>> I've edited the fstab on the nfs (/home/bone/etc/fstab) to add
>> /dev/nfs / nfs defaults 0 0
>> and correctly edited /home/bone/etc/network/interface to reflect the
>> correct IP address etc.
>> Next I edited the uEnv.txt on the SD card to add
>> serverip=192.168.10.118
>> ipaddr=192.168.10.47
>> hostname=MH_bbb
>> netmask=255.255.255.0
>> gateway=192.168.10.1
>> nfsdevice=eth0:off
>> nfsopts=vers=3
>> rootpath=/home/bone
>> and changed the mmcargs line to;
>> mcargs=setenv bootargs console=tty0 console=${console} ${optargs}
>> ${cape_disable} ${cape_enable} ${kms_force_mode}
>> ip=${ipaddr}:${serverip}:${gateway}:${netmask}:${hostname}:${nfsdevice}
>> root=/dev/nfs rw nfsroot=${serverip}:${rootpath},${nfsopts} ${systemd}
>> The Bone starts to boot and I can ping it on the correct IP address, but
>> the display never shows anything and it doesn't let me ssh to it.
>> Can anyone let me know what I've missed?
>> Thanks
>>
>> This is my complete uEnv.txt:
>>
>> ==============================
>> client_ip=10.100.116.105
>> server_ip=10.100.116.73
>> gw_ip=10.100.116.1
>> root_dir=/home/<userid>/targetNFS
>> ==============================
>>
>> Replace <userid> with your own desktop login id and replace client_ip,
>> server_ip and gw_ip addresses as required.
>>
>>
>>
>>
>>
>> --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
##Enable systemd
systemd=quiet init=/lib/systemd/systemd
##note: the eMMC flasher script relies on the next line
mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc
##These are needed to be compliant with Angstrom's 2013.06.20 u-boot.
console=ttyO0,115200n8
kernel_file=zImage
initrd_file=initrd.img
loadaddr=0x82000000
initrd_addr=0x88080000
fdtaddr=0x88000000
initrd_high=0xffffffff
fdt_high=0xffffffff
## nfs paramters - edit to match your network and nfs location
serverip=192.168.10.35
ipaddr=192.168.10.47
hostname=MH_bbb
netmask=255.255.255.0
gateway=192.168.10.1
nfsdevice=eth0:off
nfsopts=vers=3
rootpath=/i-data/e08fc1dd/nfs/bb_rootfs
loadkernel=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${kernel_file}
loadinitrd=load mmc ${mmcdev}:${mmcpart} ${initrd_addr} ${initrd_file}; setenv
initrd_size ${filesize}
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} /dtbs/${fdtfile}
loadfiles=run loadkernel; run loadinitrd; run loadfdt
#mmcargs=setenv bootargs console=tty0 console=${console} ${optargs}
${cape_disable} ${cape_enable} ${kms_force_mode} root=${mmcroot}
rootfstype=${mmcrootfstype} ${systemd}
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs
nfsroot=${serverip}:${rootpath}
ip=${ipaddr}:${serverip}:${gateway}:${netmask}:${hostname}:${nfsdevice}
uenvcmd=run loadfiles; run netargs; bootz ${loadaddr}
${initrd_addr}:${initrd_size} ${fdtaddr}