Re: [yocto] [PATCH] sdcard-image: Use the size of the generated rootfs

2013-04-04 Thread Jan Schmidt
On Thu, 2013-04-04 at 11:37 +0100, Paul Eggleton wrote:
> On Thursday 14 March 2013 07:57:59 Jan Schmidt wrote:
> >

*snip*


> Looks like this is a patch for meta-raspberrypi although it isn't marked as 
> such. Andrei, have you seen this?

Rats - I knew I forgot something when re-sending the patch. Sorry - yes,
it should have a [meta-raspberrypi] tag.

J.

> 
> Cheers,
> Paul
> 

-- 
Jan Schmidt 

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs

2013-03-13 Thread Jan Schmidt
Hi Andrei,

Thanks for the reminder - I did find the problem with the original
patch, but didn't send it through yet. The problem was using du on a
sparse file and getting the size-on-disk, not the apparent size - making
the resulting partition too small. Using du -bks gets the correct size.

J.

On Wed, 2013-03-13 at 19:46 +0200, Andrei Gherzan wrote:
> Any news on this. Still waiting for patches :)
> 
> 
> On Sun, Jan 27, 2013 at 2:04 PM, Jan Schmidt 
> wrote:
> On Sun, 2013-01-27 at 13:32 +0200, Andrei Gherzan wrote:
> > On Sun, Jan 27, 2013 at 10:17:57PM +1100, Jan Schmidt wrote:
> > > On Sun, 2013-01-27 at 00:47 +0200, Andrei Gherzan wrote:
> > > > On Sat, Jan 26, 2013 at 10:18:24PM +1100, Jan Schmidt
> wrote:
> > > > > When constructing the SD card image, the code was
> using
> > > > > the inherited ROOTFS_SIZE, which is the size of the
> 
> 
> *snip*
> 
> > > > > --- a/classes/sdcard_image-rpi.bbclass
> > > > > +++ b/classes/sdcard_image-rpi.bbclass
> > > > > @@ -13,14 +13,16 @@ inherit image_types
> > > > >  #
> Default Free space = 1.3x
> > > > >  #
> Use IMAGE_OVERHEAD_FACTOR to add more space
> > > > >  #
> <->
> > > > > -#4KiB  20MiB
> SDIMG_ROOTFS
> > > > > +#4KiB ~20MiB
> SDIMG_ROOTFS
> > > >
> > > > Why ~20M? As you see in the class BOOT_SPACE ?= "20480".
> So that is 20MiB.
> > >
> > > I was trying to make it clear in the comment that if the
> user changes
> > > the BOOT_SPACE size, it will always be rounded up to the
> nearest 4MB. I
> > > couldn't think of a great way. Also, I didn't pay enough
> attention - the
> > > comment is saying IMAGE_ROOTFS_ALIGNMENT is 4kB, but it
> should be MiB.
> > >
> >
> > Uh, I understand now your point here. Well, I don't think
> that user needs to
> > know that if he wants 20470 as BOOT_SPACE, he's partition
> will end up 20480.
> > Because this is something related to performance and it's in
> his benefit after
> > all. So let's drop this for now.
> 
> 
> OK.
> 
> > About the 4kB thing - yes. Needs fix.
> 
> 
> OK.
> 
> *snip*
> 
> > > > > BOOT_SPACE_ALIGNED=$(expr
> ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} %
> ${IMAGE_ROOTFS_ALIGNMENT})
> > > > > -   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} +
> ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE +
> ${IMAGE_ROOTFS_ALIGNMENT})
> > > > > +   ROOTFS_SIZE=`du -ks ${SDIMG_ROOTFS} | awk
> '{print $1}'`
> > > >
> > > > Are you sure `du -ks ${ROOTFS_SIZE} | awk '{print $1}'`
> is aligned to
> > > > IMAGE_ROOTFS_ALIGNMENT? I'm not so sure about this. So
> you might need to align
> > > > it the way BOOT_SPACE is aligned.
> > >
> > > No, the ROOTFS_SIZE will be whatever the base recipe
> creates. I don't
> > > think it will have any particular alignment, except by
> accident - in the
> > > sense that it's probably stored on an ext3 filesystem that
> has 4kB
> > > allocation blocks and therefore 'du -sk' will round it up
> to that. We
> > > would need to explicitly round up to 4MiB, but I'm not
> sure why to do
> > > that -
> > >
> >
> > Check this out:
> >
> http://android.bytearrays.com/android/what-means-sd-card-alignment/
> 
> 
> Sure, but the largst cluster sizes I've seen are 32KB (do they
> come
> bigger yet?) 4MiB seems like a large amount for anticipation
> of future
> cluster sizes.
> 
> > > > > +   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} +
> ${BOOT_SPACE_ALIGNED} + ${ROOTFS_SIZE})
>

[yocto] [PATCH] sdcard-image: Use the size of the generated rootfs

2013-03-13 Thread Jan Schmidt
When constructing the SD card image, the code was using
the inherited ROOTFS_SIZE, which is the size of the
rootfs contents. When building (for example) a compressed
rootfs, this allocates a partition much larger than necessary.

Instead, take the size of the generated rootfs file that is
about to be written into the generated image, and round it
up to the IMAGE_ROOTFS_ALIGNMENT size.

Fix some comments - the alignment is 4MiB, not 4KiB.

Signed-off-by: Jan Schmidt 
---
 classes/sdcard_image-rpi.bbclass |   30 ++
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass
index 421f561..3f0a16e 100644
--- a/classes/sdcard_image-rpi.bbclass
+++ b/classes/sdcard_image-rpi.bbclass
@@ -13,14 +13,14 @@ inherit image_types
 # Default Free space = 1.3x
 # Use 
IMAGE_OVERHEAD_FACTOR to add more space
 # <->
-#4KiB  20MiB   SDIMG_ROOTFS
+#4MiB  20MiB   SDIMG_ROOTFS
 # <---> <--> <-->
-#     
---
-# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE| 
IMAGE_ROOTFS_ALIGNMENT|
-#     
---
-# ^^^^ 
  ^
-# |||| 
  |
-# 0  4096 4KiB + 20MiB   4KiB + 20Mib + 
SDIMG_ROOTFS   4KiB + 20MiB + SDIMG_ROOTFS + 4KiB
+#    
+# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE|
+#    
+# ^^^^
+# ||||
+# 0  4MiB 4MiB + 20MiB   4MiB + 20Mib + 
SDIMG_ROOTFS
 
 
 # Set kernel and boot loader
@@ -29,7 +29,7 @@ IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
 # Boot partition volume id
 BOOTDD_VOLUME_ID ?= "${MACHINE}"
 
-# Boot partition size [in KiB]
+# Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT)
 BOOT_SPACE ?= "20480"
 
 # Set alignment to 4MB [in KiB]
@@ -60,18 +60,24 @@ IMAGE_CMD_rpi-sdimg () {
# Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} 
% ${IMAGE_ROOTFS_ALIGNMENT})
-   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
$ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
+   ROOTFS_SIZE=`du -bks ${SDIMG_ROOTFS} | awk '{print $1}'`
+# Round up RootFS size to the alignment size as well
+   ROOTFS_SIZE_ALIGNED=$(expr ${ROOTFS_SIZE} + ${IMAGE_ROOTFS_ALIGNMENT} - 
1)
+   ROOTFS_SIZE_ALIGNED=$(expr ${ROOTFS_SIZE_ALIGNED} - 
${ROOTFS_SIZE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
+   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
${ROOTFS_SIZE_ALIGNED})
+
+   echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB 
and RootFS ${ROOTFS_SIZE_ALIGNED} KiB"
 
# Initialize sdcard image file
-   dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* 
${SDIMG_SIZE})
+   dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
 
# Create partition table
parted -s ${SDIMG} mklabel msdos
# Create boot partition and mark it as bootable
parted -s ${SDIMG} unit KiB mkpart primary fat32 
${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ 
${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on
-   # Create rootfs partition
-   parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
+   # Create rootfs partition to the end of disk
+   parted -s ${SDIMG} -- unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) -1s
parted ${SDIMG} print
 
# Create a vfat image with boot files
-- 
1.7.10.4

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs

2013-01-27 Thread Jan Schmidt
On Sun, 2013-01-27 at 13:32 +0200, Andrei Gherzan wrote:
> On Sun, Jan 27, 2013 at 10:17:57PM +1100, Jan Schmidt wrote:
> > On Sun, 2013-01-27 at 00:47 +0200, Andrei Gherzan wrote:
> > > On Sat, Jan 26, 2013 at 10:18:24PM +1100, Jan Schmidt wrote:
> > > > When constructing the SD card image, the code was using
> > > > the inherited ROOTFS_SIZE, which is the size of the

*snip*

> > > > --- a/classes/sdcard_image-rpi.bbclass
> > > > +++ b/classes/sdcard_image-rpi.bbclass
> > > > @@ -13,14 +13,16 @@ inherit image_types
> > > >  # Default Free 
> > > > space = 1.3x
> > > >  # Use 
> > > > IMAGE_OVERHEAD_FACTOR to add more space
> > > >  # <->
> > > > -#4KiB  20MiB   SDIMG_ROOTFS
> > > > +#4KiB ~20MiB   SDIMG_ROOTFS
> > >
> > > Why ~20M? As you see in the class BOOT_SPACE ?= "20480". So that is 20MiB.
> >
> > I was trying to make it clear in the comment that if the user changes
> > the BOOT_SPACE size, it will always be rounded up to the nearest 4MB. I
> > couldn't think of a great way. Also, I didn't pay enough attention - the
> > comment is saying IMAGE_ROOTFS_ALIGNMENT is 4kB, but it should be MiB.
> >
> 
> Uh, I understand now your point here. Well, I don't think that user needs to
> know that if he wants 20470 as BOOT_SPACE, he's partition will end up 20480.
> Because this is something related to performance and it's in his benefit after
> all. So let's drop this for now.

OK.

> About the 4kB thing - yes. Needs fix.

OK.

*snip*

> > > > BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - 
> > > > ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
> > > > -   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + 
> > > > ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
> > > > +   ROOTFS_SIZE=`du -ks ${SDIMG_ROOTFS} | awk '{print $1}'`
> > >
> > > Are you sure `du -ks ${ROOTFS_SIZE} | awk '{print $1}'` is aligned to
> > > IMAGE_ROOTFS_ALIGNMENT? I'm not so sure about this. So you might need to 
> > > align
> > > it the way BOOT_SPACE is aligned.
> >
> > No, the ROOTFS_SIZE will be whatever the base recipe creates. I don't
> > think it will have any particular alignment, except by accident - in the
> > sense that it's probably stored on an ext3 filesystem that has 4kB
> > allocation blocks and therefore 'du -sk' will round it up to that. We
> > would need to explicitly round up to 4MiB, but I'm not sure why to do
> > that -
> >
> 
> Check this out:
> http://android.bytearrays.com/android/what-means-sd-card-alignment/

Sure, but the largst cluster sizes I've seen are 32KB (do they come
bigger yet?) 4MiB seems like a large amount for anticipation of future
cluster sizes.

> > > > +   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + 
> > > > ${BOOT_SPACE_ALIGNED} + ${ROOTFS_SIZE})
> > > >
> > > > # Initialize sdcard image file
> > > > dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* 
> > > > ${SDIMG_SIZE})
> > > > @@ -71,7 +74,7 @@ IMAGE_CMD_rpi-sdimg () {
> > > > parted -s ${SDIMG} unit KiB mkpart primary fat32 
> > > > ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ 
> > > > ${IMAGE_ROOTFS_ALIGNMENT})
> > > > parted -s ${SDIMG} set 1 boot on
> > > > # Create rootfs partition
> > > > -   parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
> > > > ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr 
> > > > ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
> > > > +   parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
> > > > ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr 
> > > > ${SDIMG_SIZE} - 1)
> > > > parted ${SDIMG} print
> > >
> > > Don't think that -1 is needed here.
> >
> > No, you're right - it shouldn't be. I got a weird error where parted
> > failed to create the partition in the image file, saying it ran past the
> > end. Possibly related to the error you mentioned you saw that made you
> > pad with IMAGE_ROOTFS_ALIGNMENT in the first place. I thin

[yocto] [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs

2013-01-26 Thread Jan Schmidt
When constructing the SD card image, the code was using
the inherited ROOTFS_SIZE, which is the size of the
rootfs contents. When building (for example) a compressed
rootfs, this allocates a partition much larger than necessary.

Instead, take the size of the generated rootfs file that is
about to be written into the generated image.

Also remove the extra ${IMAGE_ROOTFS_ALIGNMENT} padding at
the end of the image, as it isn't needed now.

Signed-off-by: Jan Schmidt 
---
 classes/sdcard_image-rpi.bbclass |   23 +--
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass
index 421f561..fdac3b2 100644
--- a/classes/sdcard_image-rpi.bbclass
+++ b/classes/sdcard_image-rpi.bbclass
@@ -13,14 +13,16 @@ inherit image_types
 # Default Free space = 1.3x
 # Use 
IMAGE_OVERHEAD_FACTOR to add more space
 # <->
-#4KiB  20MiB   SDIMG_ROOTFS
+#4KiB ~20MiB   SDIMG_ROOTFS
 # <---> <--> <-->
-#     
---
-# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE| 
IMAGE_ROOTFS_ALIGNMENT|
-#     
---
-# ^^^^ 
  ^
-# |||| 
  |
-# 0  4096 4KiB + 20MiB   4KiB + 20Mib + 
SDIMG_ROOTFS   4KiB + 20MiB + SDIMG_ROOTFS + 4KiB
+#    
+# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE|
+#    
+# ^^^^
+# ||||
+# 0  4096 4KiB + ~20MiB  4KiB + ~20Mib + 
SDIMG_ROOTFS
+# rounded up to
+#  IMAGE_ROOTFS_ALIGNMENT
 
 
 # Set kernel and boot loader
@@ -29,7 +31,7 @@ IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
 # Boot partition volume id
 BOOTDD_VOLUME_ID ?= "${MACHINE}"
 
-# Boot partition size [in KiB]
+# Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT)
 BOOT_SPACE ?= "20480"
 
 # Set alignment to 4MB [in KiB]
@@ -60,7 +62,8 @@ IMAGE_CMD_rpi-sdimg () {
# Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} 
% ${IMAGE_ROOTFS_ALIGNMENT})
-   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
$ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
+   ROOTFS_SIZE=`du -ks ${SDIMG_ROOTFS} | awk '{print $1}'`
+   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
${ROOTFS_SIZE})
 
# Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* 
${SDIMG_SIZE})
@@ -71,7 +74,7 @@ IMAGE_CMD_rpi-sdimg () {
parted -s ${SDIMG} unit KiB mkpart primary fat32 
${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ 
${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on
# Create rootfs partition
-   parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
+   parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${SDIMG_SIZE} - 1)
parted ${SDIMG} print
 
# Create a vfat image with boot files
-- 
1.7.10.4

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs

2013-01-26 Thread Jan Schmidt
On Sat, 2013-01-26 at 12:26 +0200, Andrei Gherzan wrote:
> 
> On Jan 26, 2013 10:53 AM, "Jan Schmidt"  wrote:
> >
> > On Sat, 2013-01-26 at 02:19 +0200, Andrei Gherzan wrote:
> > > On Fri, Jan 25, 2013 at 3:33 PM, Jan Schmidt
> 
> > > wrote:
> >
> > >
> > >
> > > This is a good idea but you will have to align the new ROOTFS_SIZE
> > > to IMAGE_ROOTFS_ALIGNMENT.
> > >
> > > +   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} +
> > > ${BOOT_SPACE_ALIGNED} + ${ROOTFS_SIZE})
> > >
> > >
> > > So you are actually removing IMAGE_ROOTFS_ALIGNMENT space at the
> end
> > > of the sd image. Why are you doing this? Nothing stated in the
> > > comment.
> >
> > Sorry, yeah - I forgot to mention it. I removed it because it's
> > pointless. It's not actually aligning to anything (it doesn't
> calculate
> > an alignment based on the difference between the ROOTFS_SIZE and
> some
> > target multiple). Instead, it was just arbitrarily padding some
> > megabytes onto the end of the image file.
> >
> 
> Makes sense. I added that because we had a strange bug where the final
> sdimg file size was not enough. Maybe this was fixed now - something
> related to parted. Please add your comment and modify the asci
> partition layout in the bbclass file too.

It may have been the use of the inherited ROOTFS_SIZE, which will be
slightly smaller than the ext3 fs produced, because it measure the size
of the contents of the fs.

I'll re-send the patch.

> 
> Thanks,
> Andrei
> 
> 
> 
> Thanks,
> 

-- 
Jan Schmidt 

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs

2013-01-26 Thread Jan Schmidt
On Sat, 2013-01-26 at 02:19 +0200, Andrei Gherzan wrote:
> On Fri, Jan 25, 2013 at 3:33 PM, Jan Schmidt 
> wrote:

> 
> 
> This is a good idea but you will have to align the new ROOTFS_SIZE
> to IMAGE_ROOTFS_ALIGNMENT.
>  
> +   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} +
> ${BOOT_SPACE_ALIGNED} + ${ROOTFS_SIZE}) 
> 
> 
> So you are actually removing IMAGE_ROOTFS_ALIGNMENT space at the end
> of the sd image. Why are you doing this? Nothing stated in the
> comment.

Sorry, yeah - I forgot to mention it. I removed it because it's
pointless. It's not actually aligning to anything (it doesn't calculate
an alignment based on the difference between the ROOTFS_SIZE and some
target multiple). Instead, it was just arbitrarily padding some
megabytes onto the end of the image file.

J.

> 
> 
> 
> ag

-- 
Jan Schmidt 

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs

2013-01-25 Thread Jan Schmidt
When constructing the SD card image, the code was using
the inherited ROOTFS_SIZE, which is the size of the
rootfs contents. When building (for example) a compressed
rootfs, this allocates a partition much larger than necessary.

Instead, take the size of the generated rootfs file that is
about to be written into the generated image.

Signed-off-by: Jan Schmidt 
---
 classes/sdcard_image-rpi.bbclass |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass
index 421f561..355ff9c 100644
--- a/classes/sdcard_image-rpi.bbclass
+++ b/classes/sdcard_image-rpi.bbclass
@@ -60,7 +60,8 @@ IMAGE_CMD_rpi-sdimg () {
# Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} 
% ${IMAGE_ROOTFS_ALIGNMENT})
-   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
$ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
+   ROOTFS_SIZE=`du -ks ${SDIMG_ROOTFS} | awk '{print $1}'`
+   SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
${ROOTFS_SIZE})
 
# Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* 
${SDIMG_SIZE})
@@ -71,7 +72,7 @@ IMAGE_CMD_rpi-sdimg () {
parted -s ${SDIMG} unit KiB mkpart primary fat32 
${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ 
${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on
# Create rootfs partition
-   parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
+   parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${SDIMG_SIZE} - 1)
parted ${SDIMG} print
 
# Create a vfat image with boot files
-- 
1.7.10.4

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] [meta-raspberrypi][PATCH 2/3] bcm2835-bootfiles: Bump the firmware revision

2013-01-25 Thread Jan Schmidt
* Pull in a newer firmware revision (0ac68c 7th Jan 2013) from
  https://github.com/raspberrypi/firmware for various fixes and
  improvements

Signed-off-by: Jan Schmidt 
---
 recipes-bcm/common/firmware.inc |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes-bcm/common/firmware.inc b/recipes-bcm/common/firmware.inc
index 83f9214..166bb7b 100644
--- a/recipes-bcm/common/firmware.inc
+++ b/recipes-bcm/common/firmware.inc
@@ -1,6 +1,6 @@
-# 31/10/2012 firmware; this can be overridden from distro config
-RPIFW_SRCREV ?= "537c78b113d06e37e2cca90a0b3d3f39a129ee23"
-RPIFW_DATE ?= "20121031"
+# 7/1/2013 firmware; this can be overridden from distro config
+RPIFW_SRCREV ?= "0ac68cce44d4550c251172e8524100090e8211fa"
+RPIFW_DATE ?= "20130107"
 
 SRCREV = "${RPIFW_SRCREV}"
 PV = "${RPIFW_DATE}"
-- 
1.7.10.4

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] [meta-raspberrypi][PATCH 1/3] linux: Add a Linux 3.6 kernel recipe

2013-01-25 Thread Jan Schmidt
* Add a recipe to build the linux kernel from the rpi-3.6.y branch at
  https://github.com/raspberrypi/linux
* Since this has a higher version, it will be the preferred linux kernel
  by default.

Signed-off-by: Jan Schmidt 
---
 recipes-kernel/linux/linux-raspberrypi_3.6.11.bb |   34 ++
 1 file changed, 34 insertions(+)
 create mode 100644 recipes-kernel/linux/linux-raspberrypi_3.6.11.bb

diff --git a/recipes-kernel/linux/linux-raspberrypi_3.6.11.bb 
b/recipes-kernel/linux/linux-raspberrypi_3.6.11.bb
new file mode 100644
index 000..caee7f2
--- /dev/null
+++ b/recipes-kernel/linux/linux-raspberrypi_3.6.11.bb
@@ -0,0 +1,34 @@
+require linux.inc
+
+DESCRIPTION = "Linux kernel for the RaspberryPi board"
+COMPATIBLE_MACHINE = "raspberrypi"
+
+PR = "r6"
+PV_append = "+git${SRCREV}"
+
+SRCREV = "31a951046155b27361127d9cf85a1f58719fe9b3"
+SRC_URI = 
"git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.6.y \
+  "
+S = "${WORKDIR}/git"
+
+# NOTE: For now we pull in the default config from the RPi kernel GIT tree.
+KERNEL_DEFCONFIG = "bcmrpi_defconfig"
+
+# CMDLINE for raspberrypi
+CMDLINE_raspberrypi = "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 
kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
+
+UDEV_GE_141 ?= "1"
+
+do_configure_prepend() {
+   install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} 
${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / 
${KERNEL_DEFCONFIG} available."
+}
+
+do_install_prepend() {
+   install -d ${D}/lib/firmware
+}
+
+do_deploy_append() {
+   # Deploy cmdline.txt
+   install -d ${DEPLOYDIR}/bcm2835-bootfiles
+   echo "${CMDLINE}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt
+}
-- 
1.7.10.4

___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto