All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs
@ 2013-01-26 11:18 Jan Schmidt
       [not found] ` <20130126224705.GA17428@gmail.com>
  0 siblings, 1 reply; 11+ messages in thread
From: Jan Schmidt @ 2013-01-26 11:18 UTC (permalink / raw)
  To: yocto

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 <thaytan@noraisin.net>
---
 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



^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [meta-raspberrypi][PATCH 1/3] linux: Add a Linux 3.6 kernel recipe
@ 2013-01-25 13:33 Jan Schmidt
  2013-01-25 13:33 ` [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs Jan Schmidt
  0 siblings, 1 reply; 11+ messages in thread
From: Jan Schmidt @ 2013-01-25 13:33 UTC (permalink / raw)
  To: yocto

* 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 <thaytan@noraisin.net>
---
 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 0000000..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



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

end of thread, other threads:[~2013-05-01 20:16 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-26 11:18 [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs Jan Schmidt
     [not found] ` <20130126224705.GA17428@gmail.com>
     [not found]   ` <51050cf0.a952420a.022b.5f25SMTPIN_ADDED_BROKEN@mx.google.com>
2013-01-27 11:32     ` Andrei Gherzan
2013-01-27 12:04       ` Jan Schmidt
     [not found]       ` <510517ec.8752420a.75af.fffffe36SMTPIN_ADDED_BROKEN@mx.google.com>
2013-03-13 17:46         ` Andrei Gherzan
2013-03-13 21:03           ` Jan Schmidt
     [not found]           ` <5140e9b9.a8b7320a.12d8.fffffb01SMTPIN_ADDED_BROKEN@mx.google.com>
2013-05-01 20:15             ` Andrei Gherzan
  -- strict thread matches above, loose matches on Subject: below --
2013-01-25 13:33 [meta-raspberrypi][PATCH 1/3] linux: Add a Linux 3.6 kernel recipe Jan Schmidt
2013-01-25 13:33 ` [meta-raspberrypi][PATCH 3/3] sdcard-image: Use the size of the generated rootfs Jan Schmidt
2013-01-26  0:19   ` Andrei Gherzan
2013-01-26  8:53     ` Jan Schmidt
     [not found]     ` <5103997b.a3e8440a.60aa.ffffa1c8SMTPIN_ADDED_BROKEN@mx.google.com>
2013-01-26 10:26       ` Andrei Gherzan
2013-01-26 11:13         ` Jan Schmidt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.