blob: b2b026c7e4bc2e351b983b0aa4eeac685dcfe5ae [file] [log] [blame]
# HOW.GFIBER.quantenna.sdk.unpack
How to unpack and format a Quantenna QSR1000 CDK as a u-boot vendor_drop.
Source filenames look like: quantenna-sdk-v37.4.8.62.tar.gz
- initialize a repo with the default_unrestricted.xml manifest
- check out the vendor_drops branch
- remove the existing code
- unpack the downloaded SDK, it will create a new quantenna-sdk-... directory
$ cd uboot/qsr1000
$ git checkout -b l-vendor gfiber-internal/vendor_drops
$ use rm with -rf splat, but make sure you're in the right place
$ tar xvzpf $DOWNLOADS/$SDK
The SDK includes both u-boot and linux, but we're only interested in the u-boot part.
Prune the set of files/directories down to what we want
$ cd quantenna-sdk-*
$ mkdir u-boot/quantenna
$ cat <<EOF | xargs tar cpf - | ( cd u-boot/quantenna ; tar xvpf - )
./common/common_mem.h
./common/current_platform.h
./common/ruby_arasan_emac_ahb.h
./common/ruby_board_cfg.h
./common/ruby_board_db.h
./common/ruby_config.h
./common/ruby_partitions.h
./common/ruby_pcie_bda.h
./common/ruby_platform.h
./common/ruby_spi_api.h
./common/ruby_spi_flash_data.h
./common/ruby_version.h
./common/topaz_config.h
./common/uboot_header.h
./host/utilities/lzma
./include/qtn/shared_defs_common.h
./Make.toolchain
EOF
Then move everything up to where it really belongs
$ mv quantenna-sdk-v37.4.8.62/u-boot/* quantenna-sdk-v37.4.8.62/u-boot/.??* .
$ rm -rf quantenna-sdk-v37.4.8.62
$ git add --all
============================================================
The files we're interested in (and copied to u-boot/quantenna) was
determined emperically by danielmentz@ using loggedfs and manual
searching through the output.
To start loggedfs, I used
loggedfs -c ~/h/projects/skids/u-boot-loggedfs.xml -l /tmp/log $PWD ; cd $PWD
To stop it, I used
killall -w loggedfs ; cd $PWD
To analyse the output, I used:
grep -oe '/usr[^ ]*' /tmp/log | sort -u
u-boot-loggedfs.xml contains:
<?xml version="1.0" encoding="UTF-8"?>
<loggedFS logEnabled="true" printProcessName="true">
<includes>
<include extension="<PATH-to-tree>/u-boot.build/.*" uid="*" action="^(open.*|readdir|readlink)$" retname="SUCCESS"/>
<!-- include extension="<PATH-to-tree>/u-boot.build/.*" uid="*" action=".*" retname="SUCCESS"/ -->
</includes>
</loggedFS>
Make sure to change the paths in the config file according to your setup.