mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts
@ 2017-06-20 15:42 Daniel Schultz
  2017-06-26  6:35 ` Sascha Hauer
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Schultz @ 2017-06-20 15:42 UTC (permalink / raw)
  To: barebox

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 <d.schultz@phytec.de>
---
 .../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 0000000..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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts
  2017-06-20 15:42 [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts Daniel Schultz
@ 2017-06-26  6:35 ` Sascha Hauer
  2017-06-27  9:45   ` Daniel Schultz
  0 siblings, 1 reply; 4+ messages in thread
From: Sascha Hauer @ 2017-06-26  6:35 UTC (permalink / raw)
  To: Daniel Schultz; +Cc: barebox

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-5555 |

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts
  2017-06-26  6:35 ` Sascha Hauer
@ 2017-06-27  9:45   ` Daniel Schultz
  2017-06-27 14:36     ` Sascha Hauer
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Schultz @ 2017-06-27  9:45 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts
  2017-06-27  9:45   ` Daniel Schultz
@ 2017-06-27 14:36     ` Sascha Hauer
  0 siblings, 0 replies; 4+ messages in thread
From: Sascha Hauer @ 2017-06-27 14:36 UTC (permalink / raw)
  To: Daniel Schultz; +Cc: barebox

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-5555 |

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-06-27 14:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-20 15:42 [PATCH v5] arm: boards: phytec-som-am335x: Update boot scripts Daniel Schultz
2017-06-26  6:35 ` Sascha Hauer
2017-06-27  9:45   ` Daniel Schultz
2017-06-27 14:36     ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox