[PATCH 0/4] defaultenv boot updates

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Apr 11 06:17:52 EDT 2011


On 12:16 Mon 11 Apr     , Sascha Hauer wrote:
> Hi,
> 
> On Fri, Apr 08, 2011 at 03:37:13PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > HI,
> > 
> > 	this following patch series make boot script more configurable
> > 
> > 
> 
> I'm getting the impression that we stretch the capabilities of our shell
> way beyond its limits. We started with booting from nand/nor/net and
> added mmc cards later. Still this is not flexible enough to handle
> images for example on a fat filesystem, not to mention different kernels
> on one medium.
> 
> I was thinking about this topic a bit, and my idea currently is
> to add a command with which we can build a list of images. An image can
> be a kernel or a filesystem image. Each image can be associated with
> a bootarg snippet and a command to execute to access this image.
> 
I like the idea

as we can be multiple user of the same harware so it will simplify it

> Altogether this could look like this:
> 
> linux [OPTIONS]
> 
>  -a <name>    add a new image
>  -f <file>    path to image
>  -b <bootarg> kernel bootargs to append for this image
>  -z           This is a zImage
>  -u           This is a uImage
>  -r <adr>     This is a raw kernel image to be started at address <adr>
>  -l           The image is lzo compressed
-C <compression>
>  -i           Show currently registered images
-l for list
>  -d           delete all registered images
-d too delete all :(

I think -d should delete only one
-D for all
> 
> 
> example:
> 
> barebox at Phytec phyCORE pcm049:/ linux -a kernel.nand -f /dev/nand0.kernel.bb -z
> barebox at Phytec phyCORE pcm049:/ linux -a kernel.mmc -f /dev/disk0.1 -c "mci0.probe=1" -r 0x80008000 -l
what is this -c ?
> barebox at Phytec phyCORE pcm049:/ linux -a kernel.net -f /tftp/zImage-pcm038 -c /env/bin/netinit -z
> barebox at Phytec phyCORE pcm049:/ linux -a root.nand -b "root=ubi0:root ubi.mtd=7 rootfstype=ubifs" -f /dev/nand0.root.bb
> barebox at Phytec phyCORE pcm049:/ linux -a root.nfs -b "root=/dev/nfs nfsroot=$nfsroot,v3,tcp"
> barebox at Phytec phyCORE pcm049:/ linux -a root.net.ext2 -f /tftp/root-pcm038.ext2 -c /env/bin/netinit
> barebox at Phytec phyCORE pcm049:/ linux -i
> kernel.nand (zImage)
>         file: /dev/nand0.kernel.bb
> kernel.mmc (raw at 80008000, lzo)
>         file: /dev/disk0.1
>         command: mci0.probe=1
> kernel.net (zImage)
>         file: /tftp/zImage-pcm038
>         command: /env/bin/netinit
> root.nand
>         file: /dev/nand0.root.bb
>         bootarg: root=ubi0:root ubi.mtd=7 rootfstype=ubifs
> root.nfs
>         bootarg: root=/dev/nfs nfsroot=192.168.23.2:/home/sha/nfsroot/pcm049,v3,tcp
> root.net.ext2
>         file: /tftp/root-pcm038.ext2
>         command: /env/bin/netinit
> barebox at Phytec phyCORE pcm049:/
> 
> 
> Then we can play tricks like:
> 
> boot kernel from nand with nfsroot:
> 
> barebox at Phytec phyCORE pcm049:/ boot kernel.nand root.nfs
> 
> Update kernel from network to nand:
> 
> barebox at Phytec phyCORE pcm049:/ update kernel.net kernel.nand
> 
> Most probably there are problems I haven't thought about yet, but what
> do think about it in general?
I like the idea

but we should use the menu to manage it?

Best Regards,
J.



More information about the barebox mailing list