linux my notebook
苏法
2023-12-01
Build environment
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc u-boot-tools
Building Your Own Embedded Linux Image
http://doc.qt.io/QtEnterpriseEmbedded/qtee-custom-embedded-linux-image.html
Install the dependencies for the Yocto tools. In Ubuntu, the following packages are required
sudo apt-get install gawk git-core diffstat unzip p7zip texinfo gcc-multilib build-essential chrpath libsdl1.2-dev xterm gperf bison
Download sources
$ mkdir ~/bin (this step may not be needed if the bin folder already exists)
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
git config --global user.name "liqianying"
git config --global user.email "807897164@qq.com"
$ git config --list
$ mkdir fsl-release-bsp
$ cd fsl-release-bsp
$ repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.52-1.1.0_ga
repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth
$ repo sync
export http_proxy=http://127.0.0.1:52977
export https_proxy=$http_proxy
git config --global http.proxy $http_proxy
git config --global https.proxy $https_proxy
git config --global http.proxy http://127.0.0.1:52977
git config --global https.proxy https://127.0.0.1:52977
Download source by cloning with
git clone http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git -b imx_v2016.03_4.1.15_2.0.0_ga
Download source by cloning with
git clone http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git -b imx_4.1.15_2.0.0_ga
Build image
$ DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-fb
DISTRO=fsl-imx-fb MACHINE=wandboard-dual source fsl-setup-release.sh -b build-fbx
DISTRO=fsl-imx-fb MACHINE=imx6qsabrelite source fsl-setup-release.sh -b build-fbx
$ DISTRO=fsl-imx-wayland MACHINE=imx6qsabresd source fsl-setup-release.sh –b build-wayland
$ DISTRO=fsl-imx-fb MACHINE=imx6qsabresd
$ bitbake core-image-minimal -c_populate_sdk
$ bitbake fsl-image-gui
$ bitbake fsl-image-qt5
$ bitbake –s
这个命令会列出所有的配方,但是由于yocto支持的厂家不止飞思卡尔一家,所以显示出来的配方会特别多,可以使用下面命令查找自己所需要的配方。
$ bitbake –s | grep qt 列出所有可生成qt的配方
bitbake -s | grep fsl
$ bitbake –s | grep fsl 列出所有飞思卡尔处理器可使用的配方
$ bitbake –s | grep toolchain 列出所有工具链的配方
/build-ff
Build Configuration:
BB_VERSION = "1.30.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "imx6qsabresd"
DISTRO = "fsl-imx-fb"
DISTRO_VERSION = "4.1.15-2.0.1"
TUNE_FEATURES = "arm armv7a vfp neon callconvention-hard cortexa9"
TARGET_FPU = "hard"
gcc toolchain
$ bitbake meta-toolchain
qt toolchain
$ bitbake meta-toolchain-qt5
http://www.veryarm.com/arm-linux-gnueabihf-gcc
Build kernel
$ cd projects/fsl-yocto-bsp-4.1.15/build-wayland/tmp/work-shared/imx6qsabresd/kernel-source
$ ./kernel.sh
#!/bin/bash
export ARCH=arm
export CROSS_COMPILE=/opt/fsl-imx-fb/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
#make distclean
make imx_v7_defconfig
make
Write into sdcard
$ sudo umount /dev/sdc*
$ zcat boundary*.sdcard.gz | sudo dd of=/dev/sdb bs=1M
$ sudo dd if=build-wayland/tmp/deploy/images/imx6qsabresd/fsl-image-qt5-imx6qsabresd.sdcard of=/dev/sdc bs=1M && sync