页次: 1
一行打包搞定了 ^_^
source build/envsetup.sh;\
export TINA_BUILD_TOP=/opt/f1c100s/tina/tina;\
export TINA_TARGET_ARCH=arm;\
export TARGET_PRODUCT=violin_F1C200s;\
export TARGET_PLATFORM=violin;\
export TARGET_BOARD=violin-F1C200s;\
export TARGET_BUILD_VARIANT=tina;\
export TARGET_BUILD_TYPE=release;\
export TARGET_KERNEL_VERSION=3.10;\
export TARGET_UBOOT=u-boot-2014.07;\
export TARGET_CHIP=sun3iw1p1;\
make -j5;\
pack;
感谢原帖作者:
全志Tina开发的朋友们, 一个百思不得其解shell脚本问题请教大家
http://whycan.com/t_6239.html#p61520
test@ubuntu:/opt/Tina_rel/tina$ pack
No kernel param, parse it from violin
copying tools file
copying configs file
storage_type value is 6
rm /opt/Tina_rel/tina/out/violin-F1C200s/image/sys_partition_nor.fex
rm /opt/Tina_rel/tina/out/violin-F1C200s/image/image_nor.cfg
image/arisc.fex
image/aultls32.fex
image/aultools.fex
image/bootlogo.fex
image/boot_package.cfg
image/boot_package.fex
image/boot_package_nor.cfg
image/cardscript.fex
image/cardscript_secure.fex
image/cardtool.fex
image/diskfs.fex
image/env-3.4.cfg
image/env-4.4.cfg
image/env-4.9.cfg
image/env_burn.cfg
image/env.cfg
image/image.cfg
image/image_linux.cfg
image/split_xxxx.fex
image/sunxi.fex
image/sys_config.fex
image/sys_partition_dump.fex
image/sys_partition.fex
image/sys_partition_private.fex
image/toc0.fex
image/toc1.fex
image/usbtool.fex
image/usbtool_test.fex
image/writable.fex
/opt/Tina_rel/tina
copying boot resource
LZMA 4.65 : Igor Pavlov : Public domain : 2009-02-03
copying boot file
make user resource for : /opt/Tina_rel/tina/out/violin-F1C200s/image/sys_partition.fex
handle partition user-res
no user resource partitions
this is not a partition key
update mbr file ok
APP_PART_DOWNLOAD_FILE = /opt/Tina_rel/tina/out/violin-F1C200s/image/app.fex
Need size of filesystem
/opt/Tina_rel/tina
this is not a partition key
update mbr file ok
DATA_PART_DOWNLOAD_FILE = /opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex
Need size of filesystem
/opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex is not ext4 img
/opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex: cannot open `/opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex' (No such file or directory)
/opt/Tina_rel/tina
this is not a partition key
update mbr file ok
sys_config exist
Multiconfig num:0
copying tools file
copying configs file
storage_type value is 6
rm /opt/Tina_rel/tina/out/violin-F1C200s/image/sys_partition_nor.fex
rm /opt/Tina_rel/tina/out/violin-F1C200s/image/image_nor.cfg
image/arisc.fex
image/aultls32.fex
image/aultools.fex
image/boot0_nand.fex
image/boot0_sdcard.fex
image/boot0_spinor.fex
image/bootlogo.fex
image/boot_package.cfg
image/boot_package.fex
image/boot_package_nor.cfg
image/cardscript.fex
image/cardscript_secure.fex
image/cardtool.fex
image/diskfs.fex
image/dlinfo.fex
image/env-3.4.cfg
image/env-4.4.cfg
image/env-4.9.cfg
image/env_burn.cfg
image/env.cfg
image/fes1.fex
image/image.cfg
image/image_linux.cfg
image/split_xxxx.fex
image/sunxi.fex
image/sunxi_mbr_tmp_app.fex
image/sunxi_mbr_tmp_data.fex
image/sys_config.fex
image/sys_partition_dump.fex
image/sys_partition.fex
image/sys_partition_private.fex
image/sys_partition_tmp_app.fex
image/sys_partition_tmp_data.fex
image/toc0.fex
image/toc1.fex
image/u-boot.fex
image/u-boot-spinor.fex
image/usbtool.fex
image/usbtool_test.fex
image/writable.fex
/opt/Tina_rel/tina
copying boot resource
LZMA 4.65 : Igor Pavlov : Public domain : 2009-02-03
copying boot file
make user resource for : /opt/Tina_rel/tina/out/violin-F1C200s/image/sys_partition.fex
handle partition user-res
no user resource partitions
this is not a partition key
update mbr file ok
APP_PART_DOWNLOAD_FILE = /opt/Tina_rel/tina/out/violin-F1C200s/image/app.fex
Need size of filesystem
/opt/Tina_rel/tina
this is not a partition key
update mbr file ok
DATA_PART_DOWNLOAD_FILE = /opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex
Need size of filesystem
/opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex is not ext4 img
/opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex: cannot open `/opt/Tina_rel/tina/out/violin-F1C200s/image/data.fex' (No such file or directory)
/opt/Tina_rel/tina
this is not a partition key
update mbr file ok
p=soc c=product state=0
p=soc c=platform state=0
p=soc c=target state=0
p=soc c=norflash state=0
p=soc c=power_sply state=0
p=soc c=pwr_ctrl state=0
p=soc c=card_boot state=0
p=soc c=pm_para state=0
p=soc c=card0_boot_para state=0
p=soc c=card2_boot_para state=0
p=soc c=card1_boot_para state=0
p=soc c=twi_para state=0
p=soc c=uart_para state=0
p=soc c=jtag_para state=0
p=soc c=dram state=0
p=soc c=twi0 state=0
p=soc c=twi1 state=0
p=soc c=twi2 state=0
p=soc c=io_expand state=0
p=soc c=uart0 state=0
p=soc c=uart1 state=0
p=soc c=spi0 state=0
p=soc c=spi1 state=0
p=soc c=rtp_para state=0
p=soc c=ctp state=0
p=twi0 c=touchscreen1 state=0
p=soc c=tkey_para state=0
p=soc c=motor_para state=0
p=soc c=nand0 state=0
p=soc c=disp state=0
p=soc c=lcd0 state=0
p=soc c=pwm0_para state=0
p=soc c=pwm1_para state=0
p=soc c=vip0 state=0
p=soc c=tvout_para state=0
p=soc c=tvin_para state=0
p=soc c=di state=0
p=soc c=sdc0 state=0
p=soc c=sdc1 state=0
p=soc c=smc state=0
p=soc c=usbc0 state=0
p=soc c=gsensor_para state=0
p=soc c=gps_para state=0
p=soc c=wlan state=0
p=soc c=gy_para state=0
p=soc c=ls_para state=0
p=soc c=compass_para state=0
p=soc c=bt_para state=0
p=soc c=audiospdif state=0
p=soc c=spdif_machine state=0
p=soc c=audiohdmi state=0
p=soc c=hdmi_machine state=0
p=soc c=pmu0 state=0
p=soc c=pmu0_regu state=0
p=soc c=dvfs_table state=0
p=soc c=Vdevice state=0
p=soc c=fel_key state=0
p=soc c=partitions state=0
p=partitions c=bootlogo state=0
p=partitions c=env state=0
p=partitions c=boot state=0
p=partitions c=rootfs state=0
p=partitions c=rootfs_data state=0
p=partitions c=misc state=0
p=partitions c=private state=0
p=partitions c=UDISK state=0
Conver script to dts ok.
pack boot package
GetPrivateProfileSection read to end
content_count=3
toc1 file Path=/opt/Tina_rel/tina/out/violin-F1C200s/image/boot_package.fex
script file Path=/opt/Tina_rel/tina/out/violin-F1C200s/image/sys_config.bin
cant get board_id_enable
script update toc1 ok
packing for tina linux
normal
this is not a partition key
update mbr file ok
/opt/Tina_rel/tina/out/host/bin/
/opt/Tina_rel/tina/out/violin-F1C200s/image
Begin Parse sys_partion.fex
Add partion bootlogo.fex BOOTLOGO_FEX0000
Add partion very bootlogo.fex BOOTLOGO_FEX0000
FilePath: bootlogo.fex
FileLength=4b036Add partion env.fex ENV_FEX000000000
Add partion very env.fex ENV_FEX000000000
FilePath: env.fex
FileLength=20000Add partion boot.fex BOOT_FEX00000000
Add partion very boot.fex BOOT_FEX00000000
FilePath: boot.fex
FileLength=2b6b38Add partion rootfs.fex ROOTFS_FEX000000
Add partion very rootfs.fex ROOTFS_FEX000000
FilePath: rootfs.fex
FileLength=800000sys_config.fex Len: 0xb94a
config.fex Len: 0x7000
split_xxxx.fex Len: 0x200
sys_partition.fex Len: 0xbf4
sunxi.fex Len: 0xc200
boot0_nand.fex Len: 0x4000
boot0_sdcard.fex Len: 0x8000
u-boot.fex Len: 0xa0000
toc1.fex Len: 0x8
toc0.fex Len: 0x8
fes1.fex Len: 0x2d80
boot_package.fex Len: 0xb4000
usbtool.fex Len: 0x24200
aultools.fex Len: 0x28943
aultls32.fex Len: 0x2517f
cardtool.fex Len: 0x11e00
cardscript.fex Len: 0x6de
sunxi_mbr.fex Len: 0x10000
dlinfo.fex Len: 0x4000
arisc.fex Len: 0xf
bootlogo.fex Len: 0x4b036
Vbootlogo.fex Len: 0x4
env.fex Len: 0x20000
Venv.fex Len: 0x4
boot.fex Len: 0x2b6b38
Vboot.fex Len: 0x4
rootfs.fex Len: 0x800000
Vrootfs.fex Len: 0x4
BuildImg 0
Dragon execute image.cfg SUCCESS !
----------image is for nand/emmc----------
----------image is at----------
/opt/Tina_rel/tina/out/violin-F1C200s/tina_violin-F1C200s_uart0.img
pack finish
test@ubuntu:/opt/Tina_rel/tina$
打包完成了 ^_^
还算挺顺利的。
有时候需要手动执行:
export TINA_BUILD_TOP=/opt/f1c100s/Tina_rel/tina
export TINA_TARGET_ARCH=arm
export TARGET_PRODUCT=violin_F1C200s
export TARGET_PLATFORM=violin
export TARGET_BOARD=violin-F1C200s
export TARGET_BUILD_VARIANT=tina
export TARGET_BUILD_TYPE=release
export TARGET_KERNEL_VERSION=3.10
export TARGET_UBOOT=u-boot-2014.07
export TARGET_CHIP=sun3iw1p1
@ffplay 感谢分享
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
SHIPPED arch/arm/boot/compressed/ashldi3.S
AS arch/arm/boot/compressed/ashldi3.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
DTC arch/arm/boot/dts/sun3iw1p1-violin-F1C200s.dtb
Building modules, stage 2.
MODPOST 63 modules
make[5]: Leaving directory '/opt/Tina_rel/tina/lichee/linux-3.10'
cmp -s /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/linux-3.10.65/vmlinux /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/vmlinux.debug || { arm-openwrt-linux-muslgnueabi-objcopy -O binary -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id -S /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/linux-3.10.65/vmlinux /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/vmlinux; arm-openwrt-linux-muslgnueabi-objcopy -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id -S /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/linux-3.10.65/vmlinux /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/vmlinux.elf; cp -fpR /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/linux-3.10.65/vmlinux /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/vmlinux.debug; cp -fpR /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/linux-3.10.65/arch/arm/boot//Image /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/bImage; cp -fpR /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/linux-3.10.65/arch/arm/boot//zImage /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/zImage; }
touch /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/linux-3.10.65/.image
make -C ../generic/image compile install TARGET_BUILD=
make[5]: Entering directory '/opt/Tina_rel/tina/target/allwinner/generic/image'
make[5]: Nothing to be done for 'compile'.
mkdir -p /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/tmp
# Use symbolic permissions to avoid clobbering SUID/SGID/sticky bits
find /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs -type f -not -perm /0100 -not -name 'ssh_host*' -not -name 'shadow' -print0 | xargs -r -0 chmod u+rw,g+r,o+r
find /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs -type f -perm /0100 -print0 | xargs -r -0 chmod u+rwx,g+rx,o+rx
find /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs -type d -print0 | xargs -r -0 chmod u+rwx,g+rx,o+rx
install -d -m0755 /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs/tmp /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs/overlay
chmod 1777 /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs/tmp
cp -fpR /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/zImage /opt/Tina_rel/tina/out/violin-F1C200s/violin-F1C200s-zImage
mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n 'ARM OpenWrt Linux-3.10.65' -d /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/zImage /opt/Tina_rel/tina/out/violin-F1C200s/violin-F1C200s-uImage
Image Name: ARM OpenWrt Linux-3.10.65
Created: Thu Jan 1 00:00:00 1970
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2845432 Bytes = 2778.74 kB = 2.71 MB
Load Address: 80008000
Entry Point: 80008000
rm -f /opt/Tina_rel/tina/out/violin-F1C200s/boot.img
rm -f /opt/Tina_rel/tina/out/violin-F1C200s/boot_initramfs.img
cp -fpR /opt/Tina_rel/tina/out/violin-F1C200s/violin-F1C200s-uImage /opt/Tina_rel/tina/out/violin-F1C200s/boot.img
/opt/Tina_rel/tina/out/host/bin/mksquashfs4 /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/root.squashfs -noappend -root-owned -comp gzip -b 256k -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' -processors 1
Parallel mksquashfs: Using 1 processor
Creating 4.0 filesystem on /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/root.squashfs, block size 262144.
Pseudo file "/dev" exists in source filesystem "/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/rootfs/dev".
Ignoring, exclude it (-e/-ef) to override.
[===================================================================================================================================/] 627/627 100%
Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 262144
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 8085.82 Kbytes (7.90 Mbytes)
44.11% of uncompressed filesystem size (18332.89 Kbytes)
Inode table size 7972 bytes (7.79 Kbytes)
27.95% of uncompressed inode table size (28526 bytes)
Directory table size 8736 bytes (8.53 Kbytes)
50.37% of uncompressed directory table size (17343 bytes)
Number of duplicate files found 9
Number of inodes 859
Number of files 603
Number of fragments 46
Number of symbolic links 177
Number of device nodes 1
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 78
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
rm -f /opt/Tina_rel/tina/out/violin-F1C200s/rootfs.img
rm -f /opt/Tina_rel/tina/out/violin-F1C200s/usr.img
dd if=/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/target/linux-violin-F1C200s/root.squashfs of=/opt/Tina_rel/tina/out/violin-F1C200s/rootfs.img bs=128k conv=sync
63+1 records in
64+0 records out
8388608 bytes (8.4 MB, 8.0 MiB) copied, 0.00546685 s, 1.5 GB/s
( cd /opt/Tina_rel/tina/out/violin-F1C200s ; find -maxdepth 1 -type f \! -name 'md5sums' -printf "%P\n" | sort | xargs md5sum --binary > md5sums )
( cd /opt/Tina_rel/tina/out/violin-F1C200s ; find -maxdepth 1 -type f \! -name 'md5sums' -printf "%P\n" | sort | xargs openssl dgst -sha256 > sha256sums )
make[5]: Leaving directory '/opt/Tina_rel/tina/target/allwinner/generic/image'
make[4]: Leaving directory '/opt/Tina_rel/tina/target/allwinner/violin-F1C200s'
make[3]: Leaving directory '/opt/Tina_rel/tina/target/allwinner'
make[2]: Leaving directory '/opt/Tina_rel/tina'
export MAKEFLAGS= ;make -w -r package/index
make[2]: Entering directory '/opt/Tina_rel/tina'
Generating package index...
Signing key has not been configured
make[2]: Leaving directory '/opt/Tina_rel/tina'
make[1]: Leaving directory '/opt/Tina_rel/tina'
#### make completed successfully (25:54 (mm:ss)) ####
test@ubuntu:/opt/Tina_rel/tina$
终于编译完了, 接下来打包试一试。
In file included from scripts/kconfig/zconf.tab.c:2503:0:
scripts/kconfig/menu.c: In function 'get_symbol_str':
scripts/kconfig/menu.c:567:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
jump->offset = r->len - 1;
~~~~~~~~~~~~~^~~~~~~~~~~~
scripts/kconfig/menu.c:528:19: note: 'jump' was declared here
struct jump_key *jump;
^~~~
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig Kconfig
.config:877:warning: override: DEBUG_SUNXI_UART1 changes choice state
*
* Restart config...
*
*
* Touchscreens
*
Touchscreens (INPUT_TOUCHSCREEN) [Y/n/?] y
ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens (TOUCHSCREEN_ADS7846) [N/m/y/?] n
AD7877 based touchscreens (TOUCHSCREEN_AD7877) [N/m/y/?] n
Analog Devices AD7879-1/AD7889-1 touchscreen interface (TOUCHSCREEN_AD7879) [N/m/y/?] n
Atmel mXT I2C Touchscreen (TOUCHSCREEN_ATMEL_MXT) [N/m/y/?] n
AUO in-cell touchscreen using Pixcir ICs (TOUCHSCREEN_AUO_PIXCIR) [N/m/y/?] n
BU21013 based touch panel controllers (TOUCHSCREEN_BU21013) [N/m/y/?] n
cy8ctmg110 touchscreen (TOUCHSCREEN_CY8CTMG110) [N/m/y/?] n
Cypress TTSP touchscreen (TOUCHSCREEN_CYTTSP_CORE) [N/m/y/?] n
Dynapro serial touchscreen (TOUCHSCREEN_DYNAPRO) [N/m/y/?] n
Hampshire serial touchscreen (TOUCHSCREEN_HAMPSHIRE) [N/m/y/?] n
EETI touchscreen panel support (TOUCHSCREEN_EETI) [N/m/y/?] n
EETI eGalax multi-touch panel support (TOUCHSCREEN_EGALAX) [N/m/y/?] n
Fujitsu serial touchscreen (TOUCHSCREEN_FUJITSU) [N/m/y/?] n
Ilitek ILI210X based touchscreen (TOUCHSCREEN_ILI210X) [N/m/y/?] n
Gunze AHL-51S touchscreen (TOUCHSCREEN_GUNZE) [N/m/y/?] n
Elo serial touchscreens (TOUCHSCREEN_ELO) [N/m/y/?] n
Wacom W8001 penabled serial touchscreen (TOUCHSCREEN_WACOM_W8001) [N/m/y/?] n
Wacom Tablet support (I2C) (TOUCHSCREEN_WACOM_I2C) [N/m/y/?] n
MAX11801 based touchscreens (TOUCHSCREEN_MAX11801) [N/m/y/?] n
MELFAS MCS-5000 touchscreen (TOUCHSCREEN_MCS5000) [N/m/y/?] n
MELFAS MMS114 touchscreen (TOUCHSCREEN_MMS114) [N/m/y/?] n
MicroTouch serial touchscreens (TOUCHSCREEN_MTOUCH) [N/m/y/?] n
iNexio serial touchscreens (TOUCHSCREEN_INEXIO) [N/m/y/?] n
ICS MicroClock MK712 touchscreen (TOUCHSCREEN_MK712) [N/m/y/?] n
Penmount serial touchscreen (TOUCHSCREEN_PENMOUNT) [N/m/y/?] n
EDT FocalTech FT5x06 I2C Touchscreen support (TOUCHSCREEN_EDT_FT5X06) [N/m/y/?] n
Touchright serial touchscreen (TOUCHSCREEN_TOUCHRIGHT) [N/m/y/?] n
Touchwin serial touchscreen (TOUCHSCREEN_TOUCHWIN) [N/m/y/?] n
PIXCIR I2C touchscreens (TOUCHSCREEN_PIXCIR) [N/m/y/?] n
USB Touchscreen Driver (TOUCHSCREEN_USB_COMPOSITE) [N/m/y/?] n
Sahara TouchIT-213 touchscreen (TOUCHSCREEN_TOUCHIT213) [N/m/y/?] n
TSC-10/25/40 serial touchscreen support (TOUCHSCREEN_TSC_SERIO) [N/m/y/?] n
TSC2005 based touchscreens (TOUCHSCREEN_TSC2005) [N/m/y/?] n
TSC2007 based touchscreens (TOUCHSCREEN_TSC2007) [N/m/y/?] n
W90P910 touchscreen driver (TOUCHSCREEN_W90X900) [N/m/y/?] n
Sitronix ST1232 touchscreen controllers (TOUCHSCREEN_ST1232) [N/m/y/?] n
TPS6507x based touchscreens (TOUCHSCREEN_TPS6507X) [N/m/y/?] n
gt82x touchscreen driver (TOUCHSCREEN_GT82X) [N/m/y/?] n
sun6i-ts touchscreen driver (TOUCHSCREEN_SUN6I_TS) [N/m/y/?] n
sun3i-rtp resistive touchpanel driver (TOUCHSCREEN_SUN3I_RTP) [N/m/y/?] (NEW) y
ft5x touchscreen driver (TOUCHSCREEN_FT5X_TS) [N/m/y/?] n
gt9xx touchscreen driver (TOUCHSCREEN_GT9XX_TS) [N/m/y/?] n
gt9XXF touchscreen driver (TOUCHSCREEN_GT9XXF_TS) [N/m/y/?] n
gslX680 touchscreen driver (TOUCHSCREEN_GSLX680) [N/m/y/?] n
gslX680NEW touchscreen driver (TOUCHSCREEN_GSLX680NEW) [N/m/y/?] n
gt9xxnew touchscreen driver (TOUCHSCREEN_GT9XXNEW_TS) [N/m/y/?] n
aw5x06 touchscreen driver (TOUCHSCREEN_AW5X06_TS) [N/m/y/?] n
gt818 touchscreen driver (TOUCHSCREEN_GT818_TS) [N/m/y/?] n
tu_ts touchscreen driver (TOUCHSCREEN_TU_TS) [N/m/y/?] n
icn83xx touchscreen driver (TOUCHSCREEN_ICN83XX_TS) [N/m/y/?] n
icn85xx touchscreen driver (TOUCHSCREEN_ICN85XX_TS) [M/n/y/?] m
*
* V4L platform devices
*
V4L platform devices (V4L_PLATFORM_DRIVERS) [Y/n/?] y
EVE driver (SUNXI_EVE) [N/m/y/?] n
Support for timberdale Video In/LogiWIN (VIDEO_TIMBERDALE) [N/m/y/?] n
SoC camera support (SOC_CAMERA) [N/m/y/?] n
sunxi video front end (camera and etc)driver (VIDEO_SUNXI_VFE) [M/n/y] m
v4l2 driver for SUNXI (CSI_VFE) [M/n] m
sunxi video input (camera csi/mipi isp vipp)driver (VIDEO_SUNXI_VIN) [N/m/y] n
sun3i tvd driver (VIDEO_SUN3I_TVD) [M/n/y/?] (NEW) y
*
* Video support for sunxi
*
Framebuffer Console Support(sunxi) (FB_CONSOLE_SUNXI) [Y/n/?] y
DISP Driver Support(sunxi-disp2) (DISP2_SUNXI) [N/m/y/?] n
DISP Driver Support(sunxi) (FB_SUNXI) [Y/n/m/?] y
GM7121 driver Support(sunxi) (TV_GM7121) [N/m/y/?] n
LCD Driver Support(sunxi) (LCD_SUNXI) [Y/n/m/?] y
tv Driver Support(sunxi) (TV_SUNXI) [M/n/y/?] (NEW) y
#
# configuration written to .config
#
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
Generating include/generated/mach-types.h
开始编译 Linux 了, 驱动很完整啊, RTP, TV 都有了。
In file included from /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/include/compiler.h:46:0,
from /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/include/libfdt_env.h:12,
from <command-line>:0:
/opt/Tina_rel/tina/out/host/include/byteswap.h:2:2: warning: #include_next is a GCC extension
#include_next <byteswap.h>
^~~~~~~~~~~~
WRAP tools/lib/rsa/rsa-checksum.c
HOSTCC tools/lib/rsa/rsa-checksum.o
WRAP tools/lib/rsa/rsa-sign.c
HOSTCC tools/lib/rsa/rsa-sign.o
In file included from tools/lib/rsa/rsa-sign.c:1:0:
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c: In function 'rsa_remove':
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c:156:2: warning: 'ERR_remove_thread_state' is deprecated [-Wdeprecated-declarations]
ERR_remove_thread_state(NULL);
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/evp.h:13:0,
from /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/include/image.h:860,
from /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c:10,
from tools/lib/rsa/rsa-sign.c:1:
/usr/include/openssl/err.h:259:1: note: declared here
DEPRECATEDIN_1_1_0(void ERR_remove_thread_state(void *))
^
In file included from tools/lib/rsa/rsa-sign.c:1:0:
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c: In function 'rsa_sign_with_key':
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c:213:2: warning: implicit declaration of function 'EVP_MD_CTX_cleanup'; did you mean 'EVP_MD_CTX_create'? [-Wimplicit-function-declaration]
EVP_MD_CTX_cleanup(context);
^~~~~~~~~~~~~~~~~~
EVP_MD_CTX_create
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c: In function 'rsa_get_exponent':
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c:279:21: error: dereferencing pointer to incomplete type 'RSA {aka struct rsa_st}'
if (BN_num_bits(key->e) > 64)
^~
scripts/Makefile.host:134: recipe for target 'tools/lib/rsa/rsa-sign.o' failed
make[5]: *** [tools/lib/rsa/rsa-sign.o] Error 1
Makefile:1195: recipe for target 'tools-only' failed
make[4]: *** [tools-only] Error 2
make[4]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10'
Makefile:46: recipe for target '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/.built' failed
make[3]: *** [/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/.built] Error 2
make[3]: Leaving directory '/opt/Tina_rel/tina/tools/mkimage'
tools/Makefile:138: recipe for target 'tools/mkimage/compile' failed
make[2]: *** [tools/mkimage/compile] Error 2
make[2]: Leaving directory '/opt/Tina_rel/tina'
tools/Makefile:137: recipe for target '/opt/Tina_rel/tina/out/violin-F1C200s/staging_dir/target/stamp/.tools_install_yyyynyyynyyyyyynnnyyyyyyyyyynnyyyyyyynynyyynnyyyy' failed
make[1]: *** [/opt/Tina_rel/tina/out/violin-F1C200s/staging_dir/target/stamp/.tools_install_yyyynyyynyyyyyynnnyyyyyyyyyynnyyyyyyynynyyynnyyyy] Error 2
make[1]: Leaving directory '/opt/Tina_rel/tina'
/opt/Tina_rel/tina/build/toplevel.mk:275: recipe for target 'world' failed
make: *** [world] Error 2
#### make failed to build some targets (10 seconds) ####
试一试这样:
sudo apt install libssl1.0-dev -y
参考 https://github.com/hi-wooya/openwrt-hiwooya-stable/issues/3
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
*** Default configuration is based on 'sandbox_defconfig'
make[4]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10'
make -C /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10 tools-only HOSTCFLAGS="-I/opt/Tina_rel/tina/out/host/include -I/opt/Tina_rel/tina/out/host/usr/include -O2 -I/opt/Tina_rel/tina/out/host/include -I/opt/Tina_rel/tina/out/host/usr/include " HOSTLDFLAGS="-L/opt/Tina_rel/tina/out/host/lib -L/opt/Tina_rel/tina/out/host/usr/lib "
make[4]: Entering directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10'
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
UPD include/config.h
GEN include/autoconf.mk
In file included from include/linux/compiler.h:54:0,
from /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/arch/sandbox/include/asm/bitops.h:20,
from include/linux/bitops.h:110,
from /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/include/common.h:20:
include/linux/compiler-gcc.h:114:1: fatal error: linux/compiler-gcc7.h: No such file or directory
#include gcc_header(__GNUC__)
^~~~
compilation terminated.
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/scripts/Makefile.autoconf:64: recipe for target 'include/autoconf.mk' failed
make[6]: *** [include/autoconf.mk] Error 1
/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/Makefile:464: recipe for target 'silentoldconfig' failed
make[5]: *** [silentoldconfig] Error 1
make[4]: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'. Stop.
make[4]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10'
Makefile:46: recipe for target '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/.built' failed
make[3]: *** [/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/u-boot-2014.10/.built] Error 2
make[3]: Leaving directory '/opt/Tina_rel/tina/tools/mkimage'
tools/Makefile:138: recipe for target 'tools/mkimage/compile' failed
make[2]: *** [tools/mkimage/compile] Error 2
make[2]: Leaving directory '/opt/Tina_rel/tina'
tools/Makefile:137: recipe for target '/opt/Tina_rel/tina/out/violin-F1C200s/staging_dir/target/stamp/.tools_install_yyyynyyynyyyyyynnnyyyyyyyyyynnyyyyyyynynyyynnyyyy' failed
make[1]: *** [/opt/Tina_rel/tina/out/violin-F1C200s/staging_dir/target/stamp/.tools_install_yyyynyyynyyyyyynnnyyyyyyyyyynnyyyyyyynynyyynnyyyy] Error 2
make[1]: Leaving directory '/opt/Tina_rel/tina'
/opt/Tina_rel/tina/build/toplevel.mk:275: recipe for target 'world' failed
make: *** [world] Error 2
#### make failed to build some targets (03:04 (mm:ss)) ####
cp ./out/violin-F1C200s/compile_dir/host/u-boot-2014.10/include/linux/compiler-gcc5.h ./out/violin-F1C200s/compile_dir/host/u-boot-2014.10/include/linux/compiler-gcc7.h
瞒天过海不知道行不行
make[3]: Entering directory '/opt/Tina_rel/tina/tools/automake'
(cd /opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/automake-1.15; AUTOM4TE=/opt/Tina_rel/tina/out/host/bin/autom4te AUTOCONF=/opt/Tina_rel/tina/out/host/bin/autoconf AUTOMAKE=/opt/Tina_rel/tina/out/host/bin/automake ACLOCAL=/opt/Tina_rel/tina/out/host/bin/aclocal AUTOHEADER=/opt/Tina_rel/tina/out/host/bin/autoheader LIBTOOLIZE=/opt/Tina_rel/tina/out/host/bin/libtoolize LIBTOOL=/opt/Tina_rel/tina/out/host/bin/libtool M4=/opt/Tina_rel/tina/out/host/bin/m4 AUTOPOINT=true STAGING_DIR_HOST="" ./bootstrap.sh)
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at ./bin/automake.tmp line 3938.
Makefile:50: recipe for target '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/automake-1.15/.configured' failed
make[3]: *** [/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/automake-1.15/.configured] Error 255
make[3]: Leaving directory '/opt/Tina_rel/tina/tools/automake'
tools/Makefile:138: recipe for target 'tools/automake/compile' failed
make[2]: *** [tools/automake/compile] Error 2
make[2]: Leaving directory '/opt/Tina_rel/tina'
tools/Makefile:137: recipe for target '/opt/Tina_rel/tina/out/violin-F1C200s/staging_dir/target/stamp/.tools_install_yyyynyyynyyyyyynnnyyyyyyyyyynnyyyyyyynynyyynnyyyy' failed
make[1]: *** [/opt/Tina_rel/tina/out/violin-F1C200s/staging_dir/target/stamp/.tools_install_yyyynyyynyyyyyynnnyyyyyyyyyynnyyyyyyynynyyynnyyyy] Error 2
make[1]: Leaving directory '/opt/Tina_rel/tina'
/opt/Tina_rel/tina/build/toplevel.mk:275: recipe for target 'world' failed
make: *** [world] Error 2
#### make failed to build some targets (32 seconds) ####
修改 ./out/violin-F1C200s/compile_dir/host/automake-1.15/bin/automake.in 3883 行
$text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
改为:
$text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
参考 https://github.com/lede-project/source/commit/92c80f38cff3c20388f9ac13d5196f2745aeaf77
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../glib -I../glib -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DGLIB_COMPILATION -DPCRE_STATIC -I/opt/Tina_rel/tina/out/host/include -I/opt/Tina_rel/tina/out/host/usr/include -pthread -Wall -Wstrict-prototypes -Werror=declaration-after-statement -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format-security -Werror=format=2 -fvisibility=hidden -O2 -I/opt/Tina_rel/tina/out/host/include -I/opt/Tina_rel/tina/out/host/usr/include -MT libglib_2_0_la-gdate.lo -MD -MP -MF .deps/libglib_2_0_la-gdate.Tpo -c gdate.c -o libglib_2_0_la-gdate.o
gdate.c: In function 'g_date_strftime':
gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
^~~~~~
cc1: some warnings being treated as errors
Makefile:1386: recipe for target 'libglib_2_0_la-gdate.lo' failed
make[10]: *** [libglib_2_0_la-gdate.lo] Error 1
make[10]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29/glib/glib'
Makefile:1933: recipe for target 'all-recursive' failed
make[9]: *** [all-recursive] Error 1
make[9]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29/glib/glib'
Makefile:952: recipe for target 'all' failed
make[8]: *** [all] Error 2
make[8]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29/glib/glib'
Makefile:1045: recipe for target 'all-recursive' failed
make[7]: *** [all-recursive] Error 1
make[7]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29/glib'
Makefile:769: recipe for target 'all' failed
make[6]: *** [all] Error 2
make[6]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29/glib'
Makefile:697: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29'
Makefile:456: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29'
Makefile:39: recipe for target '/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29/.built' failed
make[3]: *** [/opt/Tina_rel/tina/out/violin-F1C200s/compile_dir/host/pkg-config-0.29/.built] Error 2
make[3]: Leaving directory '/opt/Tina_rel/tina/tools/pkg-config'
tools/Makefile:138: recipe for target 'tools/pkg-config/compile' failed
make[2]: *** [tools/pkg-config/compile] Error 2
make[2]: Leaving directory '/opt/Tina_rel/tina'
第一个错误, 解决方式:
修改 out/violin-F1C200s/compile_dir/host/pkg-config-0.29/glib/glib/gdate.c
2494 行附件修改:
tmpbuf[0] = '\1';
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
#pragma GCC diagnostic pop
参考: https://www.right.com.cn/forum/forum.php?mod=viewthread&action=printable&tid=191683
0. 只记录编译填坑过程, 不提供, 不分享 tina sdk包
1. 根据 tina 教程, 他们使用的是 ubuntu 14.04 64bit, 由于我的环境是 18.04 64bit, 所以出现了很多大大小小的坑
1. 编译准备
sudo apt-get install vim git-core gawk flex bison texinfo lib32ncurses5 lib32z1 u-boot-tools lib32stdc++6 zlib1g* libssl1.0-dev -y
2. 编译指令:
$ source build/envsetup.sh
$ lunch 方案名
$ make
$ pack
上面太啰嗦了, 一行搞定吧(脚本有问题,请勿用,原因看后面跟帖):
source build/envsetup.sh;echo 68 | lunch;make;pack
页次: 1