From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from arroyo.ext.ti.com (arroyo.ext.ti.com [192.94.94.40]) by arago-project.org (Postfix) with ESMTPS id ED01E529DF for ; Wed, 10 Dec 2014 18:22:54 +0000 (UTC) Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id sBAIMsfk030356 for ; Wed, 10 Dec 2014 12:22:54 -0600 Received: from DFLE72.ent.ti.com (dfle72.ent.ti.com [128.247.5.109]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id sBAIMsH2015491 for ; Wed, 10 Dec 2014 12:22:54 -0600 Received: from dflp33.itg.ti.com (10.64.6.16) by DFLE72.ent.ti.com (128.247.5.109) with Microsoft SMTP Server id 14.3.174.1; Wed, 10 Dec 2014 12:22:53 -0600 Received: from localhost (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp33.itg.ti.com (8.14.3/8.13.8) with ESMTP id sBAIMrZN008102; Wed, 10 Dec 2014 12:22:53 -0600 Date: Wed, 10 Dec 2014 13:22:53 -0500 From: Denys Dmytriyenko To: "Cooper Jr., Franklin" Message-ID: <20141210182252.GG5113@edge> References: <1418222049-9374-1-git-send-email-j-stiffler@ti.com> <20141210174112.GD5113@edge> <8F29D6B095ED194EA1980491A5E029710C7AB090@DFLE08.ent.ti.com> MIME-Version: 1.0 In-Reply-To: <8F29D6B095ED194EA1980491A5E029710C7AB090@DFLE08.ent.ti.com> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: "meta-arago@arago-project.org" Subject: Re: [tisdk-build-scripts][PATCH] package-sdks: Generate the SD Card image. X-BeenThere: meta-arago@arago-project.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Arago metadata layer for TI SDKs - OE-Core/Yocto compatible List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Dec 2014 18:22:55 -0000 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline On Wed, Dec 10, 2014 at 12:55:28PM -0500, Cooper Jr., Franklin wrote: > > > > -----Original Message----- > > From: meta-arago-bounces@arago-project.org [mailto:meta-arago- > > bounces@arago-project.org] On Behalf Of Dmytriyenko, Denys > > Sent: Wednesday, December 10, 2014 11:41 AM > > To: Stiffler, Jacob > > Cc: meta-arago@arago-project.org > > Subject: Re: [meta-arago] [tisdk-build-scripts][PATCH] package-sdks: > > Generate the SD Card image. > > > > Jake, > > > > Why invent another method to create an SD card? We've had too many of > > those already... > > For example, here's an old but complete one, that Chase and Franklin had in > > AMSDK and it is still being packaged in our SDKs from ti-tisdk-setup recipe: > > http://arago-project.org/git/projects/?p=tisdk-setup- > > scripts.git;a=blob;f=create-sdcard.sh;hb=HEAD > > > > Moreover, under the Yocto Project, there is an effort to provide a > > standardized tool called "wic" that takes care of creating and partitioning > > bootable disks and SD cards. The best feature of it is not requiring root or > > sudo access! I was already looking at it, but it had some bugs in Daisy > > release, that got fixed in the new release that we'll be migrating to in the > > near future. And wic tool is planned to be adopted for our SDK products. > > > > So, for now, I'd refrain from creating another custom script to create an SD > > card... > [Franklin] So we created an image using the commands that Jake is using in > his script due to people still complaining that they can't create an SD Card > on Windows. We actually created a manual image as part of the SDK download > page for SDK 7.0. However, I am all for using an alternative solution if wic > would work. The reason why I never submitted similar patches was due to my > dislike of consuming system resources (loop devices) and all the required > sudo commands. I understand those are the same commands, but I was suggesting to try to reuse the existing script, especially since it's already part of the SDK. It can be modified to accomodate any necessary fixes... > > On Wed, Dec 10, 2014 at 09:34:09AM -0500, Jacob Stiffler wrote: > > > Signed-off-by: Jacob Stiffler > > > --- > > > lib/oesdk/package-sdks | 82 > > ++++++++++++++++++++++++++++++++++++++++++++++++ > > > 1 file changed, 82 insertions(+) > > > > > > diff --git a/lib/oesdk/package-sdks b/lib/oesdk/package-sdks > > > index 31a44b6..dc3eb13 100644 > > > --- a/lib/oesdk/package-sdks > > > +++ b/lib/oesdk/package-sdks > > > @@ -9,6 +9,84 @@ then > > > exit 1 > > > fi > > > > > > +create_sd_card_img() { > > > + m="$1" > > > + > > > + sd_card_img_file="${m}-${TISDK_VERSION}.img" > > > + > > > + # Make the machine specific SD card directory > > > + sd_card_img_root="$DEPLOY_ROOT/$m/$BUILD_ID/sd_card_img" > > > + > > > + if [ -d $sd_card_img_root ] > > > + then > > > + rm -rf $sd_card_img_root > > > + fi > > > + mkdir -p $sd_card_img_root > > > + > > > + cd $sd_card_img_root > > > + > > > + ## Create an image file full of zeros > > > + dd if=/dev/zero of="${sd_card_img_file}" bs=1024 count=$[2000*1024] > > > + > > > + ## Mount the file to the loopback device > > > + sudo losetup /dev/loop0 "${sd_card_img_file}" > > > + > > > + ## Partition the loopback into 2 partitions > > > + sudo parted -s /dev/loop0 mklabel msdos > > > + sudo parted -s /dev/loop0 unit cyl mkpart primary fat32 -- 0 9 > > > + sudo parted -s /dev/loop0 set 1 boot on > > > + sudo parted -s /dev/loop0 unit cyl mkpart primary ext2 -- 9 -2 > > > + > > > + ## Format the partitions with the necessary filesystems > > > + sudo mkfs.vfat -F 32 -I -n boot /dev/loop0p1 > > > + sudo mkfs.ext3 -L rootfs /dev/loop0p2 > > > + > > > + ## Use fdisk to get offsets (will need to multiply by blocksize (512)) > > > + sudo fdisk -l ${sd_card_img_file} > > > + > > > + local FDISK_INFO=`sudo fdisk -l "${sd_card_img_file}"` > > > + > > > + local UNIT_SIZE=`echo "$FDISK_INFO" | grep Units | awk '{ print $9 }'` > > > + > > > + local P1_START=`echo "$FDISK_INFO" | grep "${sd_card_img_file}1" | > > awk '{ print $3 }'` > > > + local P1_END=`echo "$FDISK_INFO" | grep "${sd_card_img_file}1" | > > awk '{ print $4 }'` > > > + > > > + local P2_START=`echo "$FDISK_INFO" | grep "${sd_card_img_file}2" | > > awk '{ print $2 }'` > > > + local P2_END=`echo "$FDISK_INFO" | grep "${sd_card_img_file}2" | > > awk '{ print $3 }'` > > > + > > > + ## Unmount the loopback device > > > + sudo losetup -d /dev/loop0 > > > + > > > + ## Mount the individual partitions of the loopback device for file > > copying > > > + ## The Start (after-o option) and sizelimit numbers come from > > multiplying the output > > > + ## of fdisk above by blocksize (512 in this case) for the appropriate > > partition. > > > + ## 1048576 = 2048 * 512 > > > + ## 74448384 = 145407 * 512 > > > + sudo losetup /dev/loop0 "${sd_card_img_file}" -o $[$P1_START * > > $UNIT_SIZE] --sizelimit $[$P1_END * $UNIT_SIZE] > > > + > > > + mkdir ./temp_boot > > > + sudo mount -t vfat /dev/loop0 ./temp_boot > > > + sudo tar xzf ${sd_card_root}/boot_partition.tar.gz -C ./temp_boot/ > > > + > > > + ## Follow the above steps using numbers for the second partition. > > > + sudo losetup /dev/loop1 "${sd_card_img_file}" -o $[$P2_START * > > $UNIT_SIZE] --sizelimit $[$P2_END * $UNIT_SIZE] > > > + mkdir ./temp_rootfs > > > + sudo mount -t ext3 /dev/loop1 ./temp_rootfs > > > + sudo tar xzf ${sd_card_root}/rootfs_partition.tar.gz -C ./temp_rootfs/ > > > + > > > + ## Gzip the img file to save lot of space > > > + zip -r ${sd_card_img_file}.zip ${sd_card_img_file} > > > + > > > + ## Clean up when done > > > + sudo umount ./temp_boot > > > + sudo umount ./temp_rootfs > > > + sudo rm -rf ./temp_boot/ > > > + sudo rm -rf ./temp_rootfs/ > > > + sudo losetup -d /dev/loop0 > > > + sudo losetup -d /dev/loop1 > > > + sudo rm -rf ${sd_card_img_file} > > > +} > > > + > > > create_sd_card_content() { > > > # Set m for logging purposes > > > m="$1" > > > @@ -291,6 +369,8 @@ package_web_content() { > > > # Move the installer into the exports directory > > > mv $deploy_root/${INSTALLER_PREFIX}-$m* $exports_root/ > > > > > > + mv $sd_card_img_root/${m}-${TISDK_VERSION}.img.zip > > $exports_root/ > > > + > > > # Create the md5sum file > > > cd $exports_root > > > md5sum * > md5sum.txt > > > @@ -373,6 +453,8 @@ package_individual_sdk() { > > > # Create the SD card tarballs in the deploy directory > > > create_sd_card_content $m > > > > > > + create_sd_card_img $m > > > + > > > # Package the SD card and web page contents to get ready for > > > # generating the webgen page and publishing the SDK > > > package_web_content $m > > > -- > > > 1.7.9.5 > > > > > > _______________________________________________ > > > meta-arago mailing list > > > meta-arago@arago-project.org > > > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago > > _______________________________________________ > > meta-arago mailing list > > meta-arago@arago-project.org > > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago