Re: [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts

2017-06-27 Thread Sascha Hauer
On Tue, Jun 27, 2017 at 11:45:44AM +0200, Daniel Schultz wrote:
> Hi Sascha,
> 
> > Normally the desired behaviour is that the bootsource can be changed
> > persistently by setting nv.boot.default to the desired source. This
> > does not work when global.boot.default gets overwritten after the nvvars
> > have been read from the environment.
> > 
> > This behaviour is not changed with this patch, but I would welcome a
> > patch that changes this script to the desired behaviour. This could
> > be done by changing global.boot.default only when nv.boot.default is
> > empty.
> > 
> 
> This is already implemented by a test above these changes, isn't it?
> 
> snippet from init/bootsource:
>   1 #!/bin/sh
> 
>   2
>   3 if [ -n "$nv.boot.default" ]; then
>   4 exit
>   5 fi

Yes, right, that already does it. Sorry for the noise.

Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts

2017-06-27 Thread Daniel Schultz

Hi Sascha,

Am 26.06.2017 um 08:35 schrieb Sascha Hauer:

On Tue, Jun 20, 2017 at 05:42:22PM +0200, Daniel Schultz wrote:

Expand the boot scripts with EMMC and add a default file source for
expansions.

Removed "rw" and "rootwait" bootargs from existing boot scripts.


Why is "rootwait" removed? From my experience adding "rootwait" is
pretty essential when booting from mmc. Has that changed?

Ah that's a good point! We add these commands in Yocto, but I forgot the 
use case without Yocto. So I will add a nv/linux.bootargs.rootfs file 
with "rootwait ro fsck.repair=yes" (fsck.repair is a systemd unit).


  
-if [ $bootsource = mmc ]; then

-   global.boot.default="mmc nand spi net"
+if [ -e /dev/mmc1.0 ]; then
+   nvmem="emmc"
+else
+   nvmem="nand"
+fi
+
+if [ $bootsource = mmc -a $bootsource_instance = 1 ]; then
+   global.boot.default="emmc mmc spi net"
+elif [ $bootsource = mmc -a $bootsource_instance = 0 ]; then
+   global.boot.default="mmc $nvmem spi net"
  elif [ $bootsource = nand ]; then
global.boot.default="nand spi mmc net"
  elif [ $bootsource = spi ]; then
-   global.boot.default="spi nand mmc net"
+   global.boot.default="spi $nvmem mmc net"
  elif [ $bootsource = net ]; then
-   global.boot.default="net nand spi mmc"
+   global.boot.default="net $nvmem spi mmc"
  fi


Normally the desired behaviour is that the bootsource can be changed
persistently by setting nv.boot.default to the desired source. This
does not work when global.boot.default gets overwritten after the nvvars
have been read from the environment.

This behaviour is not changed with this patch, but I would welcome a
patch that changes this script to the desired behaviour. This could
be done by changing global.boot.default only when nv.boot.default is
empty.



This is already implemented by a test above these changes, isn't it?

snippet from init/bootsource:
  1 #!/bin/sh 

  2 

  3 if [ -n "$nv.boot.default" ]; then 

  4 exit 

  5 fi 

  6 


  7 if [ -e /dev/mmc1.0 ]; then
  ...


Sascha



--
Mit freundlichen Grüßen,
With best regards,
  Daniel Schultz

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts

2017-06-26 Thread Sascha Hauer
On Tue, Jun 20, 2017 at 05:42:22PM +0200, Daniel Schultz wrote:
> Expand the boot scripts with EMMC and add a default file source for
> expansions.
> 
> Removed "rw" and "rootwait" bootargs from existing boot scripts.

Why is "rootwait" removed? From my experience adding "rootwait" is
pretty essential when booting from mmc. Has that changed?

>  
> -if [ $bootsource = mmc ]; then
> - global.boot.default="mmc nand spi net"
> +if [ -e /dev/mmc1.0 ]; then
> + nvmem="emmc"
> +else
> + nvmem="nand"
> +fi
> +
> +if [ $bootsource = mmc -a $bootsource_instance = 1 ]; then
> + global.boot.default="emmc mmc spi net"
> +elif [ $bootsource = mmc -a $bootsource_instance = 0 ]; then
> + global.boot.default="mmc $nvmem spi net"
>  elif [ $bootsource = nand ]; then
>   global.boot.default="nand spi mmc net"
>  elif [ $bootsource = spi ]; then
> - global.boot.default="spi nand mmc net"
> + global.boot.default="spi $nvmem mmc net"
>  elif [ $bootsource = net ]; then
> - global.boot.default="net nand spi mmc"
> + global.boot.default="net $nvmem spi mmc"
>  fi

Normally the desired behaviour is that the bootsource can be changed
persistently by setting nv.boot.default to the desired source. This
does not work when global.boot.default gets overwritten after the nvvars
have been read from the environment.

This behaviour is not changed with this patch, but I would welcome a
patch that changes this script to the desired behaviour. This could
be done by changing global.boot.default only when nv.boot.default is
empty.

Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


[PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts

2017-06-20 Thread Daniel Schultz
Expand the boot scripts with EMMC and add a default file source for
expansions.

Removed "rw" and "rootwait" bootargs from existing boot scripts.
Added "rootflags='data=journal'" bootarg to SD card boot script.

Signed-off-by: Daniel Schultz 
---
 .../phytec-som-am335x/defaultenv-physom-am335x/boot/emmc |  5 +
 .../phytec-som-am335x/defaultenv-physom-am335x/boot/mmc  |  7 +++
 .../phytec-som-am335x/defaultenv-physom-am335x/boot/nand |  2 +-
 .../phytec-som-am335x/defaultenv-physom-am335x/boot/spi  |  2 +-
 .../defaultenv-physom-am335x/init/bootsource | 16 
 5 files changed, 22 insertions(+), 10 deletions(-)
 create mode 100644 
arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/emmc

diff --git 
a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/emmc 
b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/emmc
new file mode 100644
index 000..b1792a6
--- /dev/null
+++ b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/emmc
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+global.bootm.image=/mnt/mmc1.0/linuximage
+global.bootm.oftree=/mnt/mmc1.0/oftree
+global.linux.bootargs.dyn.root="root=/dev/mmcblk1p2 rootflags='data=journal'"
diff --git 
a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/mmc 
b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/mmc
index 834669d..77a076d 100644
--- a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/mmc
+++ b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/mmc
@@ -1,6 +1,5 @@
 #!/bin/sh
 
-global.bootm.image=/boot/linuximage
-global.bootm.oftree=/boot/oftree
-
-global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rw rootwait"
+global.bootm.image=/mnt/mmc0.0/linuximage
+global.bootm.oftree=/mnt/mmc0.0/oftree
+global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'"
diff --git 
a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/nand 
b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/nand
index ece44b7..33f5f02 100644
--- a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/nand
+++ b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/nand
@@ -5,4 +5,4 @@
 global.bootm.image="/dev/nand0.root.ubi.kernel"
 global.bootm.oftree="/dev/nand0.root.ubi.oftree"
 
-global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rw 
rootfstype=ubifs"
+global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs"
diff --git 
a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/spi 
b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/spi
index 71c5834..a321aa9 100644
--- a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/spi
+++ b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/boot/spi
@@ -4,4 +4,4 @@ global.bootm.image="/dev/m25p0.kernel"
 global.bootm.oftree="/dev/m25p0.oftree"
 
 # Use rootfs from NAND
-global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=nand0.root rw 
rootfstype=ubifs"
+global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=nand0.root 
rootfstype=ubifs"
diff --git 
a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/init/bootsource 
b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/init/bootsource
index 3f2ff4b..61a0879 100644
--- a/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/init/bootsource
+++ b/arch/arm/boards/phytec-som-am335x/defaultenv-physom-am335x/init/bootsource
@@ -4,12 +4,20 @@ if [ -n "$nv.boot.default" ]; then
exit
 fi
 
-if [ $bootsource = mmc ]; then
-   global.boot.default="mmc nand spi net"
+if [ -e /dev/mmc1.0 ]; then
+   nvmem="emmc"
+else
+   nvmem="nand"
+fi
+
+if [ $bootsource = mmc -a $bootsource_instance = 1 ]; then
+   global.boot.default="emmc mmc spi net"
+elif [ $bootsource = mmc -a $bootsource_instance = 0 ]; then
+   global.boot.default="mmc $nvmem spi net"
 elif [ $bootsource = nand ]; then
global.boot.default="nand spi mmc net"
 elif [ $bootsource = spi ]; then
-   global.boot.default="spi nand mmc net"
+   global.boot.default="spi $nvmem mmc net"
 elif [ $bootsource = net ]; then
-   global.boot.default="net nand spi mmc"
+   global.boot.default="net $nvmem spi mmc"
 fi
-- 
1.9.1


___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox