├── README ├── board ├── backend │ ├── busybox-1.21.0.config │ ├── do_conf.sh │ └── linux-3.6.11.config ├── bbb │ ├── busybox-1.21.0.config │ ├── crosstool-ng-1.18.0.config │ ├── do_conf.sh │ ├── linux-3.8.13.config │ ├── linux-3.8.13.notes │ └── uEnv.txt ├── comex │ ├── busybox-1.21.0.config │ ├── crosstool-ng-1.18.0.config │ ├── do_conf.sh │ ├── linux-2.6.37.1.config │ ├── linux-3.6.11.config │ ├── linux-3.6.11_pch_gbe_main.diff │ └── linux-3.6.11_pch_uart.diff ├── common │ └── do_conf.sh ├── conga_imx6 │ ├── busybox-1.21.0.config │ ├── do_conf.sh │ ├── linux-3.0.35-patches │ │ ├── 0000-linux-3.0.35-QMX6-2013-05-08.patch │ │ ├── 0001-ENGR00239905-PCIe-Enable-PCIe-switch-support.patch │ │ ├── 0001-ENGR00240650-pcie-imx-fix-ep-device-no-int-when-pcie.patch │ │ ├── 0001-ENGR00241003-1-mx6-need-to-add-delay-in-LDO-voltage-.patch │ │ ├── 0002-ENGR00241003-2-pfuze-using-_sel-interface-to-add-del.patch │ │ ├── 0007-CGT000007-QMX6-Revert-ENGR00224109-MX6-FEC-optimize-ENET_REF_CLK.patch │ │ ├── 0008-CGT000008-QMX6-Support-for-OV5640-MIPI-camera.patch │ │ └── 0009-CGT000009-QMX6-Fix-incorrect-sound-playback-speed.patch │ └── linux-3.0.35.config ├── gen_x86_64 │ ├── busybox-1.21.0.config │ ├── crosstool-ng-1.18.0.config │ ├── do_conf.sh │ └── linux-3.6.11.config ├── rpi3 │ ├── busybox-1.21.0.config │ ├── crosstool-ng-1.18.0.config │ ├── crosstool-ng-20f2459b97bf.config │ ├── do_conf.sh │ └── linux-4.9.46.config ├── rpib │ ├── busybox-1.21.0.config │ ├── crosstool-ng-1.18.0.config │ ├── crosstool-ng-20f2459b97bf.config │ ├── do_conf.sh │ └── linux-3.6.11.config ├── seco_imx6 │ ├── buildroot_c8fbd1f82a93089b24361ee4830507b165af0f8f.config │ ├── busybox-1.21.0.config │ ├── do_conf.sh │ ├── linux-3.0.35-original_from_seco_flash.config │ ├── linux-3.0.35.config │ ├── notes │ ├── uboot.config │ └── uboot.env ├── seco_uimx6 │ ├── buildroot_c8fbd1f82a93089b24361ee4830507b165af0f8f.config │ ├── busybox-1.21.0.config │ ├── do_conf.sh │ ├── linux-3.0.35.config │ ├── notes │ ├── patch-3.0.35-rt56-seco_uimx6.patch │ ├── uboot.config │ └── uboot.env ├── seco_x86 │ ├── busybox-1.21.0.config │ ├── crosstool-ng-1.18.0.config │ ├── do_conf.sh │ ├── linux-2.6.37.1.config │ ├── linux-3.6.11.config │ ├── linux-3.6.11_pch_gbe_main.diff │ └── linux-3.6.11_pch_uart.diff └── vcomex │ ├── busybox-1.21.0.config │ ├── crosstool-ng-1.18.0.config │ ├── do_conf.sh │ ├── linux-2.6.37.1.config │ └── linux-3.6.11.config ├── doc ├── new.notes ├── tex │ ├── main.pdf │ └── main.tex └── todo ├── env ├── comex004 │ ├── 10_segfs │ ├── ash_profile │ ├── do_post_rootfs.sh │ ├── inittab │ ├── interface.eth0 │ ├── network.conf │ ├── resolv.conf │ └── shadow ├── esrf │ ├── 10_segfs │ ├── ash_profile │ ├── do_post_rootfs.sh │ ├── inittab │ ├── interface.eth0 │ ├── network.conf │ ├── resolv.conf │ ├── shadow │ └── udhcpc.conf ├── home │ ├── do_post_rootfs.sh │ ├── interface.eth0 │ ├── network.conf │ └── resolv.conf ├── qemu │ ├── 10_dropbear │ ├── do_post_rootfs.sh │ ├── grub.cfg │ ├── interface.eth0 │ ├── network.conf │ ├── resolv.conf │ └── shadow └── stick │ ├── 10_segfs │ ├── ash_profile │ ├── do_post_rootfs.sh │ ├── inittab │ ├── interface.eth0 │ ├── network.conf │ ├── resolv.conf │ └── shadow ├── sh ├── do_default_globals.sh ├── do_install_soft.sh ├── do_lfs.sh └── do_user_globals.sh ├── soft ├── bare │ ├── do_build_byhand.sh │ ├── do_conf.sh │ ├── do_post_build.sh │ ├── do_retrieve_byhand.sh │ └── do_test.sh ├── bootscript │ ├── 6q_bootscript.in │ ├── do_build_byhand.sh │ └── do_conf.sh ├── busybox │ └── do_conf.sh ├── cross_sysroot │ ├── do_build_byhand.sh │ └── do_conf.sh ├── crosstool-ng │ ├── do_build_byhand.sh │ ├── do_conf.sh │ └── gcc-4.6.0.diff ├── dance │ ├── do_build_byhand.sh │ ├── do_conf.sh │ ├── do_post_build.sh │ ├── do_retrieve_byhand.sh │ └── etc │ │ ├── dance │ │ └── profile │ │ └── init.d │ │ ├── 10_epcidrv │ │ ├── 10_pcidrvgen │ │ └── 20_dance ├── dropbear │ ├── 10_dropbear │ ├── do_build_byhand.sh │ ├── do_conf.sh │ ├── do_post_build.sh │ ├── dropbear_dss_host_key │ └── dropbear_rsa_host_key ├── flash │ ├── do_conf.sh │ └── flash.tar.gz ├── grub │ ├── do_conf.sh │ ├── do_post_build.sh │ ├── grub.cfg │ ├── grub_seco_x86.cfg │ ├── grub_stick.cfg │ └── grub_vcomex.cfg ├── libjpeg │ └── do_conf.sh ├── libtst │ ├── do_conf.sh │ └── libtst.tar.gz ├── linux │ ├── do_conf.sh │ └── do_post_build.sh ├── mjpg-streamer │ ├── do_conf.sh │ └── r177.diff ├── ntpd │ ├── 10_ntpd │ ├── do_conf.sh │ ├── do_post_build.sh │ └── localtime ├── pcidrvgen │ ├── 10_pcidrvgen │ ├── do_conf.sh │ ├── do_post_build.sh │ └── pcidrvgen.tar.gz ├── pciutils │ ├── do_build_byhand.sh │ └── do_conf.sh ├── pcycle │ ├── do_conf.sh │ └── pcycle.tar.gz ├── pepu │ ├── do_build_byhand.sh │ ├── do_conf.sh │ ├── do_post_build.sh │ ├── do_retrieve_byhand.sh │ └── do_test.sh ├── rootfs_bone │ ├── do_build_byhand.sh │ ├── do_conf.sh │ ├── do_post_build.sh │ └── rootfs_bone.tar.gz ├── rpi3_boot │ ├── do_build_byhand.sh │ ├── do_conf.sh │ └── rpi3_boot.tar.gz ├── rpib_gpu_firmware │ ├── do_build_byhand.sh │ ├── do_conf.sh │ └── rpib_gpu_firmware.tar.gz ├── sdk │ ├── do_conf.sh │ └── do_post_build.sh ├── tango │ ├── do_build_byhand.sh │ ├── do_conf.sh │ ├── do_post_build.sh │ ├── do_retrieve_byhand.sh │ └── main.sh ├── telnetd │ ├── 10_telnetd │ ├── do_conf.sh │ └── do_post_build.sh ├── uboot │ ├── do_build_byhand.sh │ ├── do_conf.sh │ └── do_post_build.sh ├── v4l │ ├── Make.rules │ ├── Makefile │ └── do_conf.sh └── zlib │ └── do_conf.sh └── tools ├── copy_rootfs └── main.sh ├── install_instrument └── main.sh ├── mount_rootfs └── main.sh └── update_disk └── src ├── disk.c └── disk.h /README: -------------------------------------------------------------------------------- 1 | stable version: tagged stable_5_0_0 2 | technical documentation: doc/tex/main.pdf 3 | -------------------------------------------------------------------------------- /board/backend/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | export LFS_DISK_EMPTY_SIZE=2 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=2048 5 | export LFS_DISK_APP_SIZE=512 6 | 7 | # archi 8 | export LFS_TARGET_ARCH=x86_64 9 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_x86_64 10 | 11 | # softwares 12 | export LFS_LINUX_VERS=3.6.11 13 | export LFS_LINUX_ARCH=x86_64 14 | export LFS_PCIUTILS_VERS=3.1.10 15 | export LFS_GRUB_VERS=2.00 16 | 17 | . $LFS_TOP_DIR/board/common/do_conf.sh 18 | -------------------------------------------------------------------------------- /board/bbb/crosstool-ng-1.18.0.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated make config: don't edit 3 | # crosstool-NG hg+default-20f2459b97bf Configuration 4 | # Thu Jan 31 14:46:52 2013 5 | # 6 | CT_CONFIGURE_has_xz=y 7 | CT_CONFIGURE_has_cvs=y 8 | CT_CONFIGURE_has_svn=y 9 | CT_MODULES=y 10 | 11 | # 12 | # Paths and misc options 13 | # 14 | 15 | # 16 | # crosstool-NG behavior 17 | # 18 | # CT_OBSOLETE is not set 19 | CT_EXPERIMENTAL=y 20 | # CT_ALLOW_BUILD_AS_ROOT is not set 21 | # CT_DEBUG_CT is not set 22 | 23 | # 24 | # Paths 25 | # 26 | CT_LOCAL_TARBALLS_DIR="${HOME}/src" 27 | CT_SAVE_TARBALLS=y 28 | CT_CUSTOM_LOCATION_ROOT_DIR="" 29 | CT_WORK_DIR="${CT_TOP_DIR}/.build" 30 | CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}" 31 | CT_INSTALL_DIR="${CT_PREFIX_DIR}" 32 | CT_RM_RF_PREFIX_DIR=y 33 | CT_REMOVE_DOCS=y 34 | CT_INSTALL_DIR_RO=y 35 | CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y 36 | 37 | # 38 | # Downloading 39 | # 40 | # CT_FORBID_DOWNLOAD is not set 41 | # CT_FORCE_DOWNLOAD is not set 42 | CT_CONNECT_TIMEOUT=10 43 | # CT_ONLY_DOWNLOAD is not set 44 | # CT_USE_MIRROR is not set 45 | 46 | # 47 | # Extracting 48 | # 49 | # CT_FORCE_EXTRACT is not set 50 | CT_OVERIDE_CONFIG_GUESS_SUB=y 51 | # CT_ONLY_EXTRACT is not set 52 | CT_PATCH_BUNDLED=y 53 | # CT_PATCH_LOCAL is not set 54 | # CT_PATCH_BUNDLED_LOCAL is not set 55 | # CT_PATCH_LOCAL_BUNDLED is not set 56 | # CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set 57 | # CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set 58 | # CT_PATCH_NONE is not set 59 | CT_PATCH_ORDER="bundled" 60 | 61 | # 62 | # Build behavior 63 | # 64 | CT_PARALLEL_JOBS=0 65 | CT_LOAD="" 66 | CT_USE_PIPES=y 67 | CT_EXTRA_CFLAGS_FOR_BUILD="" 68 | CT_EXTRA_LDFLAGS_FOR_BUILD="" 69 | CT_EXTRA_CFLAGS_FOR_HOST="" 70 | CT_EXTRA_LDFLAGS_FOR_HOST="" 71 | # CT_CONFIG_SHELL_SH is not set 72 | # CT_CONFIG_SHELL_ASH is not set 73 | CT_CONFIG_SHELL_BASH=y 74 | # CT_CONFIG_SHELL_CUSTOM is not set 75 | CT_CONFIG_SHELL="${bash}" 76 | 77 | # 78 | # Logging 79 | # 80 | # CT_LOG_ERROR is not set 81 | # CT_LOG_WARN is not set 82 | # CT_LOG_INFO is not set 83 | CT_LOG_EXTRA=y 84 | # CT_LOG_ALL is not set 85 | # CT_LOG_DEBUG is not set 86 | CT_LOG_LEVEL_MAX="EXTRA" 87 | # CT_LOG_SEE_TOOLS_WARN is not set 88 | CT_LOG_PROGRESS_BAR=y 89 | CT_LOG_TO_FILE=y 90 | CT_LOG_FILE_COMPRESS=y 91 | 92 | # 93 | # Target options 94 | # 95 | CT_ARCH="arm" 96 | CT_ARCH_SUPPORTS_BOTH_MMU=y 97 | CT_ARCH_SUPPORTS_BOTH_ENDIAN=y 98 | CT_ARCH_SUPPORTS_32=y 99 | CT_ARCH_SUPPORTS_WITH_ARCH=y 100 | CT_ARCH_SUPPORTS_WITH_CPU=y 101 | CT_ARCH_SUPPORTS_WITH_TUNE=y 102 | CT_ARCH_SUPPORTS_WITH_FLOAT=y 103 | CT_ARCH_SUPPORTS_WITH_FPU=y 104 | CT_ARCH_SUPPORTS_SOFTFP=y 105 | CT_ARCH_DEFAULT_HAS_MMU=y 106 | CT_ARCH_DEFAULT_LE=y 107 | CT_ARCH_DEFAULT_32=y 108 | CT_ARCH_ARCH="armv6zk" 109 | CT_ARCH_CPU="arm1176jzf-s" 110 | CT_ARCH_TUNE="arm1176jzf-s" 111 | CT_ARCH_FPU="vfp" 112 | # CT_ARCH_BE is not set 113 | CT_ARCH_LE=y 114 | CT_ARCH_32=y 115 | CT_ARCH_BITNESS=32 116 | CT_ARCH_FLOAT_HW=y 117 | # CT_ARCH_FLOAT_SW is not set 118 | CT_TARGET_CFLAGS="" 119 | CT_TARGET_LDFLAGS="" 120 | # CT_ARCH_alpha is not set 121 | CT_ARCH_arm=y 122 | # CT_ARCH_avr32 is not set 123 | # CT_ARCH_blackfin is not set 124 | # CT_ARCH_m68k is not set 125 | # CT_ARCH_microblaze is not set 126 | # CT_ARCH_mips is not set 127 | # CT_ARCH_powerpc is not set 128 | # CT_ARCH_s390 is not set 129 | # CT_ARCH_sh is not set 130 | # CT_ARCH_sparc is not set 131 | # CT_ARCH_x86 is not set 132 | CT_ARCH_alpha_AVAILABLE=y 133 | CT_ARCH_arm_AVAILABLE=y 134 | CT_ARCH_avr32_AVAILABLE=y 135 | CT_ARCH_blackfin_AVAILABLE=y 136 | CT_ARCH_m68k_AVAILABLE=y 137 | CT_ARCH_microblaze_AVAILABLE=y 138 | CT_ARCH_mips_AVAILABLE=y 139 | CT_ARCH_powerpc_AVAILABLE=y 140 | CT_ARCH_s390_AVAILABLE=y 141 | CT_ARCH_sh_AVAILABLE=y 142 | CT_ARCH_sparc_AVAILABLE=y 143 | CT_ARCH_x86_AVAILABLE=y 144 | CT_ARCH_SUFFIX="v6" 145 | 146 | # 147 | # Generic target options 148 | # 149 | # CT_MULTILIB is not set 150 | CT_ARCH_USE_MMU=y 151 | CT_ARCH_ENDIAN="little" 152 | 153 | # 154 | # Target optimisations 155 | # 156 | # CT_ARCH_FLOAT_SOFTFP is not set 157 | CT_ARCH_FLOAT="hard" 158 | 159 | # 160 | # arm other options 161 | # 162 | CT_ARCH_ARM_MODE="arm" 163 | CT_ARCH_ARM_MODE_ARM=y 164 | # CT_ARCH_ARM_MODE_THUMB is not set 165 | # CT_ARCH_ARM_INTERWORKING is not set 166 | CT_ARCH_ARM_EABI_FORCE=y 167 | CT_ARCH_ARM_EABI=y 168 | # CT_ARCH_ARM_TUPLE_USE_EABIHF is not set 169 | 170 | # 171 | # Toolchain options 172 | # 173 | 174 | # 175 | # General toolchain options 176 | # 177 | CT_FORCE_SYSROOT=y 178 | CT_USE_SYSROOT=y 179 | CT_SYSROOT_NAME="sysroot" 180 | CT_SYSROOT_DIR_PREFIX="" 181 | # CT_STATIC_TOOLCHAIN is not set 182 | CT_TOOLCHAIN_PKGVERSION="" 183 | CT_TOOLCHAIN_BUGURL="" 184 | 185 | # 186 | # Tuple completion and aliasing 187 | # 188 | CT_TARGET_VENDOR="rpi" 189 | CT_TARGET_ALIAS_SED_EXPR="" 190 | CT_TARGET_ALIAS="" 191 | 192 | # 193 | # Toolchain type 194 | # 195 | # CT_NATIVE is not set 196 | CT_CROSS=y 197 | # CT_CROSS_NATIVE is not set 198 | # CT_CANADIAN is not set 199 | CT_TOOLCHAIN_TYPE="cross" 200 | 201 | # 202 | # Build system 203 | # 204 | CT_BUILD="" 205 | CT_BUILD_PREFIX="" 206 | CT_BUILD_SUFFIX="" 207 | 208 | # 209 | # Misc options 210 | # 211 | # CT_TOOLCHAIN_ENABLE_NLS is not set 212 | 213 | # 214 | # Operating System 215 | # 216 | CT_KERNEL_SUPPORTS_SHARED_LIBS=y 217 | CT_KERNEL="linux" 218 | CT_KERNEL_VERSION="3.6.11" 219 | # CT_KERNEL_bare_metal is not set 220 | CT_KERNEL_linux=y 221 | CT_KERNEL_bare_metal_AVAILABLE=y 222 | CT_KERNEL_linux_AVAILABLE=y 223 | # CT_KERNEL_V_3_7_3 is not set 224 | # CT_KERNEL_V_3_7_2 is not set 225 | # CT_KERNEL_V_3_7_1 is not set 226 | # CT_KERNEL_V_3_7 is not set 227 | CT_KERNEL_V_3_6=y 228 | # CT_KERNEL_V_3_5 is not set 229 | # CT_KERNEL_V_3_4 is not set 230 | # CT_KERNEL_V_3_3 is not set 231 | # CT_KERNEL_V_3_2 is not set 232 | # CT_KERNEL_V_3_1 is not set 233 | # CT_KERNEL_V_3_0 is not set 234 | # CT_KERNEL_V_2_6_39 is not set 235 | # CT_KERNEL_V_2_6_38 is not set 236 | # CT_KERNEL_V_2_6_37 is not set 237 | # CT_KERNEL_V_2_6_36 is not set 238 | # CT_KERNEL_V_2_6_33 is not set 239 | # CT_KERNEL_V_2_6_32 is not set 240 | # CT_KERNEL_V_2_6_31 is not set 241 | # CT_KERNEL_V_2_6_27 is not set 242 | # CT_KERNEL_LINUX_CUSTOM is not set 243 | CT_KERNEL_windows_AVAILABLE=y 244 | 245 | # 246 | # Common kernel options 247 | # 248 | CT_SHARED_LIBS=y 249 | 250 | # 251 | # linux other options 252 | # 253 | CT_KERNEL_LINUX_VERBOSITY_0=y 254 | # CT_KERNEL_LINUX_VERBOSITY_1 is not set 255 | # CT_KERNEL_LINUX_VERBOSITY_2 is not set 256 | CT_KERNEL_LINUX_VERBOSE_LEVEL=0 257 | CT_KERNEL_LINUX_INSTALL_CHECK=y 258 | 259 | # 260 | # Binary utilities 261 | # 262 | CT_ARCH_BINFMT_ELF=y 263 | CT_BINUTILS="binutils" 264 | CT_BINUTILS_binutils=y 265 | 266 | # 267 | # GNU binutils 268 | # 269 | # CT_BINUTILS_V_2_23_1 is not set 270 | CT_BINUTILS_V_2_22=y 271 | # CT_BINUTILS_V_2_21_53 is not set 272 | # CT_BINUTILS_V_2_21_1a is not set 273 | # CT_BINUTILS_V_2_20_1a is not set 274 | # CT_BINUTILS_V_2_19_1a is not set 275 | # CT_BINUTILS_V_2_18a is not set 276 | # CT_BINUTILS_CUSTOM is not set 277 | CT_BINUTILS_VERSION="2.22" 278 | CT_BINUTILS_2_22_or_later=y 279 | CT_BINUTILS_2_21_or_later=y 280 | CT_BINUTILS_2_20_or_later=y 281 | CT_BINUTILS_2_19_or_later=y 282 | CT_BINUTILS_2_18_or_later=y 283 | CT_BINUTILS_HAS_HASH_STYLE=y 284 | CT_BINUTILS_HAS_GOLD=y 285 | CT_BINUTILS_GOLD_SUPPORTS_ARCH=y 286 | CT_BINUTILS_HAS_PLUGINS=y 287 | CT_BINUTILS_HAS_PKGVERSION_BUGURL=y 288 | CT_BINUTILS_FORCE_LD_BFD=y 289 | # CT_BINUTILS_LINKER_LD is not set 290 | CT_BINUTILS_LINKER_LD_GOLD=y 291 | # CT_BINUTILS_LINKER_GOLD_LD is not set 292 | CT_BINUTILS_GOLD_INSTALLED=y 293 | CT_BINUTILS_GOLD_THREADS=y 294 | CT_BINUTILS_LINKER_BOTH=y 295 | CT_BINUTILS_LINKERS_LIST="ld,gold" 296 | CT_BINUTILS_LD_WRAPPER=y 297 | CT_BINUTILS_LINKER_DEFAULT="bfd" 298 | CT_BINUTILS_PLUGINS=y 299 | CT_BINUTILS_EXTRA_CONFIG_ARRAY="" 300 | # CT_BINUTILS_FOR_TARGET is not set 301 | 302 | # 303 | # binutils other options 304 | # 305 | 306 | # 307 | # C compiler 308 | # 309 | CT_CC="gcc" 310 | CT_CC_VERSION="linaro-4.7-2013.01" 311 | CT_CC_CORE_PASSES_NEEDED=y 312 | CT_CC_gcc=y 313 | CT_CC_GCC_SHOW_LINARO=y 314 | CT_CC_V_linaro_4_7=y 315 | # CT_CC_V_4_7_2 is not set 316 | # CT_CC_V_4_7_1 is not set 317 | # CT_CC_V_4_7_0 is not set 318 | # CT_CC_V_linaro_4_6 is not set 319 | # CT_CC_V_4_6_3 is not set 320 | # CT_CC_V_4_6_2 is not set 321 | # CT_CC_V_4_6_1 is not set 322 | # CT_CC_V_4_6_0 is not set 323 | # CT_CC_V_linaro_4_5 is not set 324 | # CT_CC_V_4_5_3 is not set 325 | # CT_CC_V_4_5_2 is not set 326 | # CT_CC_V_4_5_1 is not set 327 | # CT_CC_V_4_5_0 is not set 328 | # CT_CC_V_linaro_4_4 is not set 329 | # CT_CC_V_4_4_7 is not set 330 | # CT_CC_V_4_4_6 is not set 331 | # CT_CC_V_4_4_5 is not set 332 | # CT_CC_V_4_4_4 is not set 333 | # CT_CC_V_4_4_3 is not set 334 | # CT_CC_V_4_4_2 is not set 335 | # CT_CC_V_4_4_1 is not set 336 | # CT_CC_V_4_4_0 is not set 337 | # CT_CC_V_4_3_6 is not set 338 | # CT_CC_V_4_3_5 is not set 339 | # CT_CC_V_4_3_4 is not set 340 | # CT_CC_V_4_3_3 is not set 341 | # CT_CC_V_4_3_2 is not set 342 | # CT_CC_V_4_3_1 is not set 343 | # CT_CC_V_4_2_4 is not set 344 | # CT_CC_V_4_2_2 is not set 345 | # CT_CC_CUSTOM is not set 346 | CT_CC_GCC_4_2_or_later=y 347 | CT_CC_GCC_4_3_or_later=y 348 | CT_CC_GCC_4_4_or_later=y 349 | CT_CC_GCC_4_5_or_later=y 350 | CT_CC_GCC_4_6_or_later=y 351 | CT_CC_GCC_4_7=y 352 | CT_CC_GCC_4_7_or_later=y 353 | CT_CC_GCC_HAS_GRAPHITE=y 354 | CT_CC_GCC_HAS_LTO=y 355 | CT_CC_GCC_HAS_PKGVERSION_BUGURL=y 356 | CT_CC_GCC_HAS_BUILD_ID=y 357 | CT_CC_GCC_HAS_LNK_HASH_STYLE=y 358 | CT_CC_GCC_ENABLE_PLUGINS=y 359 | CT_CC_GCC_GOLD=y 360 | CT_CC_GCC_USE_GMP_MPFR=y 361 | CT_CC_GCC_USE_PPL_CLOOG=y 362 | CT_CC_GCC_USE_MPC=y 363 | CT_CC_GCC_HAS_LIBQUADMATH=y 364 | # CT_CC_LANG_FORTRAN is not set 365 | CT_CC_SUPPORT_CXX=y 366 | CT_CC_SUPPORT_FORTRAN=y 367 | CT_CC_SUPPORT_JAVA=y 368 | CT_CC_SUPPORT_ADA=y 369 | CT_CC_SUPPORT_OBJC=y 370 | CT_CC_SUPPORT_OBJCXX=y 371 | 372 | # 373 | # Additional supported languages: 374 | # 375 | CT_CC_LANG_CXX=y 376 | # CT_CC_LANG_JAVA is not set 377 | # CT_CC_LANG_ADA is not set 378 | # CT_CC_LANG_OBJC is not set 379 | # CT_CC_LANG_OBJCXX is not set 380 | CT_CC_LANG_OTHERS="" 381 | 382 | # 383 | # gcc other options 384 | # 385 | CT_CC_ENABLE_CXX_FLAGS="" 386 | CT_CC_CORE_EXTRA_CONFIG_ARRAY="" 387 | CT_CC_EXTRA_CONFIG_ARRAY="" 388 | # CT_CC_STATIC_LIBSTDCXX is not set 389 | # CT_CC_GCC_SYSTEM_ZLIB is not set 390 | 391 | # 392 | # Optimisation features 393 | # 394 | CT_CC_GCC_USE_GRAPHITE=y 395 | CT_CC_GCC_USE_LTO=y 396 | 397 | # 398 | # Settings for libraries running on target 399 | # 400 | CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y 401 | # CT_CC_GCC_LIBMUDFLAP is not set 402 | # CT_CC_GCC_LIBGOMP is not set 403 | # CT_CC_GCC_LIBSSP is not set 404 | # CT_CC_GCC_LIBQUADMATH is not set 405 | 406 | # 407 | # Misc. obscure options. 408 | # 409 | CT_CC_CXA_ATEXIT=y 410 | CT_CC_GCC_DISABLE_PCH=y 411 | CT_CC_GCC_SJLJ_EXCEPTIONS=m 412 | CT_CC_GCC_LDBL_128=m 413 | CT_CC_GCC_BUILD_ID=y 414 | # CT_CC_GCC_LNK_HASH_STYLE_DEFAULT is not set 415 | # CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set 416 | # CT_CC_GCC_LNK_HASH_STYLE_GNU is not set 417 | CT_CC_GCC_LNK_HASH_STYLE_BOTH=y 418 | CT_CC_GCC_LNK_HASH_STYLE="both" 419 | 420 | # 421 | # C-library 422 | # 423 | CT_LIBC="eglibc" 424 | CT_LIBC_VERSION="2_16" 425 | CT_LIBC_eglibc=y 426 | # CT_LIBC_glibc is not set 427 | # CT_LIBC_uClibc is not set 428 | CT_LIBC_eglibc_AVAILABLE=y 429 | # CT_LIBC_EGLIBC_V_2_17 is not set 430 | CT_LIBC_EGLIBC_V_2_16=y 431 | # CT_LIBC_EGLIBC_V_2_15 is not set 432 | # CT_LIBC_EGLIBC_V_2_14 is not set 433 | # CT_LIBC_EGLIBC_V_2_13 is not set 434 | # CT_LIBC_EGLIBC_V_2_12 is not set 435 | # CT_LIBC_EGLIBC_V_2_11 is not set 436 | # CT_LIBC_EGLIBC_V_2_10 is not set 437 | # CT_LIBC_EGLIBC_V_2_9 is not set 438 | # CT_LIBC_EGLIBC_V_TRUNK is not set 439 | CT_LIBC_EGLIBC_2_16_or_later=y 440 | CT_EGLIBC_REVISION="HEAD" 441 | # CT_EGLIBC_HTTP is not set 442 | # CT_EGLIBC_CHECKOUT is not set 443 | CT_EGLIBC_OPT_SIZE=y 444 | # CT_EGLIBC_CUSTOM_CONFIG is not set 445 | CT_LIBC_glibc_AVAILABLE=y 446 | CT_LIBC_mingw_AVAILABLE=y 447 | CT_LIBC_newlib_AVAILABLE=y 448 | CT_LIBC_none_AVAILABLE=y 449 | CT_LIBC_uClibc_AVAILABLE=y 450 | CT_LIBC_SUPPORT_THREADS_ANY=y 451 | CT_LIBC_SUPPORT_NPTL=y 452 | CT_LIBC_SUPPORT_LINUXTHREADS=y 453 | CT_THREADS="nptl" 454 | 455 | # 456 | # Common C library options 457 | # 458 | CT_THREADS_NPTL=y 459 | # CT_THREADS_LINUXTHREADS is not set 460 | CT_LIBC_XLDD=y 461 | 462 | # 463 | # eglibc other options 464 | # 465 | CT_LIBC_GLIBC_MAY_FORCE_PORTS=y 466 | CT_LIBC_glibc_familly=y 467 | CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" 468 | CT_LIBC_GLIBC_CONFIGPARMS="" 469 | CT_LIBC_GLIBC_EXTRA_CFLAGS="" 470 | CT_LIBC_EXTRA_CC_ARGS="" 471 | # CT_LIBC_ENABLE_FORTIFIED_BUILD is not set 472 | # CT_LIBC_DISABLE_VERSIONING is not set 473 | CT_LIBC_OLDEST_ABI="" 474 | CT_LIBC_GLIBC_FORCE_UNWIND=y 475 | CT_LIBC_GLIBC_USE_PORTS=y 476 | CT_LIBC_ADDONS_LIST="" 477 | 478 | # 479 | # WARNING !!! 480 | # 481 | 482 | # 483 | # For glibc >= 2.8, it can happen that the tarballs 484 | # 485 | 486 | # 487 | # for the addons are not available for download. 488 | # 489 | 490 | # 491 | # If that happens, bad luck... Try a previous version 492 | # 493 | 494 | # 495 | # or try again later... :-( 496 | # 497 | # CT_LIBC_LOCALES is not set 498 | # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set 499 | # CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS is not set 500 | CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN=y 501 | CT_LIBC_GLIBC_MIN_KERNEL_VERSION="3.2.27" 502 | CT_LIBC_GLIBC_MIN_KERNEL="3.2.27" 503 | 504 | # 505 | # Debug facilities 506 | # 507 | # CT_DEBUG_dmalloc is not set 508 | # CT_DEBUG_duma is not set 509 | # CT_DEBUG_gdb is not set 510 | # CT_DEBUG_ltrace is not set 511 | # CT_DEBUG_strace is not set 512 | 513 | # 514 | # Companion libraries 515 | # 516 | CT_COMPLIBS_NEEDED=y 517 | CT_GMP_NEEDED=y 518 | CT_MPFR_NEEDED=y 519 | CT_PPL_NEEDED=y 520 | CT_CLOOG_NEEDED=y 521 | CT_MPC_NEEDED=y 522 | CT_COMPLIBS=y 523 | CT_GMP=y 524 | CT_MPFR=y 525 | CT_PPL=y 526 | CT_CLOOG=y 527 | CT_MPC=y 528 | CT_GMP_V_5_0_2=y 529 | # CT_GMP_V_5_0_1 is not set 530 | # CT_GMP_V_4_3_2 is not set 531 | # CT_GMP_V_4_3_1 is not set 532 | # CT_GMP_V_4_3_0 is not set 533 | CT_GMP_VERSION="5.0.2" 534 | CT_MPFR_V_3_1_0=y 535 | # CT_MPFR_V_3_0_1 is not set 536 | # CT_MPFR_V_3_0_0 is not set 537 | # CT_MPFR_V_2_4_2 is not set 538 | # CT_MPFR_V_2_4_1 is not set 539 | # CT_MPFR_V_2_4_0 is not set 540 | CT_MPFR_VERSION="3.1.0" 541 | CT_PPL_V_0_11_2=y 542 | # CT_PPL_V_0_11_1 is not set 543 | # CT_PPL_V_0_11 is not set 544 | # CT_PPL_V_0_10_2 is not set 545 | CT_PPL_VERSION="0.11.2" 546 | CT_PPL_0_11=y 547 | CT_PPL_NEEDS_LIBPWL=y 548 | CT_CLOOG_V_0_15_11=y 549 | # CT_CLOOG_V_0_15_10 is not set 550 | # CT_CLOOG_V_0_15_9 is not set 551 | # CT_CLOOG_V_0_15_8 is not set 552 | # CT_CLOOG_V_0_15_7 is not set 553 | # CT_CLOOG_V_0_15_6 is not set 554 | CT_CLOOG_VERSION="0.15.11" 555 | CT_CLOOG_0_15_1x=y 556 | CT_CLOOG_NEEDS_AUTORECONF=y 557 | CT_MPC_V_0_9=y 558 | # CT_MPC_V_0_8_2 is not set 559 | # CT_MPC_V_0_8_1 is not set 560 | # CT_MPC_V_0_7 is not set 561 | CT_MPC_VERSION="0.9" 562 | 563 | # 564 | # Companion libraries common options 565 | # 566 | # CT_COMPLIBS_CHECK is not set 567 | 568 | # 569 | # Companion tools 570 | # 571 | 572 | # 573 | # READ HELP before you say 'Y' below !!! 574 | # 575 | # CT_COMP_TOOLS is not set 576 | 577 | # 578 | # Test suite 579 | # 580 | # CT_TEST_SUITE_GCC is not set 581 | -------------------------------------------------------------------------------- /board/bbb/do_conf.sh: -------------------------------------------------------------------------------- 1 | export LFS_DISK_BOOT_SIZE=128 2 | export LFS_DISK_ROOT_SIZE=512 3 | export LFS_DISK_APP_SIZE=512 4 | 5 | # filesystems 6 | export LFS_DISK_BOOT_FS=vfat 7 | export LFS_DISK_ROOT_FS=ext3 8 | export LFS_SQUASH_ROOTFS=yes 9 | export LFS_DISK_APP_FS=ext3 10 | 11 | # archi 12 | export LFS_TARGET_ARCH=arm 13 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_armv7 14 | 15 | # softwares 16 | export LFS_LINUX_VERS=3.8.13 17 | export LFS_LINUX_ARCH=arm 18 | export LFS_NTPD_VERS=1.0 19 | 20 | . $LFS_TOP_DIR/board/common/do_conf.sh 21 | -------------------------------------------------------------------------------- /board/bbb/linux-3.8.13.notes: -------------------------------------------------------------------------------- 1 | [ install a toolchain ] 2 | 3 | add repositories to source.list: 4 | deb http://www.emdebian.org/debian wheezy main 5 | 6 | install: 7 | aptitude update 8 | aptitude install gcc-4.7-arm-linux-gnueabi 9 | 10 | create missing links: 11 | sudo ln -s arm-linux-gnueabi-cpp-4.7 /usr/bin/arm-linux-gnueabi-cpp 12 | sudo ln -s arm-linux-gnueabi-gcc-4.7 /usr/bin/arm-linux-gnueabi-gcc 13 | 14 | 15 | [ create a rootfs from a precompiled image ] 16 | http://elinux.org/BeagleBoardDebian 17 | follow the procedure, put the resulting image on sdcard 18 | mount the root filesystem 19 | 20 | 21 | [ recompile a linux kernel with configfs enabled ] 22 | 23 | Use the following guides + notes below for newer kernels: 24 | http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel 25 | http://eewiki.net/display/linuxonarm/BeagleBone+Black 26 | 27 | PATH=`pwd`/../../../uboot/u-boot-2013.07/tools/:$PATH \ 28 | make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage dtbs -j4 LOADADDR=0x80200000 29 | 30 | PATH=`pwd`/../../../uboot/u-boot-2013.07/tools/:$PATH \ 31 | make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage-dtb.am335x-boneblack -j4 LOADADDR=0x80200000 32 | 33 | Mount boot fs (ie. /dev/sdb1) 34 | create uInitrd 35 | ../../../uboot/u-boot-2013.07/tools/mkimage \ 36 | -A arm -O linux -T ramdisk -C gzip -a 0x81000000 -n initramfs -d /mnt/bootfs/initrd.img /mnt/bootfs/uInitrd 37 | 38 | install on the sdcard rootfs: 39 | cp arch/arm/boot/zImage /mnt/bootfs/zImage 40 | cp arch/arm/boot/dts/am335x-boneblack.dtb /mnt/bootfs/dtbs/am335x-boneblack.dtb 41 | 42 | -- start of script 43 | 44 | #!/usr/bin/env sh 45 | 46 | [ -d /mnt/bootfs ] || mkdir /mnt/bootfs 47 | [ -d /mnt/rootfs ] || mkdir /mnt/rootfs 48 | 49 | sudo mount /dev/sdd1 /mnt/bootfs 50 | sudo mount /dev/sdd2 /mnt/rootfs 51 | 52 | PATH=`pwd`/../../u-boot-2014.01/tools/:$PATH make \ 53 | ARCH=arm \ 54 | CROSS_COMPILE=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/arm-buildroot-linux-uclibcgnueabi- \ 55 | beaglebone_defconfig -j4 LOADADDR=0x80200000 56 | 57 | PATH=`pwd`/../../u-boot-2014.01/tools/:$PATH make \ 58 | ARCH=arm \ 59 | CROSS_COMPILE=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/arm-buildroot-linux-uclibcgnueabi- \ 60 | uImage dtbs -j4 LOADADDR=0x80200000 61 | 62 | PATH=`pwd`/../../u-boot-2014.01/tools/:$PATH make \ 63 | ARCH=arm \ 64 | CROSS_COMPILE=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/arm-buildroot-linux-uclibcgnueabi- \ 65 | uImage-dtb.am335x-boneblack -j4 LOADADDR=0x80200000 66 | 67 | make \ 68 | ARCH=arm \ 69 | CROSS_COMPILE=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/arm-buildroot-linux-uclibcgnueabi- \ 70 | modules -j4 71 | 72 | sudo make \ 73 | ARCH=arm \ 74 | CROSS_COMPILE=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/arm-buildroot-linux-uclibcgnueabi- \ 75 | INSTALL_MOD_PATH=/mnt/rootfs/ modules_install 76 | 77 | sudo cp ./arch/arm/boot/dts/am335x-boneblack.dtb /mnt/bootfs/dtbs/am335x-boneblack.dtb 78 | sudo cp arch/arm/boot/zImage /mnt/bootfs/zImage 79 | sudo ../../u-boot-2014.01/tools/mkimage -A arm -O linux -T ramdisk -C gzip \ 80 | -a 0x81000000 -n initramfs -d /mnt/bootfs/initrd.img /mnt/bootfs/uInitrd 81 | 82 | sudo umount /mnt/rootfs 83 | sudo umount /mnt/bootfs 84 | 85 | -- end of script 86 | 87 | 88 | [ enable pruss ] 89 | to enable the pruss, edit: 90 | arch/arm/boot/dts/am33xx.dtsi 91 | search for pruss, and turn 'disabled' into 'okay' 92 | also, modprobe uio_pruss 93 | 94 | 95 | [ boot from sdcard ] 96 | hold boot button, put and remove the power 97 | 98 | 99 | [ otg projects ] 100 | https://github.com/dominicgs/usb-mitm 101 | 102 | [ host code ] 103 | has to rmmod usbtest, otherwise busy 104 | works only on port 2 105 | 106 | [ ref document ] 107 | http://circuitco.com/support/index.php?title=BeagleBoneBlack#LATEST_PRODUCTION_FILES_.28A5A.29 -------------------------------------------------------------------------------- /board/bbb/uEnv.txt: -------------------------------------------------------------------------------- 1 | kernel_file=zImage 2 | fdt_file=am335x-boneblack.dtb 3 | 4 | loadaddr=0x80200000 5 | fdtaddr=0x815f0000 6 | 7 | loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${kernel_file} 8 | loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} /dtbs/${fdt_file} 9 | 10 | mmcroot=/dev/mmcblk0p2 ro 11 | mmcrootfstype=squashfs rootwait fixrtc 12 | 13 | optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN noinitrd 14 | 15 | mmcargs=setenv bootargs root=${mmcroot} rootfstype=${mmcrootfstype} ${optargs} 16 | 17 | uenvcmd=run loadzimage; run loadfdt; run mmcargs; bootz ${loadaddr} - ${fdtaddr} 18 | -------------------------------------------------------------------------------- /board/comex/crosstool-ng-1.18.0.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated make config: don't edit 3 | # crosstool-NG hg+default-edb17e96ca60 Configuration 4 | # Fri Feb 1 12:57:28 2013 5 | # 6 | CT_CONFIGURE_has_xz=y 7 | CT_CONFIGURE_has_svn=y 8 | CT_MODULES=y 9 | 10 | # 11 | # Paths and misc options 12 | # 13 | 14 | # 15 | # crosstool-NG behavior 16 | # 17 | # CT_OBSOLETE is not set 18 | CT_EXPERIMENTAL=y 19 | # CT_ALLOW_BUILD_AS_ROOT is not set 20 | # CT_DEBUG_CT is not set 21 | 22 | # 23 | # Paths 24 | # 25 | CT_LOCAL_TARBALLS_DIR="${CT_WORK_DIR}/src" 26 | CT_SAVE_TARBALLS=y 27 | CT_CUSTOM_LOCATION_ROOT_DIR="" 28 | CT_WORK_DIR="${CT_TOP_DIR}/.build" 29 | CT_PREFIX_DIR="${CT_WORK_DIR}/${CT_TARGET}" 30 | CT_INSTALL_DIR="${CT_PREFIX_DIR}" 31 | CT_RM_RF_PREFIX_DIR=y 32 | CT_REMOVE_DOCS=y 33 | CT_INSTALL_DIR_RO=y 34 | CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y 35 | 36 | # 37 | # Downloading 38 | # 39 | # CT_FORBID_DOWNLOAD is not set 40 | # CT_FORCE_DOWNLOAD is not set 41 | CT_CONNECT_TIMEOUT=10 42 | # CT_ONLY_DOWNLOAD is not set 43 | # CT_USE_MIRROR is not set 44 | 45 | # 46 | # Extracting 47 | # 48 | # CT_FORCE_EXTRACT is not set 49 | CT_OVERIDE_CONFIG_GUESS_SUB=y 50 | # CT_ONLY_EXTRACT is not set 51 | CT_PATCH_BUNDLED=y 52 | # CT_PATCH_LOCAL is not set 53 | # CT_PATCH_BUNDLED_LOCAL is not set 54 | # CT_PATCH_LOCAL_BUNDLED is not set 55 | # CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set 56 | # CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set 57 | # CT_PATCH_NONE is not set 58 | CT_PATCH_ORDER="bundled" 59 | 60 | # 61 | # Build behavior 62 | # 63 | CT_PARALLEL_JOBS=0 64 | CT_LOAD="" 65 | CT_USE_PIPES=y 66 | CT_EXTRA_CFLAGS_FOR_BUILD="" 67 | CT_EXTRA_LDFLAGS_FOR_BUILD="" 68 | CT_EXTRA_CFLAGS_FOR_HOST="" 69 | CT_EXTRA_LDFLAGS_FOR_HOST="" 70 | # CT_CONFIG_SHELL_SH is not set 71 | # CT_CONFIG_SHELL_ASH is not set 72 | CT_CONFIG_SHELL_BASH=y 73 | # CT_CONFIG_SHELL_CUSTOM is not set 74 | CT_CONFIG_SHELL="${bash}" 75 | 76 | # 77 | # Logging 78 | # 79 | # CT_LOG_ERROR is not set 80 | # CT_LOG_WARN is not set 81 | # CT_LOG_INFO is not set 82 | CT_LOG_EXTRA=y 83 | # CT_LOG_ALL is not set 84 | # CT_LOG_DEBUG is not set 85 | CT_LOG_LEVEL_MAX="EXTRA" 86 | # CT_LOG_SEE_TOOLS_WARN is not set 87 | CT_LOG_PROGRESS_BAR=y 88 | CT_LOG_TO_FILE=y 89 | CT_LOG_FILE_COMPRESS=y 90 | 91 | # 92 | # Target options 93 | # 94 | CT_ARCH="x86" 95 | CT_ARCH_SUPPORTS_32=y 96 | CT_ARCH_SUPPORTS_64=y 97 | CT_ARCH_SUPPORTS_WITH_ARCH=y 98 | CT_ARCH_SUPPORTS_WITH_CPU=y 99 | CT_ARCH_SUPPORTS_WITH_TUNE=y 100 | CT_ARCH_DEFAULT_32=y 101 | CT_ARCH_ARCH="i686" 102 | CT_ARCH_CPU="" 103 | CT_ARCH_TUNE="" 104 | CT_ARCH_32=y 105 | # CT_ARCH_64 is not set 106 | CT_ARCH_BITNESS=32 107 | CT_TARGET_CFLAGS="" 108 | CT_TARGET_LDFLAGS="" 109 | # CT_ARCH_alpha is not set 110 | # CT_ARCH_arm is not set 111 | # CT_ARCH_avr32 is not set 112 | # CT_ARCH_blackfin is not set 113 | # CT_ARCH_m68k is not set 114 | # CT_ARCH_microblaze is not set 115 | # CT_ARCH_mips is not set 116 | # CT_ARCH_powerpc is not set 117 | # CT_ARCH_s390 is not set 118 | # CT_ARCH_sh is not set 119 | # CT_ARCH_sparc is not set 120 | CT_ARCH_x86=y 121 | CT_ARCH_alpha_AVAILABLE=y 122 | CT_ARCH_arm_AVAILABLE=y 123 | CT_ARCH_avr32_AVAILABLE=y 124 | CT_ARCH_blackfin_AVAILABLE=y 125 | CT_ARCH_m68k_AVAILABLE=y 126 | CT_ARCH_microblaze_AVAILABLE=y 127 | CT_ARCH_mips_AVAILABLE=y 128 | CT_ARCH_powerpc_AVAILABLE=y 129 | CT_ARCH_s390_AVAILABLE=y 130 | CT_ARCH_sh_AVAILABLE=y 131 | CT_ARCH_sparc_AVAILABLE=y 132 | CT_ARCH_x86_AVAILABLE=y 133 | CT_ARCH_SUFFIX="" 134 | 135 | # 136 | # Generic target options 137 | # 138 | # CT_MULTILIB is not set 139 | CT_ARCH_USE_MMU=y 140 | 141 | # 142 | # Target optimisations 143 | # 144 | CT_ARCH_FLOAT="" 145 | 146 | # 147 | # Toolchain options 148 | # 149 | 150 | # 151 | # General toolchain options 152 | # 153 | CT_FORCE_SYSROOT=y 154 | CT_USE_SYSROOT=y 155 | CT_SYSROOT_NAME="sysroot" 156 | CT_SYSROOT_DIR_PREFIX="" 157 | CT_WANTS_STATIC_LINK=y 158 | # CT_STATIC_TOOLCHAIN is not set 159 | CT_TOOLCHAIN_PKGVERSION="" 160 | CT_TOOLCHAIN_BUGURL="" 161 | 162 | # 163 | # Tuple completion and aliasing 164 | # 165 | CT_TARGET_VENDOR="nptl" 166 | CT_TARGET_ALIAS_SED_EXPR="" 167 | CT_TARGET_ALIAS="" 168 | 169 | # 170 | # Toolchain type 171 | # 172 | # CT_NATIVE is not set 173 | CT_CROSS=y 174 | # CT_CROSS_NATIVE is not set 175 | # CT_CANADIAN is not set 176 | CT_TOOLCHAIN_TYPE="cross" 177 | 178 | # 179 | # Build system 180 | # 181 | CT_BUILD="" 182 | CT_BUILD_PREFIX="" 183 | CT_BUILD_SUFFIX="" 184 | 185 | # 186 | # Misc options 187 | # 188 | # CT_TOOLCHAIN_ENABLE_NLS is not set 189 | 190 | # 191 | # Operating System 192 | # 193 | CT_KERNEL_SUPPORTS_SHARED_LIBS=y 194 | CT_KERNEL="linux" 195 | CT_KERNEL_VERSION="3.6.11" 196 | # CT_KERNEL_bare_metal is not set 197 | CT_KERNEL_linux=y 198 | # CT_KERNEL_windows is not set 199 | CT_KERNEL_bare_metal_AVAILABLE=y 200 | CT_KERNEL_linux_AVAILABLE=y 201 | # CT_KERNEL_V_3_7_3 is not set 202 | # CT_KERNEL_V_3_7_2 is not set 203 | # CT_KERNEL_V_3_7_1 is not set 204 | # CT_KERNEL_V_3_7 is not set 205 | CT_KERNEL_V_3_6_11=y 206 | # CT_KERNEL_V_3_5_7 is not set 207 | # CT_KERNEL_V_3_4_26 is not set 208 | # CT_KERNEL_V_3_3_8 is not set 209 | # CT_KERNEL_V_3_2_37 is not set 210 | # CT_KERNEL_V_3_1_10 is not set 211 | # CT_KERNEL_V_3_0_59 is not set 212 | # CT_KERNEL_V_2_6_39_4 is not set 213 | # CT_KERNEL_V_2_6_38_8 is not set 214 | # CT_KERNEL_V_2_6_37_6 is not set 215 | # CT_KERNEL_V_2_6_36_4 is not set 216 | # CT_KERNEL_V_2_6_33_20 is not set 217 | # CT_KERNEL_V_2_6_32_60 is not set 218 | # CT_KERNEL_V_2_6_31_14 is not set 219 | # CT_KERNEL_V_2_6_27_62 is not set 220 | # CT_KERNEL_LINUX_CUSTOM is not set 221 | CT_KERNEL_windows_AVAILABLE=y 222 | 223 | # 224 | # Common kernel options 225 | # 226 | CT_SHARED_LIBS=y 227 | 228 | # 229 | # linux other options 230 | # 231 | CT_KERNEL_LINUX_VERBOSITY_0=y 232 | # CT_KERNEL_LINUX_VERBOSITY_1 is not set 233 | # CT_KERNEL_LINUX_VERBOSITY_2 is not set 234 | CT_KERNEL_LINUX_VERBOSE_LEVEL=0 235 | CT_KERNEL_LINUX_INSTALL_CHECK=y 236 | 237 | # 238 | # Binary utilities 239 | # 240 | CT_ARCH_BINFMT_ELF=y 241 | CT_BINUTILS="binutils" 242 | CT_BINUTILS_binutils=y 243 | 244 | # 245 | # GNU binutils 246 | # 247 | # CT_BINUTILS_V_2_23_1 is not set 248 | CT_BINUTILS_V_2_22=y 249 | # CT_BINUTILS_V_2_21_53 is not set 250 | # CT_BINUTILS_V_2_21_1a is not set 251 | # CT_BINUTILS_V_2_20_1a is not set 252 | # CT_BINUTILS_V_2_19_1a is not set 253 | # CT_BINUTILS_V_2_18a is not set 254 | # CT_BINUTILS_CUSTOM is not set 255 | CT_BINUTILS_VERSION="2.22" 256 | CT_BINUTILS_2_22_or_later=y 257 | CT_BINUTILS_2_21_or_later=y 258 | CT_BINUTILS_2_20_or_later=y 259 | CT_BINUTILS_2_19_or_later=y 260 | CT_BINUTILS_2_18_or_later=y 261 | CT_BINUTILS_HAS_HASH_STYLE=y 262 | CT_BINUTILS_HAS_GOLD=y 263 | CT_BINUTILS_GOLD_SUPPORTS_ARCH=y 264 | CT_BINUTILS_HAS_PLUGINS=y 265 | CT_BINUTILS_HAS_PKGVERSION_BUGURL=y 266 | CT_BINUTILS_FORCE_LD_BFD=y 267 | # CT_BINUTILS_LINKER_LD is not set 268 | CT_BINUTILS_LINKER_LD_GOLD=y 269 | # CT_BINUTILS_LINKER_GOLD_LD is not set 270 | CT_BINUTILS_GOLD_INSTALLED=y 271 | CT_BINUTILS_GOLD_THREADS=y 272 | CT_BINUTILS_LINKER_BOTH=y 273 | CT_BINUTILS_LINKERS_LIST="ld,gold" 274 | CT_BINUTILS_LD_WRAPPER=y 275 | CT_BINUTILS_LINKER_DEFAULT="bfd" 276 | CT_BINUTILS_PLUGINS=y 277 | CT_BINUTILS_EXTRA_CONFIG_ARRAY="" 278 | CT_BINUTILS_FOR_TARGET=y 279 | CT_BINUTILS_FOR_TARGET_IBERTY=y 280 | CT_BINUTILS_FOR_TARGET_BFD=y 281 | 282 | # 283 | # binutils other options 284 | # 285 | 286 | # 287 | # C compiler 288 | # 289 | CT_CC="gcc" 290 | CT_CC_VERSION="4.6.0" 291 | CT_CC_CORE_PASSES_NEEDED=y 292 | CT_CC_gcc=y 293 | # CT_CC_GCC_SHOW_LINARO is not set 294 | # CT_CC_V_4_7_2 is not set 295 | # CT_CC_V_4_7_1 is not set 296 | # CT_CC_V_4_7_0 is not set 297 | # CT_CC_V_4_6_3 is not set 298 | # CT_CC_V_4_6_2 is not set 299 | # CT_CC_V_4_6_1 is not set 300 | CT_CC_V_4_6_0=y 301 | # CT_CC_V_4_5_3 is not set 302 | # CT_CC_V_4_5_2 is not set 303 | # CT_CC_V_4_5_1 is not set 304 | # CT_CC_V_4_5_0 is not set 305 | # CT_CC_V_4_4_7 is not set 306 | # CT_CC_V_4_4_6 is not set 307 | # CT_CC_V_4_4_5 is not set 308 | # CT_CC_V_4_4_4 is not set 309 | # CT_CC_V_4_4_3 is not set 310 | # CT_CC_V_4_4_2 is not set 311 | # CT_CC_V_4_4_1 is not set 312 | # CT_CC_V_4_4_0 is not set 313 | # CT_CC_V_4_3_6 is not set 314 | # CT_CC_V_4_3_5 is not set 315 | # CT_CC_V_4_3_4 is not set 316 | # CT_CC_V_4_3_3 is not set 317 | # CT_CC_V_4_3_2 is not set 318 | # CT_CC_V_4_3_1 is not set 319 | # CT_CC_V_4_2_4 is not set 320 | # CT_CC_V_4_2_2 is not set 321 | # CT_CC_CUSTOM is not set 322 | CT_CC_GCC_4_2_or_later=y 323 | CT_CC_GCC_4_3_or_later=y 324 | CT_CC_GCC_4_4_or_later=y 325 | CT_CC_GCC_4_5_or_later=y 326 | CT_CC_GCC_4_6=y 327 | CT_CC_GCC_4_6_or_later=y 328 | CT_CC_GCC_HAS_GRAPHITE=y 329 | CT_CC_GCC_HAS_LTO=y 330 | CT_CC_GCC_HAS_PKGVERSION_BUGURL=y 331 | CT_CC_GCC_HAS_BUILD_ID=y 332 | CT_CC_GCC_ENABLE_PLUGINS=y 333 | CT_CC_GCC_GOLD=y 334 | CT_CC_GCC_USE_GMP_MPFR=y 335 | CT_CC_GCC_USE_PPL_CLOOG=y 336 | CT_CC_GCC_USE_MPC=y 337 | CT_CC_GCC_HAS_LIBQUADMATH=y 338 | CT_CC_LANG_FORTRAN=y 339 | CT_CC_SUPPORT_CXX=y 340 | CT_CC_SUPPORT_FORTRAN=y 341 | CT_CC_SUPPORT_JAVA=y 342 | CT_CC_SUPPORT_ADA=y 343 | CT_CC_SUPPORT_OBJC=y 344 | CT_CC_SUPPORT_OBJCXX=y 345 | 346 | # 347 | # Additional supported languages: 348 | # 349 | CT_CC_LANG_CXX=y 350 | # CT_CC_LANG_JAVA is not set 351 | # CT_CC_LANG_ADA is not set 352 | # CT_CC_LANG_OBJC is not set 353 | # CT_CC_LANG_OBJCXX is not set 354 | CT_CC_LANG_OTHERS="" 355 | 356 | # 357 | # gcc other options 358 | # 359 | CT_CC_ENABLE_CXX_FLAGS="" 360 | CT_CC_CORE_EXTRA_CONFIG_ARRAY="" 361 | CT_CC_EXTRA_CONFIG_ARRAY="" 362 | CT_CC_STATIC_LIBSTDCXX=y 363 | # CT_CC_GCC_SYSTEM_ZLIB is not set 364 | 365 | # 366 | # Optimisation features 367 | # 368 | CT_CC_GCC_USE_GRAPHITE=y 369 | CT_CC_GCC_USE_LTO=y 370 | 371 | # 372 | # Settings for libraries running on target 373 | # 374 | CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y 375 | # CT_CC_GCC_LIBMUDFLAP is not set 376 | # CT_CC_GCC_LIBGOMP is not set 377 | # CT_CC_GCC_LIBSSP is not set 378 | # CT_CC_GCC_LIBQUADMATH is not set 379 | 380 | # 381 | # Misc. obscure options. 382 | # 383 | CT_CC_CXA_ATEXIT=y 384 | # CT_CC_GCC_DISABLE_PCH is not set 385 | CT_CC_GCC_SJLJ_EXCEPTIONS=m 386 | CT_CC_GCC_LDBL_128=m 387 | # CT_CC_GCC_BUILD_ID is not set 388 | 389 | # 390 | # C-library 391 | # 392 | CT_LIBC="glibc" 393 | CT_LIBC_VERSION="2.12.2" 394 | # CT_LIBC_eglibc is not set 395 | CT_LIBC_glibc=y 396 | # CT_LIBC_uClibc is not set 397 | CT_LIBC_eglibc_AVAILABLE=y 398 | CT_LIBC_glibc_AVAILABLE=y 399 | # CT_LIBC_GLIBC_V_2_17 is not set 400 | # CT_LIBC_GLIBC_V_2_16_0 is not set 401 | # CT_LIBC_GLIBC_V_2_15 is not set 402 | # CT_LIBC_GLIBC_V_2_14_1 is not set 403 | # CT_LIBC_GLIBC_V_2_14 is not set 404 | # CT_LIBC_GLIBC_V_2_13 is not set 405 | CT_LIBC_GLIBC_V_2_12_2=y 406 | # CT_LIBC_GLIBC_V_2_12_1 is not set 407 | # CT_LIBC_GLIBC_V_2_11_1 is not set 408 | # CT_LIBC_GLIBC_V_2_11 is not set 409 | # CT_LIBC_GLIBC_V_2_10_1 is not set 410 | # CT_LIBC_GLIBC_V_2_9 is not set 411 | # CT_LIBC_GLIBC_V_2_8 is not set 412 | CT_LIBC_mingw_AVAILABLE=y 413 | CT_LIBC_newlib_AVAILABLE=y 414 | CT_LIBC_none_AVAILABLE=y 415 | CT_LIBC_uClibc_AVAILABLE=y 416 | CT_LIBC_SUPPORT_THREADS_ANY=y 417 | CT_LIBC_SUPPORT_NPTL=y 418 | CT_THREADS="nptl" 419 | 420 | # 421 | # Common C library options 422 | # 423 | CT_THREADS_NPTL=y 424 | CT_LIBC_XLDD=y 425 | CT_LIBC_glibc_familly=y 426 | CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" 427 | CT_LIBC_GLIBC_CONFIGPARMS="" 428 | CT_LIBC_GLIBC_EXTRA_CFLAGS="" 429 | CT_LIBC_EXTRA_CC_ARGS="" 430 | # CT_LIBC_ENABLE_FORTIFIED_BUILD is not set 431 | # CT_LIBC_DISABLE_VERSIONING is not set 432 | CT_LIBC_OLDEST_ABI="" 433 | CT_LIBC_GLIBC_FORCE_UNWIND=y 434 | # CT_LIBC_GLIBC_USE_PORTS is not set 435 | CT_LIBC_ADDONS_LIST="" 436 | # CT_LIBC_LOCALES is not set 437 | # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set 438 | CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y 439 | # CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set 440 | CT_LIBC_GLIBC_MIN_KERNEL="3.6.11" 441 | 442 | # 443 | # glibc other options 444 | # 445 | 446 | # 447 | # Debug facilities 448 | # 449 | CT_DEBUG_dmalloc=y 450 | CT_DMALLOC_V_5_5_2=y 451 | CT_DMALLOC_VERSION="5.5.2" 452 | CT_DEBUG_duma=y 453 | CT_DUMA_A=y 454 | CT_DUMA_SO=y 455 | CT_DUMA_V_2_5_15=y 456 | CT_DUMA_VERSION="2_5_15" 457 | CT_DEBUG_gdb=y 458 | CT_GDB_CROSS=y 459 | # CT_GDB_CROSS_STATIC is not set 460 | # CT_GDB_CROSS_SIM is not set 461 | CT_GDB_CROSS_PYTHON=y 462 | CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" 463 | CT_GDB_NATIVE=y 464 | # CT_GDB_NATIVE_STATIC is not set 465 | CT_GDB_GDBSERVER=y 466 | CT_GDB_GDBSERVER_STATIC=y 467 | 468 | # 469 | # gdb version 470 | # 471 | # CT_DEBUG_GDB_SHOW_LINARO is not set 472 | # CT_GDB_V_7_4_1 is not set 473 | # CT_GDB_V_7_4 is not set 474 | # CT_GDB_V_7_3_1 is not set 475 | # CT_GDB_V_7_3a is not set 476 | # CT_GDB_V_7_2a is not set 477 | # CT_GDB_V_7_1a is not set 478 | # CT_GDB_V_7_0_1a is not set 479 | # CT_GDB_V_7_0a is not set 480 | CT_GDB_V_6_8a=y 481 | # CT_GDB_CUSTOM is not set 482 | CT_GDB_VERSION="6.8a" 483 | CT_DEBUG_ltrace=y 484 | CT_LTRACE_V_0_5_3=y 485 | # CT_LTRACE_V_0_5_2 is not set 486 | CT_LTRACE_VERSION="0.5.3" 487 | CT_LTRACE_0_5_3_or_later=y 488 | CT_DEBUG_strace=y 489 | # CT_STRACE_V_4_6 is not set 490 | # CT_STRACE_V_4_5_20 is not set 491 | CT_STRACE_V_4_5_19=y 492 | # CT_STRACE_V_4_5_18 is not set 493 | CT_STRACE_VERSION="4.5.19" 494 | 495 | # 496 | # Companion libraries 497 | # 498 | CT_COMPLIBS_NEEDED=y 499 | CT_GMP_NEEDED=y 500 | CT_MPFR_NEEDED=y 501 | CT_PPL_NEEDED=y 502 | CT_CLOOG_NEEDED=y 503 | CT_MPC_NEEDED=y 504 | CT_COMPLIBS=y 505 | CT_GMP=y 506 | CT_MPFR=y 507 | CT_PPL=y 508 | CT_CLOOG=y 509 | CT_MPC=y 510 | CT_LIBELF_TARGET=y 511 | # CT_GMP_V_5_0_2 is not set 512 | # CT_GMP_V_5_0_1 is not set 513 | CT_GMP_V_4_3_2=y 514 | # CT_GMP_V_4_3_1 is not set 515 | # CT_GMP_V_4_3_0 is not set 516 | CT_GMP_VERSION="4.3.2" 517 | # CT_MPFR_V_3_1_0 is not set 518 | # CT_MPFR_V_3_0_1 is not set 519 | # CT_MPFR_V_3_0_0 is not set 520 | CT_MPFR_V_2_4_2=y 521 | # CT_MPFR_V_2_4_1 is not set 522 | # CT_MPFR_V_2_4_0 is not set 523 | CT_MPFR_VERSION="2.4.2" 524 | # CT_PPL_V_0_11_2 is not set 525 | # CT_PPL_V_0_11_1 is not set 526 | CT_PPL_V_0_11=y 527 | # CT_PPL_V_0_10_2 is not set 528 | CT_PPL_VERSION="0.11" 529 | CT_PPL_0_11=y 530 | CT_PPL_NEEDS_LIBPWL=y 531 | CT_CLOOG_V_0_15_11=y 532 | # CT_CLOOG_V_0_15_10 is not set 533 | # CT_CLOOG_V_0_15_9 is not set 534 | # CT_CLOOG_V_0_15_8 is not set 535 | # CT_CLOOG_V_0_15_7 is not set 536 | # CT_CLOOG_V_0_15_6 is not set 537 | CT_CLOOG_VERSION="0.15.11" 538 | CT_CLOOG_0_15_1x=y 539 | CT_CLOOG_NEEDS_AUTORECONF=y 540 | # CT_MPC_V_0_9 is not set 541 | CT_MPC_V_0_8_2=y 542 | # CT_MPC_V_0_8_1 is not set 543 | # CT_MPC_V_0_7 is not set 544 | CT_MPC_VERSION="0.8.2" 545 | 546 | # 547 | # libelf version needed to build for target 548 | # 549 | CT_LIBELF_V_0_8_13=y 550 | # CT_LIBELF_V_0_8_12 is not set 551 | CT_LIBELF_VERSION="0.8.13" 552 | 553 | # 554 | # Companion libraries common options 555 | # 556 | # CT_COMPLIBS_CHECK is not set 557 | 558 | # 559 | # Companion tools 560 | # 561 | 562 | # 563 | # READ HELP before you say 'Y' below !!! 564 | # 565 | # CT_COMP_TOOLS is not set 566 | 567 | # 568 | # Test suite 569 | # 570 | CT_TEST_SUITE=y 571 | CT_TEST_SUITE_GCC=y 572 | -------------------------------------------------------------------------------- /board/comex/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | export LFS_DISK_EMPTY_SIZE=2 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=512 5 | export LFS_DISK_APP_SIZE=256 6 | 7 | # filesystems 8 | export LFS_DISK_BOOT_FS=vfat 9 | export LFS_DISK_ROOT_FS=ext3 10 | export LFS_SQUASH_ROOTFS=yes 11 | export LFS_DISK_APP_FS=ext3 12 | 13 | # archi 14 | export LFS_TARGET_ARCH=x86 15 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_x86 16 | 17 | # softwares 18 | export LFS_LINUX_VERS=3.6.11 19 | export LFS_LINUX_ARCH=x86 20 | export LFS_PCIUTILS_VERS=3.1.10 21 | export LFS_GRUB_VERS=2.00 22 | export LFS_NTPD_VERS=1.0 23 | 24 | . $LFS_TOP_DIR/board/common/do_conf.sh 25 | -------------------------------------------------------------------------------- /board/comex/linux-3.6.11_pch_gbe_main.diff: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2012-12-17 18:27:45.000000000 +0100 2 | +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2013-06-13 10:12:19.049882932 +0200 3 | @@ -1626,7 +1626,8 @@ 4 | } else if ((tx_desc->gbec_status & PCH_GBE_TXD_GMAC_STAT_CRSER) 5 | ) { 6 | adapter->stats.tx_carrier_errors++; 7 | - pr_err("Transfer Carrier Sense Error\n"); 8 | + /* flm: avoid console flooding */ 9 | + /* pr_err("Transfer Carrier Sense Error\n"); */ 10 | } else if ((tx_desc->gbec_status & PCH_GBE_TXD_GMAC_STAT_EXCOL) 11 | ) { 12 | adapter->stats.tx_aborted_errors++; 13 | -------------------------------------------------------------------------------- /board/comex/linux-3.6.11_pch_uart.diff: -------------------------------------------------------------------------------- 1 | --- a/drivers/tty/serial/pch_uart.c 2012-12-17 18:27:45.000000000 +0100 2 | +++ b/drivers/tty/serial/pch_uart.c 2013-06-13 10:12:44.049882353 +0200 3 | @@ -392,7 +392,9 @@ 4 | /* Kontron COMe-mTT10 (nanoETXexpress-TT) */ 5 | cmp = dmi_get_system_info(DMI_BOARD_NAME); 6 | if (cmp && (strstr(cmp, "COMe-mTT") || 7 | - strstr(cmp, "nanoETXexpress-TT"))) 8 | + strstr(cmp, "nanoETXexpress-TT") || 9 | + /* flm: board name missing */ 10 | + strstr(cmp, "nETXe-TT"))) 11 | return NTC1_UARTCLK; 12 | 13 | return DEFAULT_UARTCLK; 14 | -------------------------------------------------------------------------------- /board/common/do_conf.sh: -------------------------------------------------------------------------------- 1 | export LFS_CTNG_VERS=1.18.0 2 | export LFS_DROPBEAR_VERS=2012.55 3 | export LFS_BUSYBOX_VERS=1.21.0 4 | export LFS_ZLIB_VERS=1.2.8 5 | #export LFS_SDK_VERS=1.0 6 | -------------------------------------------------------------------------------- /board/conga_imx6/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | export LFS_DISK_BOOT_SIZE=128 3 | export LFS_DISK_ROOT_SIZE=512 4 | export LFS_DISK_APP_SIZE=512 5 | 6 | # filesystems 7 | export LFS_DISK_BOOT_FS=vfat 8 | export LFS_DISK_ROOT_FS=ext3 9 | export LFS_DISK_APP_FS=ext3 10 | 11 | # archi 12 | export LFS_TARGET_ARCH=arm 13 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_armv7 14 | 15 | # softwares 16 | export LFS_LINUX_VERS=3.0.35 17 | export LFS_LINUX_ARCH=arm 18 | export LFS_PCIUTILS_VERS=3.1.10 19 | export LFS_NTPD_VERS=1.0 20 | 21 | . $LFS_TOP_DIR/board/common/do_conf.sh 22 | -------------------------------------------------------------------------------- /board/conga_imx6/linux-3.0.35-patches/0001-ENGR00239905-PCIe-Enable-PCIe-switch-support.patch: -------------------------------------------------------------------------------- 1 | From 339a24c97ec3568442af9f367df59b81d07636d4 Mon Sep 17 00:00:00 2001 2 | From: Richard Zhu 3 | Date: Mon, 7 Jan 2013 13:26:03 +0800 4 | Subject: [PATCH] ENGR00239905 PCIe Enable PCIe switch support 5 | 6 | PCIe switch access mechanism: 7 | - CfgRd0/CfgWr0 is used to access the CFG space of the EP device 8 | or the upstream port of PCIe switch that is connected to RC directly. 9 | - CfgRd1/CfgWr1 is used to access the CFG space of the downstream port 10 | of PCIe switch and so on cases. 11 | 12 | UR and kernel crash problem: 13 | i.MX6 PCIe maps UR(Unsupported Request)err to AXI SLVERR err, which would 14 | cause the arm data abort exception. 15 | There is one "Received Master Abort" in iMX6 Root complex Secondary 16 | status register when a requester receives a Completion 17 | with Unsupported Request Completion Status. 18 | In this case, the Linux kernel would be crashed. 19 | 20 | Workaround: correct this imprecise external abort. 21 | 22 | Signed-off-by: Richard Zhu 23 | --- 24 | arch/arm/mach-mx6/pcie.c | 66 ++++++++++++++++++++++++++++++++++++++------- 25 | 1 files changed, 55 insertions(+), 11 deletions(-) 26 | 27 | diff --git a/arch/arm/mach-mx6/pcie.c b/arch/arm/mach-mx6/pcie.c 28 | index f39dd3d..53e0fb9 100644 29 | --- a/arch/arm/mach-mx6/pcie.c 30 | +++ b/arch/arm/mach-mx6/pcie.c 31 | @@ -3,7 +3,7 @@ 32 | * 33 | * PCIe host controller driver for IMX6 SOCs 34 | * 35 | - * Copyright (C) 2012 Freescale Semiconductor, Inc. All Rights Reserved. 36 | + * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved. 37 | * 38 | * Bits taken from arch/arm/mach-dove/pcie.c 39 | * 40 | @@ -34,6 +34,7 @@ 41 | #include 42 | 43 | #include 44 | +#include 45 | 46 | #include "crm_regs.h" 47 | 48 | @@ -356,6 +357,15 @@ static int imx_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where, 49 | struct imx_pcie_port *pp = bus_to_port(bus->number); 50 | u32 va_address; 51 | 52 | + /* Added to change transaction TYPE */ 53 | + if (bus->number < 2) { 54 | + writel(0, dbi_base + ATU_VIEWPORT_R); 55 | + writel(CfgRdWr0, dbi_base + ATU_REGION_CTRL1_R); 56 | + } else { 57 | + writel(0, dbi_base + ATU_VIEWPORT_R); 58 | + writel(CfgRdWr1, dbi_base + ATU_REGION_CTRL1_R); 59 | + } 60 | + 61 | if (pp) { 62 | if (devfn != 0) { 63 | *val = 0xffffffff; 64 | @@ -363,11 +373,15 @@ static int imx_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where, 65 | } 66 | 67 | va_address = (u32)dbi_base + (where & ~0x3); 68 | - } else 69 | - va_address = (u32)base + (PCIE_CONF_BUS(bus->number - 1) + 70 | - PCIE_CONF_DEV(PCI_SLOT(devfn)) + 71 | - PCIE_CONF_FUNC(PCI_FUNC(devfn)) + 72 | - PCIE_CONF_REG(where)); 73 | + } else { 74 | + writel(0, dbi_base + ATU_VIEWPORT_R); 75 | + 76 | + writel((((PCIE_CONF_BUS(bus->number) 77 | + + PCIE_CONF_DEV(PCI_SLOT(devfn)) 78 | + + PCIE_CONF_FUNC(PCI_FUNC(devfn)))) << 8), 79 | + dbi_base + ATU_REGION_LOW_TRGT_ADDR_R); 80 | + va_address = (u32)base + PCIE_CONF_REG(where); 81 | + } 82 | 83 | *val = readl(va_address); 84 | 85 | @@ -386,16 +400,29 @@ static int imx_pcie_wr_conf(struct pci_bus *bus, u32 devfn, 86 | u32 va_address = 0, mask = 0, tmp = 0; 87 | int ret = PCIBIOS_SUCCESSFUL; 88 | 89 | + /* Added to change transaction TYPE */ 90 | + if (bus->number < 2) { 91 | + writel(0, dbi_base + ATU_VIEWPORT_R); 92 | + writel(CfgRdWr0, dbi_base + ATU_REGION_CTRL1_R); 93 | + } else { 94 | + writel(0, dbi_base + ATU_VIEWPORT_R); 95 | + writel(CfgRdWr1, dbi_base + ATU_REGION_CTRL1_R); 96 | + } 97 | + 98 | if (pp) { 99 | if (devfn != 0) 100 | return PCIBIOS_DEVICE_NOT_FOUND; 101 | 102 | va_address = (u32)dbi_base + (where & ~0x3); 103 | - } else 104 | - va_address = (u32)base + (PCIE_CONF_BUS(bus->number - 1) + 105 | - PCIE_CONF_DEV(PCI_SLOT(devfn)) + 106 | - PCIE_CONF_FUNC(PCI_FUNC(devfn)) + 107 | - PCIE_CONF_REG(where)); 108 | + } else { 109 | + writel(0, dbi_base + ATU_VIEWPORT_R); 110 | + 111 | + writel((((PCIE_CONF_BUS(bus->number) 112 | + + PCIE_CONF_DEV(PCI_SLOT(devfn)) 113 | + + PCIE_CONF_FUNC(PCI_FUNC(devfn)))) << 8), 114 | + dbi_base + ATU_REGION_LOW_TRGT_ADDR_R); 115 | + va_address = (u32)base + PCIE_CONF_REG(where); 116 | + } 117 | 118 | if (size == 4) { 119 | writel(val, va_address); 120 | @@ -667,6 +694,19 @@ static void __init add_pcie_port(void __iomem *base, void __iomem *dbi_base, 121 | } 122 | } 123 | 124 | +/* Added for PCI abort handling */ 125 | +static int imx6q_pcie_abort_handler(unsigned long addr, 126 | + unsigned int fsr, struct pt_regs *regs) 127 | +{ 128 | + /* 129 | + * If it was an imprecise abort, then we need to correct the 130 | + * return address to be _after_ the instruction. 131 | + */ 132 | + if (fsr & (1 << 10)) 133 | + regs->ARM_pc += 4; 134 | + return 0; 135 | +} 136 | + 137 | static int __devinit imx_pcie_pltfm_probe(struct platform_device *pdev) 138 | { 139 | struct resource *mem; 140 | @@ -679,6 +719,10 @@ static int __devinit imx_pcie_pltfm_probe(struct platform_device *pdev) 141 | return -EINVAL; 142 | } 143 | 144 | + /* Added for PCI abort handling */ 145 | + hook_fault_code(16 + 6, imx6q_pcie_abort_handler, SIGBUS, 0, 146 | + "imprecise external abort"); 147 | + 148 | base = ioremap_nocache(PCIE_ARB_END_ADDR - SZ_1M + 1, SZ_1M - SZ_16K); 149 | if (!base) { 150 | pr_err("error with ioremap in function %s\n", __func__); 151 | -- 152 | 1.7.1 153 | 154 | -------------------------------------------------------------------------------- /board/conga_imx6/linux-3.0.35-patches/0001-ENGR00240650-pcie-imx-fix-ep-device-no-int-when-pcie.patch: -------------------------------------------------------------------------------- 1 | From 28cae967e1c12702f2d877b7613b1b0ca594ab64 Mon Sep 17 00:00:00 2001 2 | From: Richard Zhu 3 | Date: Fri, 18 Jan 2013 08:45:37 +0800 4 | Subject: [PATCH] ENGR00240650 pcie: imx: fix ep device no int when pcie switch is used 5 | 6 | The pcie ep device inserted into the downstream port of the 7 | pcie switch doesn't get the legacy INT when pcie switch 8 | is used. 9 | 10 | Signed-off-by: Richard Zhu 11 | --- 12 | arch/arm/mach-mx6/pcie.c | 8 +++++++- 13 | 1 files changed, 7 insertions(+), 1 deletions(-) 14 | 15 | diff --git a/arch/arm/mach-mx6/pcie.c b/arch/arm/mach-mx6/pcie.c 16 | index 53e0fb9..69eaf16 100644 17 | --- a/arch/arm/mach-mx6/pcie.c 18 | +++ b/arch/arm/mach-mx6/pcie.c 19 | @@ -466,7 +466,13 @@ imx_pcie_scan_bus(int nr, struct pci_sys_data *sys) 20 | 21 | static int __init imx_pcie_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 22 | { 23 | - return MXC_INT_PCIE_3; 24 | + switch (pin) { 25 | + case 1: return MXC_INT_PCIE_3; 26 | + case 2: return MXC_INT_PCIE_2; 27 | + case 3: return MXC_INT_PCIE_1; 28 | + case 4: return MXC_INT_PCIE_0; 29 | + default: return -1; 30 | + } 31 | } 32 | 33 | static struct hw_pci imx_pci __initdata = { 34 | -- 35 | 1.7.1 36 | 37 | -------------------------------------------------------------------------------- /board/conga_imx6/linux-3.0.35-patches/0001-ENGR00241003-1-mx6-need-to-add-delay-in-LDO-voltage-.patch: -------------------------------------------------------------------------------- 1 | From c03a6de3bd70b3f99afa3ec532fbb7178819bfad Mon Sep 17 00:00:00 2001 2 | From: Anson Huang 3 | Date: Mon, 21 Jan 2013 16:20:56 +0800 4 | Subject: [PATCH 1/2] ENGR00241003-1 mx6: need to add delay in LDO voltage 5 | setting 6 | 7 | 1.LDO ramp up time may be modified by ROM code 8 | according to fuse setting, cpu freq driver use 9 | fixed delay time which assume the LDO ramp up time 10 | is the reset value of ANATOP register, need to set 11 | it to reset value in regulator init. 12 | 13 | 2.The regulator set voltage should take care of 14 | the ramp up time, calculate the ramp up time based 15 | of register setting and to the delay, make sure that 16 | when the set voltage function return, the voltage is 17 | stable enough. 18 | 19 | 3.CPUFreq no need to use delay, it is already taken 20 | care by regulator voltage setting. 21 | 22 | Signed-off-by: Anson Huang 23 | --- 24 | arch/arm/mach-mx6/cpu_regulator-mx6.c | 70 +++++++++++++++++++----------- 25 | arch/arm/mach-mx6/crm_regs.h | 6 ++- 26 | arch/arm/mach-mx6/mx6_anatop_regulator.c | 70 +++++++++++++++++++++++++++++- 27 | arch/arm/plat-mxc/cpufreq.c | 3 +- 28 | 4 files changed, 118 insertions(+), 31 deletions(-) 29 | 30 | diff --git a/arch/arm/mach-mx6/cpu_regulator-mx6.c b/arch/arm/mach-mx6/cpu_regulator-mx6.c 31 | index d905132..59bc383 100644 32 | --- a/arch/arm/mach-mx6/cpu_regulator-mx6.c 33 | +++ b/arch/arm/mach-mx6/cpu_regulator-mx6.c 34 | @@ -1,5 +1,5 @@ 35 | /* 36 | - * Copyright (C) 2012 Freescale Semiconductor, Inc. All Rights Reserved. 37 | + * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved. 38 | */ 39 | 40 | /* 41 | @@ -97,12 +97,32 @@ void mx6_cpu_regulator_init(void) 42 | } else { 43 | curr_cpu = clk_get_rate(cpu_clk); 44 | cpu_op_tbl = get_cpu_op(&cpu_op_nr); 45 | - /* Set the core to max frequency requested. */ 46 | + 47 | + soc_regulator = regulator_get(NULL, soc_reg_id); 48 | + if (IS_ERR(soc_regulator)) 49 | + printk(KERN_ERR "%s: failed to get soc regulator\n", 50 | + __func__); 51 | + else 52 | + /* set soc to highest setpoint voltage. */ 53 | + regulator_set_voltage(soc_regulator, 54 | + cpu_op_tbl[0].soc_voltage, 55 | + cpu_op_tbl[0].soc_voltage); 56 | + 57 | + pu_regulator = regulator_get(NULL, pu_reg_id); 58 | + if (IS_ERR(pu_regulator)) 59 | + printk(KERN_ERR "%s: failed to get pu regulator\n", 60 | + __func__); 61 | + else 62 | + /* set pu to higheset setpoint voltage. */ 63 | + regulator_set_voltage(pu_regulator, 64 | + cpu_op_tbl[0].pu_voltage, 65 | + cpu_op_tbl[0].pu_voltage); 66 | + /* set the core to higheset setpoint voltage. */ 67 | regulator_set_voltage(cpu_regulator, 68 | cpu_op_tbl[0].cpu_voltage, 69 | cpu_op_tbl[0].cpu_voltage); 70 | if (enable_ldo_mode == LDO_MODE_BYPASSED) { 71 | - /*digital bypass VDDPU/VDDSOC/VDDARM*/ 72 | + /* digital bypass VDDPU/VDDSOC/VDDARM */ 73 | reg = __raw_readl(ANADIG_REG_CORE); 74 | reg &= ~BM_ANADIG_REG_CORE_REG0_TRG; 75 | reg |= BF_ANADIG_REG_CORE_REG0_TRG(0x1f); 76 | @@ -111,14 +131,15 @@ void mx6_cpu_regulator_init(void) 77 | reg &= ~BM_ANADIG_REG_CORE_REG2_TRG; 78 | reg |= BF_ANADIG_REG_CORE_REG2_TRG(0x1f); 79 | __raw_writel(reg, ANADIG_REG_CORE); 80 | - /* Mask the ANATOP brown out interrupt in the GPC. */ 81 | + /* mask the ANATOP brown out irq in the GPC. */ 82 | reg = __raw_readl(gpc_base + 0x14); 83 | reg |= 0x80000000; 84 | __raw_writel(reg, gpc_base + 0x14); 85 | } 86 | + 87 | clk_set_rate(cpu_clk, cpu_op_tbl[0].cpu_rate); 88 | 89 | - /*Fix loops-per-jiffy */ 90 | + /* fix loops-per-jiffy */ 91 | #ifdef CONFIG_SMP 92 | for_each_online_cpu(cpu) 93 | per_cpu(cpu_data, cpu).loops_per_jiffy = 94 | @@ -141,27 +162,24 @@ void mx6_cpu_regulator_init(void) 95 | #endif 96 | } 97 | } 98 | - soc_regulator = regulator_get(NULL, soc_reg_id); 99 | - if (IS_ERR(soc_regulator)) 100 | - printk(KERN_ERR "%s: failed to get soc regulator\n", __func__); 101 | - pu_regulator = regulator_get(NULL, pu_reg_id); 102 | - if (IS_ERR(pu_regulator)) 103 | - printk(KERN_ERR "%s: failed to get pu regulator\n", __func__); 104 | - /*If use ldo bypass and VDDPU_IN is single supplied 105 | - *by external pmic, it means VDDPU_IN can be turned off if GPU/VPU driver 106 | - *not running.In this case we should set external_pureg which can be used 107 | - *in pu_enable/pu_disable of arch/arm/mach-mx6/mx6_anatop_regulator.c to 108 | - *enable or disable external VDDPU regulator from pmic. But for FSL 109 | - *reference boards, VDDSOC_IN connect with VDDPU_IN, so we didn't set 110 | - *pu_reg_id to the external pmic regulator supply name in the board file. 111 | - *In this case external_pureg should be 0 and can't turn off extern pmic 112 | - *regulator, but can turn off VDDPU by internal anatop power gate. 113 | - * 114 | - *If enable internal ldo , external_pureg will be 0, and 115 | - *VDDPU can be turned off by internal anatop anatop power gate. 116 | - * 117 | - */ 118 | - else if (!IS_ERR(pu_regulator) && strcmp(pu_reg_id, "cpu_vddgpu")) 119 | + /* 120 | + * if use ldo bypass and VDDPU_IN is single supplied 121 | + * by external pmic, it means VDDPU_IN can be turned off 122 | + * if GPU/VPU driver not running.In this case we should set 123 | + * external_pureg which can be used in pu_enable/pu_disable of 124 | + * arch/arm/mach-mx6/mx6_anatop_regulator.c to 125 | + * enable or disable external VDDPU regulator from pmic. But for FSL 126 | + * reference boards, VDDSOC_IN connect with VDDPU_IN, so we didn't set 127 | + * pu_reg_id to the external pmic regulator supply name in the board 128 | + * file. In this case external_pureg should be 0 and can't turn off 129 | + * extern pmic regulator, but can turn off VDDPU by internal anatop 130 | + * power gate. 131 | + * 132 | + * if enable internal ldo , external_pureg will be 0, and 133 | + * VDDPU can be turned off by internal anatop anatop power gate. 134 | + * 135 | + */ 136 | + if (!IS_ERR(pu_regulator) && strcmp(pu_reg_id, "cpu_vddgpu")) 137 | external_pureg = 1; 138 | } 139 | 140 | diff --git a/arch/arm/mach-mx6/crm_regs.h b/arch/arm/mach-mx6/crm_regs.h 141 | index 5e03312..43fcb4d 100644 142 | --- a/arch/arm/mach-mx6/crm_regs.h 143 | +++ b/arch/arm/mach-mx6/crm_regs.h 144 | @@ -1,5 +1,5 @@ 145 | /* 146 | - * Copyright 2008-2012 Freescale Semiconductor, Inc. All Rights Reserved. 147 | + * Copyright 2008-2013 Freescale Semiconductor, Inc. All Rights Reserved. 148 | * 149 | * The code contained herein is licensed under the GNU General Public 150 | * License. You may obtain a copy of the GNU General Public License 151 | @@ -55,6 +55,7 @@ 152 | #define PFD_528_BASE_ADDR (MXC_PLL_BASE + 0x100) 153 | #define ANADIG_REG_CORE (MXC_PLL_BASE + 0x140) 154 | #define ANADIG_MISC1_REG (MXC_PLL_BASE + 0x160) 155 | +#define ANADIG_MISC2_REG (MXC_PLL_BASE + 0x170) 156 | #define ANATOP_LVDS_CLK1_SRC_SATA 0xB 157 | #define ANATOP_LVDS_CLK1_OBEN_MASK 0x400 158 | #define ANATOP_LVDS_CLK1_IBEN_MASK 0x1000 159 | @@ -154,6 +155,9 @@ 160 | #define ANADIG_ANA_MISC2_REG1_BO_EN (1 << 13) 161 | #define ANADIG_ANA_MISC2_CONTROL3_MASK 0xC0000000 162 | #define ANADIG_ANA_MISC2_CONTROL3_OFFSET 30 163 | +#define ANADIG_ANA_MISC2_REG0_STEP_TIME_MASK 0x30000000 164 | +#define ANADIG_ANA_MISC2_REG1_STEP_TIME_MASK 0xC000000 165 | +#define ANADIG_ANA_MISC2_REG2_STEP_TIME_MASK 0x3000000 166 | 167 | #define MXC_CCM_BASE MX6_IO_ADDRESS(CCM_BASE_ADDR) 168 | /* CCM Register Offsets. */ 169 | diff --git a/arch/arm/mach-mx6/mx6_anatop_regulator.c b/arch/arm/mach-mx6/mx6_anatop_regulator.c 170 | index 02ee982..83bd363 100644 171 | --- a/arch/arm/mach-mx6/mx6_anatop_regulator.c 172 | +++ b/arch/arm/mach-mx6/mx6_anatop_regulator.c 173 | @@ -1,5 +1,5 @@ 174 | /* 175 | - * Copyright (C) 2011-2012 Freescale Semiconductor, Inc. All Rights Reserved. 176 | + * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved. 177 | */ 178 | 179 | /* 180 | @@ -42,6 +42,9 @@ 181 | #define GPC_PGC_GPU_PGCR_OFFSET 0x260 182 | #define GPC_CNTR_OFFSET 0x0 183 | 184 | +#define LDO_RAMP_UP_UNIT_IN_CYCLES 64 /* 64 cycles per step */ 185 | +#define LDO_RAMP_UP_FREQ_IN_MHZ 24 /* time base on 24M OSC */ 186 | + 187 | extern struct platform_device sgtl5000_vdda_reg_devices; 188 | extern struct platform_device sgtl5000_vddio_reg_devices; 189 | extern struct platform_device sgtl5000_vddd_reg_devices; 190 | @@ -79,6 +82,7 @@ static int get_voltage(struct anatop_regulator *sreg) 191 | static int set_voltage(struct anatop_regulator *sreg, int uv) 192 | { 193 | u32 val, reg; 194 | + u32 delay, steps, old_val; 195 | 196 | pr_debug("%s: uv %d, min %d, max %d\n", __func__, 197 | uv, sreg->rdata->min_voltage, sreg->rdata->max_voltage); 198 | @@ -94,8 +98,56 @@ static int set_voltage(struct anatop_regulator *sreg, int uv) 199 | ~(sreg->rdata->vol_bit_mask << 200 | sreg->rdata->vol_bit_shift)); 201 | pr_debug("%s: calculated val %d\n", __func__, val); 202 | + 203 | + old_val = (__raw_readl(sreg->rdata->control_reg) >> 204 | + sreg->rdata->vol_bit_shift) & sreg->rdata->vol_bit_mask; 205 | + 206 | __raw_writel((val << sreg->rdata->vol_bit_shift) | reg, 207 | sreg->rdata->control_reg); 208 | + 209 | + if (sreg->rdata->control_reg == (unsigned int)(MXC_PLL_BASE + 210 | + HW_ANADIG_REG_CORE)) { 211 | + /* calculate how many steps to ramp up */ 212 | + steps = (val > old_val) ? val - old_val : 0; 213 | + if (steps) { 214 | + switch (sreg->rdata->vol_bit_shift) { 215 | + case BP_ANADIG_REG_CORE_REG0_TRG: 216 | + reg = (__raw_readl(MXC_PLL_BASE + 217 | + HW_ANADIG_ANA_MISC2) & 218 | + BM_ANADIG_ANA_MISC2_REG0_STEP_TIME) >> 219 | + BP_ANADIG_ANA_MISC2_REG0_STEP_TIME; 220 | + break; 221 | + case BP_ANADIG_REG_CORE_REG1_TRG: 222 | + reg = (__raw_readl(MXC_PLL_BASE + 223 | + HW_ANADIG_ANA_MISC2) & 224 | + BM_ANADIG_ANA_MISC2_REG1_STEP_TIME) >> 225 | + BP_ANADIG_ANA_MISC2_REG1_STEP_TIME; 226 | + break; 227 | + case BP_ANADIG_REG_CORE_REG2_TRG: 228 | + reg = (__raw_readl(MXC_PLL_BASE + 229 | + HW_ANADIG_ANA_MISC2) & 230 | + BM_ANADIG_ANA_MISC2_REG2_STEP_TIME) >> 231 | + BP_ANADIG_ANA_MISC2_REG2_STEP_TIME; 232 | + break; 233 | + default: 234 | + break; 235 | + } 236 | + 237 | + /* 238 | + * the delay time for LDO ramp up time is 239 | + * based on the register setting, we need 240 | + * to calculate how many steps LDO need to 241 | + * ramp up, and how much delay needs. (us) 242 | + */ 243 | + delay = steps * ((LDO_RAMP_UP_UNIT_IN_CYCLES << 244 | + reg) / LDO_RAMP_UP_FREQ_IN_MHZ + 1); 245 | + udelay(delay); 246 | + pr_debug("%s: %s: delay %d, steps %d, uv %d\n", 247 | + __func__, sreg->rdata->name, delay, 248 | + steps, uv); 249 | + } 250 | + } 251 | + 252 | return 0; 253 | } else { 254 | pr_debug("Regulator not supported.\n"); 255 | @@ -532,6 +584,8 @@ static struct anatop_regulator vdd3p0_reg = { 256 | 257 | static int __init regulators_init(void) 258 | { 259 | + unsigned int reg; 260 | + 261 | anatop_register_regulator(&vddpu_reg, ANATOP_VDDPU, &vddpu_init); 262 | anatop_register_regulator(&vddcore_reg, ANATOP_VDDCORE, &vddcore_init); 263 | anatop_register_regulator(&vddsoc_reg, ANATOP_VDDSOC, &vddsoc_init); 264 | @@ -539,7 +593,19 @@ static int __init regulators_init(void) 265 | anatop_register_regulator(&vdd1p1_reg, ANATOP_VDD1P1, &vdd1p1_init); 266 | anatop_register_regulator(&vdd3p0_reg, ANATOP_VDD3P0, &vdd3p0_init); 267 | 268 | - /* clear flag in boot*/ 269 | + /* Set the REGx step time back to reset value, 270 | + * as ROM may modify it according to fuse setting, 271 | + * so we need to set it back, otherwise, the delay 272 | + * time in cpu freq change will be impacted, the reset 273 | + * value is 0'b00, 64 cycles of 24M clock. 274 | + */ 275 | + reg = __raw_readl(ANADIG_MISC2_REG); 276 | + reg &= ~ANADIG_ANA_MISC2_REG0_STEP_TIME_MASK; 277 | + reg &= ~ANADIG_ANA_MISC2_REG1_STEP_TIME_MASK; 278 | + reg &= ~ANADIG_ANA_MISC2_REG2_STEP_TIME_MASK; 279 | + __raw_writel(reg, ANADIG_MISC2_REG); 280 | + 281 | + /* clear flag in boot */ 282 | pu_is_enabled = 0; 283 | get_clk = 0; 284 | return 0; 285 | diff --git a/arch/arm/plat-mxc/cpufreq.c b/arch/arm/plat-mxc/cpufreq.c 286 | index 4cdc837..47a70d9 100755 287 | --- a/arch/arm/plat-mxc/cpufreq.c 288 | +++ b/arch/arm/plat-mxc/cpufreq.c 289 | @@ -1,5 +1,5 @@ 290 | /* 291 | - * Copyright (C) 2010-2012 Freescale Semiconductor, Inc. All Rights Reserved. 292 | + * Copyright (C) 2010-2013 Freescale Semiconductor, Inc. All Rights Reserved. 293 | */ 294 | 295 | /* 296 | @@ -112,7 +112,6 @@ int set_cpu_freq(int freq) 297 | printk(KERN_ERR "COULD NOT SET GP VOLTAGE!!!!\n"); 298 | goto err3; 299 | } 300 | - udelay(50); 301 | } 302 | ret = clk_set_rate(cpu_clk, freq); 303 | if (ret != 0) { 304 | -- 305 | 1.7.5.4 306 | 307 | -------------------------------------------------------------------------------- /board/conga_imx6/linux-3.0.35-patches/0002-ENGR00241003-2-pfuze-using-_sel-interface-to-add-del.patch: -------------------------------------------------------------------------------- 1 | From 64eb436e9876a2d95abea34464addf37a0888f61 Mon Sep 17 00:00:00 2001 2 | From: Anson Huang 3 | Date: Wed, 23 Jan 2013 15:11:34 +0800 4 | Subject: [PATCH 2/2] ENGR00241003-2 pfuze: using _sel interface to add delay 5 | support 6 | 7 | use regulator _sel interface set to support auto delay, 8 | as when regulator's voltage go up, it will take some time 9 | to ramp up to the required voltage, so the delay is necessary. 10 | _sel interface set support such function, now we switch to this 11 | interface set. 12 | 13 | Signed-off-by: Anson Huang 14 | --- 15 | drivers/regulator/pfuze100-regulator.c | 86 ++++++++++++++++++++++++++++++- 16 | 1 files changed, 83 insertions(+), 3 deletions(-) 17 | 18 | diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c 19 | index 17a8da1..8ab80b7 100644 20 | --- a/drivers/regulator/pfuze100-regulator.c 21 | +++ b/drivers/regulator/pfuze100-regulator.c 22 | @@ -1,5 +1,5 @@ 23 | /* 24 | - * Copyright (C) 2011-2012 Freescale Semiconductor, Inc. All Rights Reserved. 25 | + * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved. 26 | * 27 | * This program is free software; you can redistribute it and/or modify 28 | * it under the terms of the GNU General Public License as published by 29 | @@ -550,6 +550,24 @@ pfuze100_regulator_set_voltage(struct regulator_dev *rdev, int min_uV, 30 | 31 | } 32 | 33 | +static int pfuze100_regulator_set_voltage_sel(struct regulator_dev *rdev, 34 | + unsigned selector) 35 | +{ 36 | + struct pfuze_regulator_priv *priv = rdev_get_drvdata(rdev); 37 | + int id = rdev_get_id(rdev); 38 | + int ret; 39 | + 40 | + dev_dbg(rdev_get_dev(rdev), "%s id: %d vol: %d\n", 41 | + __func__, id, pfuze100_regulators[id].voltages[selector]); 42 | + 43 | + pfuze_lock(priv->pfuze); 44 | + ret = pfuze_reg_rmw(priv->pfuze, pfuze100_regulators[id].reg, 45 | + pfuze100_regulators[id].vsel_mask, 46 | + selector << pfuze100_regulators[id].vsel_shift); 47 | + pfuze_unlock(priv->pfuze); 48 | + return ret; 49 | +} 50 | + 51 | static int pfuze100_regulator_get_voltage(struct regulator_dev *rdev) 52 | { 53 | struct pfuze_regulator_priv *priv = rdev_get_drvdata(rdev); 54 | @@ -569,6 +587,66 @@ static int pfuze100_regulator_get_voltage(struct regulator_dev *rdev) 55 | return pfuze100_regulators[id].voltages[val]; 56 | } 57 | 58 | +static int pfuze100_regulator_get_voltage_sel(struct regulator_dev *rdev) 59 | +{ 60 | + struct pfuze_regulator_priv *priv = rdev_get_drvdata(rdev); 61 | + int id = rdev_get_id(rdev); 62 | + int ret; 63 | + unsigned char val; 64 | + 65 | + pfuze_lock(priv->pfuze); 66 | + ret = pfuze_reg_read(priv->pfuze, pfuze100_regulators[id].reg, &val); 67 | + pfuze_unlock(priv->pfuze); 68 | + if (ret) 69 | + return ret; 70 | + 71 | + val &= pfuze100_regulators[id].vsel_mask; 72 | + val >>= pfuze100_regulators[id].vsel_shift; 73 | + dev_dbg(rdev_get_dev(rdev), "%s id: %d, vol=%d\n", __func__, id, 74 | + pfuze100_regulators[id].voltages[val]); 75 | + return (int) val; 76 | +} 77 | + 78 | +static int pfuze100_regulator_set_voltage_time_sel(struct regulator_dev *rdev, 79 | + unsigned int old_sel, 80 | + unsigned int new_sel) 81 | +{ 82 | + struct pfuze_regulator_priv *priv = rdev_get_drvdata(rdev); 83 | + int id = rdev_get_id(rdev); 84 | + int ret; 85 | + unsigned char step_delay; 86 | + 87 | + pfuze_lock(priv->pfuze); 88 | + /*read SWxDVSSPEED from SWxCONF,got ramp step value*/ 89 | + ret = pfuze_reg_read(priv->pfuze, pfuze100_regulators[id].reg + 0x4, 90 | + &step_delay); 91 | + pfuze_unlock(priv->pfuze); 92 | + 93 | + if (ret) 94 | + return ret; 95 | + /* 96 | + * one step 97 | + * 00: 2us, 98 | + * 01: 4us, 99 | + * 02: 8us, 100 | + * 03: 16us, 101 | + */ 102 | + step_delay >>= 5; 103 | + step_delay &= 0x3; 104 | + step_delay <<= 1; 105 | + 106 | + if (pfuze100_regulators[id].voltages[old_sel] < 107 | + pfuze100_regulators[id].voltages[new_sel]) 108 | + ret = DIV_ROUND_UP(pfuze100_regulators[id].voltages[new_sel] - 109 | + pfuze100_regulators[id].voltages[old_sel], 25000) 110 | + * step_delay; 111 | + else 112 | + ret = 0; /* no delay if voltage drop */ 113 | + dev_dbg(rdev_get_dev(rdev), "%s id: %d, new_sel = %d, old_sel = %d, \ 114 | + delay = %d\n", __func__, id, new_sel, old_sel, ret); 115 | + return ret; 116 | +} 117 | + 118 | static int pfuze100_regulator_ldo_standby_enable(struct regulator_dev *rdev) 119 | { 120 | struct pfuze_regulator_priv *priv = rdev_get_drvdata(rdev); 121 | @@ -681,11 +759,13 @@ static int pfuze100_regulator_sw_standby_disable(struct regulator_dev *rdev) 122 | static struct regulator_ops pfuze100_sw_regulator_ops = { 123 | .is_enabled = pfuze100_sw_regulator_is_enabled, 124 | .list_voltage = pfuze100_regulator_list_voltage, 125 | - .set_voltage = pfuze100_regulator_set_voltage, 126 | - .get_voltage = pfuze100_regulator_get_voltage, 127 | + .set_voltage_sel = pfuze100_regulator_set_voltage_sel, 128 | + .get_voltage_sel = pfuze100_regulator_get_voltage_sel, 129 | .set_suspend_enable = pfuze100_regulator_sw_standby_enable, 130 | .set_suspend_disable = pfuze100_regulator_sw_standby_disable, 131 | .set_suspend_voltage = pfuze100_regulator_sw_standby_voltage, 132 | + .set_voltage_time_sel = pfuze100_regulator_set_voltage_time_sel, 133 | + 134 | }; 135 | 136 | static int __devinit pfuze100_regulator_probe(struct platform_device *pdev) 137 | -- 138 | 1.7.5.4 139 | 140 | -------------------------------------------------------------------------------- /board/conga_imx6/linux-3.0.35-patches/0007-CGT000007-QMX6-Revert-ENGR00224109-MX6-FEC-optimize-ENET_REF_CLK.patch: -------------------------------------------------------------------------------- 1 | From 1c1e76aa6b3b38e0261d109896dc94d393c2abf4 Mon Sep 17 00:00:00 2001 2 | From: Michael Schanz 3 | Date: Mon, 8 Jul 2013 10:13:47 +0200 4 | Subject: CGT000007 QMX6: Revert ENGR00224109 MX6 FEC optimize ENET_REF_CLK 5 | 6 | On QMX6 with 6Quad and 6Dual, extremely bad performance was observed 7 | on top of the imx_rel kernels 3.0.35_1.1.0 and 3.0.35_4.0.0, while 8 | the performance on top of 3.0.15 was within expectations. 9 | 10 | This change reverts the commit that was identified to cause the drop 11 | in performance. 12 | 13 | Note that further fixes for 4.0.0 might be needed, related to 14 | the topic "ENET interupt to GPIO/wait mode", this change here 15 | is not related to that issue. 16 | 17 | NOTE: 18 | The bad performance was not observed on 6DualLite and 19 | 6Solo. DualLite and Solo came in silicon rev. 1.1, while 20 | Quad and Dual came in silicon rev. 1.2. 21 | 22 | Further investigation into the issue is recommended, developing 23 | a deeper understanding of the signal conditioning configuration 24 | and checking the signal quality with measuring equipment. 25 | 26 | This reverts commit 5722518fcba2dffcabcf3c2d5e2bd6c390392699: 27 | ===== 28 | commit 5722518fcba2dffcabcf3c2d5e2bd6c390392699 29 | Author: Fugang Duan 30 | Date: Thu Sep 20 15:26:49 2012 +0800 31 | 32 | ENGR00224109 - MX6 : FEC : optimize ENET_REF_CLK PAD configuration. 33 | 34 | In MX6 Arik and Rigel platforms, RGMII tx_clk clock source is from 35 | ENET_REF_CLK pad supplied by phy. To optimize the clk signal path, 36 | the ENET_REF_CLK I/O must have this configuration: 37 | 1. Disable on-chip pull-up, pull-down, and keeper 38 | 2. Disable hysteresis 39 | 3. Speed = 100 MHz 40 | 4. Slew rate = fast 41 | 42 | The optimizition make the bias point match the optimum point, which 43 | can maximize design margin. 44 | 45 | Signed-off-by: Fugang Duan 46 | ===== 47 | 48 | Signed-off-by: Simon Braunschmidt 49 | --- 50 | arch/arm/plat-mxc/include/mach/iomux-mx6dl.h | 5 +---- 51 | arch/arm/plat-mxc/include/mach/iomux-mx6q.h | 6 +----- 52 | 2 files changed, 2 insertions(+), 9 deletions(-) 53 | 54 | diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx6dl.h b/arch/arm/plat-mxc/include/mach/iomux-mx6dl.h 55 | index e2740ff..df528bc 100644 56 | --- a/arch/arm/plat-mxc/include/mach/iomux-mx6dl.h 57 | +++ b/arch/arm/plat-mxc/include/mach/iomux-mx6dl.h 58 | @@ -58,9 +58,6 @@ 59 | PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ 60 | PAD_CTL_DSE_40ohm | PAD_CTL_HYS) 61 | 62 | -#define MX6DL_ENET_REF_CLK_PAD_CTRL (PAD_CTL_PUE | \ 63 | - PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ 64 | - PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST) 65 | 66 | #define MX6DL_I2C_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ 67 | PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ 68 | @@ -2260,7 +2257,7 @@ 69 | IOMUX_PAD(0x05BC, 0x01EC, 6, 0x0000, 0, NO_PAD_CTRL) 70 | 71 | #define MX6DL_PAD_ENET_REF_CLK__ENET_TX_CLK \ 72 | - IOMUX_PAD(0x05C0, 0x01F0, 1, 0x0000, 0, MX6DL_ENET_REF_CLK_PAD_CTRL) 73 | + IOMUX_PAD(0x05C0, 0x01F0, 1, 0x0000, 0, MX6DL_ENET_PAD_CTRL) 74 | #define MX6DL_PAD_ENET_REF_CLK__ESAI1_FSR \ 75 | IOMUX_PAD(0x05C0, 0x01F0, 2, 0x082C, 0, NO_PAD_CTRL) 76 | #define MX6DL_PAD_ENET_REF_CLK__SDMA_DEBUG_BUS_DEVICE_4 \ 77 | diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h 78 | index cdff320..fe107cf 100644 79 | --- a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h 80 | +++ b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h 81 | @@ -57,10 +57,6 @@ 82 | PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ 83 | PAD_CTL_DSE_40ohm | PAD_CTL_HYS) 84 | 85 | -#define MX6Q_ENET_REF_CLK_PAD_CTRL (PAD_CTL_PUE | \ 86 | - PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ 87 | - PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST) 88 | - 89 | #define MX6Q_GPIO_16_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ 90 | PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ 91 | PAD_CTL_DSE_40ohm | PAD_CTL_HYS) 92 | @@ -5220,7 +5216,7 @@ 93 | #define MX6Q_PAD_ENET_REF_CLK__RESERVED_RESERVED \ 94 | (_MX6Q_PAD_ENET_REF_CLK__RESERVED_RESERVED | MUX_PAD_CTRL(NO_PAD_CTRL)) 95 | #define MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK \ 96 | - (_MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK | MUX_PAD_CTRL(MX6Q_ENET_REF_CLK_PAD_CTRL)) 97 | + (_MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK | MUX_PAD_CTRL(MX6Q_ENET_PAD_CTRL)) 98 | #define MX6Q_PAD_ENET_REF_CLK__ESAI1_FSR \ 99 | (_MX6Q_PAD_ENET_REF_CLK__ESAI1_FSR | MUX_PAD_CTRL(MX6Q_ESAI_PAD_CTRL)) 100 | #define MX6Q_PAD_ENET_REF_CLK__SDMA_DEBUG_BUS_DEVICE_4 \ 101 | -- 102 | 1.8.2.2 103 | 104 | -------------------------------------------------------------------------------- /board/conga_imx6/linux-3.0.35-patches/0008-CGT000008-QMX6-Support-for-OV5640-MIPI-camera.patch: -------------------------------------------------------------------------------- 1 | From 05c0a2a0b0fe877e925730c8572ceed2385d5f54 Mon Sep 17 00:00:00 2001 2 | From: Jan Rohacek 3 | Date: Fri, 19 Jul 2013 09:09:11 +0200 4 | Subject: [PATCH 8/9] CGT000008 QMX6: Support for OV5640 MIPI camera 5 | 6 | Add support for OmniVision OV5640 MIPI camera 7 | 8 | Signed-off-by: Michael Schanz 9 | --- 10 | arch/arm/configs/qmx6_defconfig | 2 + 11 | arch/arm/mach-mx6/Kconfig | 2 + 12 | arch/arm/mach-mx6/board-mx6dl_qmx6.h | 6 +++ 13 | arch/arm/mach-mx6/board-mx6q_qmx6.c | 81 +++++++++++++++++++++++++++++++++++- 14 | arch/arm/mach-mx6/board-mx6q_qmx6.h | 6 +++ 15 | 5 files changed, 95 insertions(+), 2 deletions(-) 16 | 17 | diff --git a/arch/arm/configs/qmx6_defconfig b/arch/arm/configs/qmx6_defconfig 18 | index 39a861a..3cd3e37 100644 19 | --- a/arch/arm/configs/qmx6_defconfig 20 | +++ b/arch/arm/configs/qmx6_defconfig 21 | @@ -288,6 +288,8 @@ CONFIG_IMX_HAVE_PLATFORM_FSL_OTG=y 22 | CONFIG_IMX_HAVE_PLATFORM_FSL_USB_WAKEUP=y 23 | CONFIG_IMX_HAVE_PLATFORM_IMX_PM=y 24 | CONFIG_IMX_HAVE_PLATFORM_IMX_ASRC=y 25 | +# CONFIG_IMX_HAVE_PLATFORM_IMX_MIPI_DSI is not set 26 | +CONFIG_IMX_HAVE_PLATFORM_IMX_MIPI_CSI2=y 27 | CONFIG_IMX_HAVE_PLATFORM_IMX_VDOA=y 28 | CONFIG_IMX_HAVE_PLATFORM_IMX_PCIE=y 29 | 30 | diff --git a/arch/arm/mach-mx6/Kconfig b/arch/arm/mach-mx6/Kconfig 31 | index a71e67e..a09efd7 100644 32 | --- a/arch/arm/mach-mx6/Kconfig 33 | +++ b/arch/arm/mach-mx6/Kconfig 34 | @@ -207,7 +207,9 @@ config MACH_MX6Q_QMX6 35 | select IMX_HAVE_PLATFORM_IMX_PM 36 | select IMX_HAVE_PLATFORM_MXC_HDMI 37 | select IMX_HAVE_PLATFORM_IMX_ASRC 38 | + select IMX_HAVE_PLATFORM_IMX_MIPI_DSI 39 | select IMX_HAVE_PLATFORM_FLEXCAN 40 | + select IMX_HAVE_PLATFORM_IMX_MIPI_CSI2 41 | select IMX_HAVE_PLATFORM_PERFMON 42 | select IMX_HAVE_PLATFORM_IMX_PXP 43 | select IMX_HAVE_PLATFORM_IMX_PCIE 44 | diff --git a/arch/arm/mach-mx6/board-mx6dl_qmx6.h b/arch/arm/mach-mx6/board-mx6dl_qmx6.h 45 | index cbb3f3c..d38bc1d 100644 46 | --- a/arch/arm/mach-mx6/board-mx6dl_qmx6.h 47 | +++ b/arch/arm/mach-mx6/board-mx6dl_qmx6.h 48 | @@ -225,4 +225,10 @@ static iomux_v3_cfg_t mx6dl_qmx6_i2c2_pads[] = { 49 | MX6DL_PAD_KEY_COL3__I2C2_SCL, /* I2C2 SCL */ 50 | MX6DL_PAD_KEY_ROW3__I2C2_SDA, /* I2C2 SDA */ 51 | }; 52 | + 53 | +static iomux_v3_cfg_t mx6dl_qmx6_mipi_sensor_pads[] = { 54 | + MX6DL_PAD_CSI0_MCLK__CCM_CLKO, /* camera CLK (soic output at 24MHz) */ 55 | + MX6DL_PAD_NANDF_RB0__GPIO_6_10, /* camera PWDN */ 56 | + MX6DL_PAD_GPIO_8__GPIO_1_8 /* camera RST */ 57 | +}; 58 | #endif 59 | diff --git a/arch/arm/mach-mx6/board-mx6q_qmx6.c b/arch/arm/mach-mx6/board-mx6q_qmx6.c 60 | index e429a91..bdb110c 100644 61 | --- a/arch/arm/mach-mx6/board-mx6q_qmx6.c 62 | +++ b/arch/arm/mach-mx6/board-mx6q_qmx6.c 63 | @@ -299,10 +299,65 @@ static int mx6_qmx6_sgtl5000_init(void) 64 | clk_enable(clko); 65 | return 0; 66 | } 67 | + 68 | +static void mx6q_mipi_sensor_io_init(void) 69 | +{ 70 | + if (cpu_is_mx6dl()) 71 | + mxc_iomux_v3_setup_multiple_pads(mx6dl_qmx6_mipi_sensor_pads, 72 | + ARRAY_SIZE(mx6dl_qmx6_mipi_sensor_pads)); 73 | + else 74 | + mxc_iomux_v3_setup_multiple_pads(mx6q_qmx6_mipi_sensor_pads, 75 | + ARRAY_SIZE(mx6q_qmx6_mipi_sensor_pads)); 76 | + 77 | + /* Camera power down - active high */ 78 | + gpio_request(MX6Q_QMX6_CSI0_PWN, "cam-pwdn"); 79 | + gpio_direction_output(MX6Q_QMX6_CSI0_PWN, 1); 80 | + gpio_set_value(MX6Q_QMX6_CSI0_PWN, 1); 81 | + msleep(1); 82 | + gpio_set_value(MX6Q_QMX6_CSI0_PWN, 0); 83 | + 84 | + /* Camera reset - active low */ 85 | + gpio_request(MX6Q_QMX6_CSI0_RST, "cam-reset"); 86 | + gpio_direction_output(MX6Q_QMX6_CSI0_RST, 1); 87 | + gpio_set_value(MX6Q_QMX6_CSI0_RST, 0); 88 | + msleep(1); 89 | + gpio_set_value(MX6Q_QMX6_CSI0_RST, 1); 90 | + 91 | + /* for mx6dl, mipi virtual channel 0 connect to csi 0*/ 92 | + if (cpu_is_mx6dl()) 93 | + mxc_iomux_set_gpr_register(13, 0, 3, 0); 94 | +} 95 | + 96 | +static void mx6q_mipi_powerdown(int powerdown) 97 | +{ 98 | + if (powerdown) 99 | + { 100 | + gpio_set_value(MX6Q_QMX6_CSI0_RST, 0); 101 | + gpio_set_value(MX6Q_QMX6_CSI0_PWN, 1); 102 | + } 103 | + else 104 | + { 105 | + gpio_set_value(MX6Q_QMX6_CSI0_RST, 0); 106 | + gpio_set_value(MX6Q_QMX6_CSI0_PWN, 0); 107 | + msleep(1); /* t3 >= 1ms */ 108 | + gpio_set_value(MX6Q_QMX6_CSI0_RST, 1); 109 | + msleep(20); /* t4 >= 20ms */ 110 | + } 111 | +} 112 | + 113 | static struct imxi2c_platform_data mx6q_qmx6_i2c_data = { 114 | .bitrate = 100000, 115 | }; 116 | 117 | + 118 | +static struct fsl_mxc_camera_platform_data ov5640_mipi_data = { 119 | + .mclk =24000000, 120 | + .mclk_source = 0, 121 | + .csi = 0, 122 | + .io_init = mx6q_mipi_sensor_io_init, 123 | + .pwdn = mx6q_mipi_powerdown, 124 | +}; 125 | + 126 | static struct i2c_board_info mxc_i2c0_board_info[] __initdata = { 127 | { 128 | I2C_BOARD_INFO("sgtl5000", 0x0a), 129 | @@ -318,6 +373,10 @@ static struct i2c_board_info mxc_i2c1_board_info[] __initdata = { 130 | I2C_BOARD_INFO("mma8451", 0x1c), 131 | .platform_data = (void *)&mma8451_position, 132 | }, 133 | + { 134 | + I2C_BOARD_INFO("ov5640_mipi", 0x3c), 135 | + .platform_data = (void *)&ov5640_mipi_data, 136 | + }, 137 | }; 138 | 139 | static struct i2c_board_info mxc_i2c2_board_info[] __initdata = { 140 | @@ -539,11 +598,11 @@ static struct fsl_mxc_ldb_platform_data ldb_data = { 141 | static struct imx_ipuv3_platform_data ipu_data[] = { 142 | { 143 | .rev = 4, 144 | - .csi_clk[0] = "clko_clk", 145 | + .csi_clk[0] = "clko2_clk", 146 | .bypass_reset = false, 147 | }, { 148 | .rev = 4, 149 | - .csi_clk[0] = "clko_clk", 150 | + .csi_clk[0] = "clko2_clk", 151 | .bypass_reset = false, 152 | }, 153 | }; 154 | @@ -796,6 +855,22 @@ static int __init early_enable_lcd_ldb(char *p) 155 | } 156 | early_param("enable_lcd_ldb", early_enable_lcd_ldb); 157 | 158 | +static struct mipi_csi2_platform_data mipi_csi2_data = { 159 | + .ipu_id = 0, 160 | + .csi_id = 0, 161 | + .v_channel = 0, 162 | + .lanes = 2, 163 | + .dphy_clk = "mipi_pllref_clk", 164 | + .pixel_clk = "emi_clk", 165 | +}; 166 | + 167 | +static struct fsl_mxc_capture_platform_data capture_data = { 168 | + .csi = 0, 169 | + .ipu = 0, 170 | + .mclk_source = 0, 171 | + .is_mipi = 1 172 | +}; 173 | + 174 | /*! 175 | * Board specific initialization. 176 | */ 177 | @@ -876,6 +951,8 @@ static void __init mx6_qmx6_board_init(void) 178 | imx6q_add_vdoa(); 179 | imx6q_add_ldb(&ldb_data); 180 | imx6q_add_v4l2_output(0); 181 | + imx6q_add_v4l2_capture(0, &capture_data); 182 | + imx6q_add_mipi_csi2(&mipi_csi2_data); 183 | 184 | if (board_is_qmx6_revy()) 185 | { 186 | diff --git a/arch/arm/mach-mx6/board-mx6q_qmx6.h b/arch/arm/mach-mx6/board-mx6q_qmx6.h 187 | index f0affc4..f904aee 100644 188 | --- a/arch/arm/mach-mx6/board-mx6q_qmx6.h 189 | +++ b/arch/arm/mach-mx6/board-mx6q_qmx6.h 190 | @@ -225,4 +225,10 @@ static iomux_v3_cfg_t mx6q_qmx6_i2c2_pads[] = { 191 | MX6Q_PAD_KEY_COL3__I2C2_SCL, /* I2C2 SCL */ 192 | MX6Q_PAD_KEY_ROW3__I2C2_SDA, /* I2C2 SDA */ 193 | }; 194 | + 195 | +static iomux_v3_cfg_t mx6q_qmx6_mipi_sensor_pads[] = { 196 | + MX6Q_PAD_CSI0_MCLK__CCM_CLKO, /* camera CLK (soic output at 24MHz) */ 197 | + MX6Q_PAD_NANDF_RB0__GPIO_6_10, /* camera PWDN */ 198 | + MX6Q_PAD_GPIO_8__GPIO_1_8 /* camera RST */ 199 | +}; 200 | #endif 201 | -- 202 | 1.8.2.2 203 | 204 | -------------------------------------------------------------------------------- /board/conga_imx6/linux-3.0.35-patches/0009-CGT000009-QMX6-Fix-incorrect-sound-playback-speed.patch: -------------------------------------------------------------------------------- 1 | From 0de8685c713afde2ea612d912f5a48a8ac48bf9d Mon Sep 17 00:00:00 2001 2 | From: Alex de Cabo 3 | Date: Tue, 15 Oct 2013 09:25:44 +0200 4 | Subject: [PATCH 9/9] CGT000009 QMX6: Fix incorrect sound playback speed 5 | 6 | Fix incorrect playback speed of SGTL5000 sound card that was caused 7 | due to an incorrect specification of the audio clock. 8 | 9 | Signed-off-by: Michael Schanz 10 | --- 11 | arch/arm/mach-mx6/board-mx6q_qmx6.c | 11 +++++++++-- 12 | 1 file changed, 9 insertions(+), 2 deletions(-) 13 | 14 | diff --git a/arch/arm/mach-mx6/board-mx6q_qmx6.c b/arch/arm/mach-mx6/board-mx6q_qmx6.c 15 | index bdb110c..ef46496 100644 16 | --- a/arch/arm/mach-mx6/board-mx6q_qmx6.c 17 | +++ b/arch/arm/mach-mx6/board-mx6q_qmx6.c 18 | @@ -273,6 +273,13 @@ static struct mxc_audio_platform_data mx6_qmx6_audio_data = { 19 | }; 20 | static int mx6_qmx6_sgtl5000_init(void) 21 | { 22 | + mx6_qmx6_audio_data.sysclk = 24000000; 23 | + printk("SGLT5000: audio sysclk fix configured to: %d\n",mx6_qmx6_audio_data.sysclk); 24 | + return 0; 25 | +} 26 | + 27 | +static int mx6_qmx6_clko_init(void) 28 | +{ 29 | struct clk *clko; 30 | struct clk *new_parent; 31 | int rate; 32 | @@ -289,12 +296,11 @@ static int mx6_qmx6_sgtl5000_init(void) 33 | } 34 | rate = clk_round_rate(clko, 16000000); 35 | if (rate < 8000000 || rate > 27000000) { 36 | - pr_err("Error:SGTL5000 mclk freq %d out of range!\n", rate); 37 | + pr_err("Error: mclk freq %d out of range!\n", rate); 38 | clk_put(clko); 39 | return -1; 40 | } 41 | 42 | - mx6_qmx6_audio_data.sysclk = rate; 43 | clk_set_rate(clko, rate); 44 | clk_enable(clko); 45 | return 0; 46 | @@ -1011,6 +1017,7 @@ static void __init mx6_qmx6_board_init(void) 47 | imx6q_add_ahci(0, &mx6q_qmx6_sata_data); 48 | imx6q_add_vpu(); 49 | imx6q_init_audio(); 50 | + mx6_qmx6_clko_init(); 51 | platform_device_register(&qmx6_vmmc_reg_devices); 52 | imx_asrc_data.asrc_core_clk = clk_get(NULL, "asrc_clk"); 53 | imx_asrc_data.asrc_audio_clk = clk_get(NULL, "asrc_serial_clk"); 54 | -- 55 | 1.8.2.2 56 | 57 | -------------------------------------------------------------------------------- /board/gen_x86_64/crosstool-ng-1.18.0.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated make config: don't edit 3 | # crosstool-NG hg+default-edb17e96ca60 Configuration 4 | # Fri Feb 1 12:57:28 2013 5 | # 6 | CT_CONFIGURE_has_xz=y 7 | CT_CONFIGURE_has_svn=y 8 | CT_MODULES=y 9 | 10 | # 11 | # Paths and misc options 12 | # 13 | 14 | # 15 | # crosstool-NG behavior 16 | # 17 | # CT_OBSOLETE is not set 18 | CT_EXPERIMENTAL=y 19 | # CT_ALLOW_BUILD_AS_ROOT is not set 20 | # CT_DEBUG_CT is not set 21 | 22 | # 23 | # Paths 24 | # 25 | CT_LOCAL_TARBALLS_DIR="${CT_WORK_DIR}/src" 26 | CT_SAVE_TARBALLS=y 27 | CT_CUSTOM_LOCATION_ROOT_DIR="" 28 | CT_WORK_DIR="${CT_TOP_DIR}/.build" 29 | CT_PREFIX_DIR="${CT_WORK_DIR}/${CT_TARGET}" 30 | CT_INSTALL_DIR="${CT_PREFIX_DIR}" 31 | CT_RM_RF_PREFIX_DIR=y 32 | CT_REMOVE_DOCS=y 33 | CT_INSTALL_DIR_RO=y 34 | CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y 35 | 36 | # 37 | # Downloading 38 | # 39 | # CT_FORBID_DOWNLOAD is not set 40 | # CT_FORCE_DOWNLOAD is not set 41 | CT_CONNECT_TIMEOUT=10 42 | # CT_ONLY_DOWNLOAD is not set 43 | # CT_USE_MIRROR is not set 44 | 45 | # 46 | # Extracting 47 | # 48 | # CT_FORCE_EXTRACT is not set 49 | CT_OVERIDE_CONFIG_GUESS_SUB=y 50 | # CT_ONLY_EXTRACT is not set 51 | CT_PATCH_BUNDLED=y 52 | # CT_PATCH_LOCAL is not set 53 | # CT_PATCH_BUNDLED_LOCAL is not set 54 | # CT_PATCH_LOCAL_BUNDLED is not set 55 | # CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set 56 | # CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set 57 | # CT_PATCH_NONE is not set 58 | CT_PATCH_ORDER="bundled" 59 | 60 | # 61 | # Build behavior 62 | # 63 | CT_PARALLEL_JOBS=0 64 | CT_LOAD="" 65 | CT_USE_PIPES=y 66 | CT_EXTRA_CFLAGS_FOR_BUILD="" 67 | CT_EXTRA_LDFLAGS_FOR_BUILD="" 68 | CT_EXTRA_CFLAGS_FOR_HOST="" 69 | CT_EXTRA_LDFLAGS_FOR_HOST="" 70 | # CT_CONFIG_SHELL_SH is not set 71 | # CT_CONFIG_SHELL_ASH is not set 72 | CT_CONFIG_SHELL_BASH=y 73 | # CT_CONFIG_SHELL_CUSTOM is not set 74 | CT_CONFIG_SHELL="${bash}" 75 | 76 | # 77 | # Logging 78 | # 79 | # CT_LOG_ERROR is not set 80 | # CT_LOG_WARN is not set 81 | # CT_LOG_INFO is not set 82 | CT_LOG_EXTRA=y 83 | # CT_LOG_ALL is not set 84 | # CT_LOG_DEBUG is not set 85 | CT_LOG_LEVEL_MAX="EXTRA" 86 | # CT_LOG_SEE_TOOLS_WARN is not set 87 | CT_LOG_PROGRESS_BAR=y 88 | CT_LOG_TO_FILE=y 89 | CT_LOG_FILE_COMPRESS=y 90 | 91 | # 92 | # Target options 93 | # 94 | CT_ARCH="x86" 95 | CT_ARCH_SUPPORTS_32=y 96 | CT_ARCH_SUPPORTS_64=y 97 | CT_ARCH_SUPPORTS_WITH_ARCH=y 98 | CT_ARCH_SUPPORTS_WITH_CPU=y 99 | CT_ARCH_SUPPORTS_WITH_TUNE=y 100 | CT_ARCH_DEFAULT_32=y 101 | CT_ARCH_ARCH="i686" 102 | CT_ARCH_CPU="" 103 | CT_ARCH_TUNE="" 104 | CT_ARCH_32=y 105 | # CT_ARCH_64 is not set 106 | CT_ARCH_BITNESS=32 107 | CT_TARGET_CFLAGS="" 108 | CT_TARGET_LDFLAGS="" 109 | # CT_ARCH_alpha is not set 110 | # CT_ARCH_arm is not set 111 | # CT_ARCH_avr32 is not set 112 | # CT_ARCH_blackfin is not set 113 | # CT_ARCH_m68k is not set 114 | # CT_ARCH_microblaze is not set 115 | # CT_ARCH_mips is not set 116 | # CT_ARCH_powerpc is not set 117 | # CT_ARCH_s390 is not set 118 | # CT_ARCH_sh is not set 119 | # CT_ARCH_sparc is not set 120 | CT_ARCH_x86=y 121 | CT_ARCH_alpha_AVAILABLE=y 122 | CT_ARCH_arm_AVAILABLE=y 123 | CT_ARCH_avr32_AVAILABLE=y 124 | CT_ARCH_blackfin_AVAILABLE=y 125 | CT_ARCH_m68k_AVAILABLE=y 126 | CT_ARCH_microblaze_AVAILABLE=y 127 | CT_ARCH_mips_AVAILABLE=y 128 | CT_ARCH_powerpc_AVAILABLE=y 129 | CT_ARCH_s390_AVAILABLE=y 130 | CT_ARCH_sh_AVAILABLE=y 131 | CT_ARCH_sparc_AVAILABLE=y 132 | CT_ARCH_x86_AVAILABLE=y 133 | CT_ARCH_SUFFIX="" 134 | 135 | # 136 | # Generic target options 137 | # 138 | # CT_MULTILIB is not set 139 | CT_ARCH_USE_MMU=y 140 | 141 | # 142 | # Target optimisations 143 | # 144 | CT_ARCH_FLOAT="" 145 | 146 | # 147 | # Toolchain options 148 | # 149 | 150 | # 151 | # General toolchain options 152 | # 153 | CT_FORCE_SYSROOT=y 154 | CT_USE_SYSROOT=y 155 | CT_SYSROOT_NAME="sysroot" 156 | CT_SYSROOT_DIR_PREFIX="" 157 | CT_WANTS_STATIC_LINK=y 158 | # CT_STATIC_TOOLCHAIN is not set 159 | CT_TOOLCHAIN_PKGVERSION="" 160 | CT_TOOLCHAIN_BUGURL="" 161 | 162 | # 163 | # Tuple completion and aliasing 164 | # 165 | CT_TARGET_VENDOR="nptl" 166 | CT_TARGET_ALIAS_SED_EXPR="" 167 | CT_TARGET_ALIAS="" 168 | 169 | # 170 | # Toolchain type 171 | # 172 | # CT_NATIVE is not set 173 | CT_CROSS=y 174 | # CT_CROSS_NATIVE is not set 175 | # CT_CANADIAN is not set 176 | CT_TOOLCHAIN_TYPE="cross" 177 | 178 | # 179 | # Build system 180 | # 181 | CT_BUILD="" 182 | CT_BUILD_PREFIX="" 183 | CT_BUILD_SUFFIX="" 184 | 185 | # 186 | # Misc options 187 | # 188 | # CT_TOOLCHAIN_ENABLE_NLS is not set 189 | 190 | # 191 | # Operating System 192 | # 193 | CT_KERNEL_SUPPORTS_SHARED_LIBS=y 194 | CT_KERNEL="linux" 195 | CT_KERNEL_VERSION="3.6.11" 196 | # CT_KERNEL_bare_metal is not set 197 | CT_KERNEL_linux=y 198 | # CT_KERNEL_windows is not set 199 | CT_KERNEL_bare_metal_AVAILABLE=y 200 | CT_KERNEL_linux_AVAILABLE=y 201 | # CT_KERNEL_V_3_7_3 is not set 202 | # CT_KERNEL_V_3_7_2 is not set 203 | # CT_KERNEL_V_3_7_1 is not set 204 | # CT_KERNEL_V_3_7 is not set 205 | CT_KERNEL_V_3_6_11=y 206 | # CT_KERNEL_V_3_5_7 is not set 207 | # CT_KERNEL_V_3_4_26 is not set 208 | # CT_KERNEL_V_3_3_8 is not set 209 | # CT_KERNEL_V_3_2_37 is not set 210 | # CT_KERNEL_V_3_1_10 is not set 211 | # CT_KERNEL_V_3_0_59 is not set 212 | # CT_KERNEL_V_2_6_39_4 is not set 213 | # CT_KERNEL_V_2_6_38_8 is not set 214 | # CT_KERNEL_V_2_6_37_6 is not set 215 | # CT_KERNEL_V_2_6_36_4 is not set 216 | # CT_KERNEL_V_2_6_33_20 is not set 217 | # CT_KERNEL_V_2_6_32_60 is not set 218 | # CT_KERNEL_V_2_6_31_14 is not set 219 | # CT_KERNEL_V_2_6_27_62 is not set 220 | # CT_KERNEL_LINUX_CUSTOM is not set 221 | CT_KERNEL_windows_AVAILABLE=y 222 | 223 | # 224 | # Common kernel options 225 | # 226 | CT_SHARED_LIBS=y 227 | 228 | # 229 | # linux other options 230 | # 231 | CT_KERNEL_LINUX_VERBOSITY_0=y 232 | # CT_KERNEL_LINUX_VERBOSITY_1 is not set 233 | # CT_KERNEL_LINUX_VERBOSITY_2 is not set 234 | CT_KERNEL_LINUX_VERBOSE_LEVEL=0 235 | CT_KERNEL_LINUX_INSTALL_CHECK=y 236 | 237 | # 238 | # Binary utilities 239 | # 240 | CT_ARCH_BINFMT_ELF=y 241 | CT_BINUTILS="binutils" 242 | CT_BINUTILS_binutils=y 243 | 244 | # 245 | # GNU binutils 246 | # 247 | # CT_BINUTILS_V_2_23_1 is not set 248 | CT_BINUTILS_V_2_22=y 249 | # CT_BINUTILS_V_2_21_53 is not set 250 | # CT_BINUTILS_V_2_21_1a is not set 251 | # CT_BINUTILS_V_2_20_1a is not set 252 | # CT_BINUTILS_V_2_19_1a is not set 253 | # CT_BINUTILS_V_2_18a is not set 254 | # CT_BINUTILS_CUSTOM is not set 255 | CT_BINUTILS_VERSION="2.22" 256 | CT_BINUTILS_2_22_or_later=y 257 | CT_BINUTILS_2_21_or_later=y 258 | CT_BINUTILS_2_20_or_later=y 259 | CT_BINUTILS_2_19_or_later=y 260 | CT_BINUTILS_2_18_or_later=y 261 | CT_BINUTILS_HAS_HASH_STYLE=y 262 | CT_BINUTILS_HAS_GOLD=y 263 | CT_BINUTILS_GOLD_SUPPORTS_ARCH=y 264 | CT_BINUTILS_HAS_PLUGINS=y 265 | CT_BINUTILS_HAS_PKGVERSION_BUGURL=y 266 | CT_BINUTILS_FORCE_LD_BFD=y 267 | # CT_BINUTILS_LINKER_LD is not set 268 | CT_BINUTILS_LINKER_LD_GOLD=y 269 | # CT_BINUTILS_LINKER_GOLD_LD is not set 270 | CT_BINUTILS_GOLD_INSTALLED=y 271 | CT_BINUTILS_GOLD_THREADS=y 272 | CT_BINUTILS_LINKER_BOTH=y 273 | CT_BINUTILS_LINKERS_LIST="ld,gold" 274 | CT_BINUTILS_LD_WRAPPER=y 275 | CT_BINUTILS_LINKER_DEFAULT="bfd" 276 | CT_BINUTILS_PLUGINS=y 277 | CT_BINUTILS_EXTRA_CONFIG_ARRAY="" 278 | CT_BINUTILS_FOR_TARGET=y 279 | CT_BINUTILS_FOR_TARGET_IBERTY=y 280 | CT_BINUTILS_FOR_TARGET_BFD=y 281 | 282 | # 283 | # binutils other options 284 | # 285 | 286 | # 287 | # C compiler 288 | # 289 | CT_CC="gcc" 290 | CT_CC_VERSION="4.6.0" 291 | CT_CC_CORE_PASSES_NEEDED=y 292 | CT_CC_gcc=y 293 | # CT_CC_GCC_SHOW_LINARO is not set 294 | # CT_CC_V_4_7_2 is not set 295 | # CT_CC_V_4_7_1 is not set 296 | # CT_CC_V_4_7_0 is not set 297 | # CT_CC_V_4_6_3 is not set 298 | # CT_CC_V_4_6_2 is not set 299 | # CT_CC_V_4_6_1 is not set 300 | CT_CC_V_4_6_0=y 301 | # CT_CC_V_4_5_3 is not set 302 | # CT_CC_V_4_5_2 is not set 303 | # CT_CC_V_4_5_1 is not set 304 | # CT_CC_V_4_5_0 is not set 305 | # CT_CC_V_4_4_7 is not set 306 | # CT_CC_V_4_4_6 is not set 307 | # CT_CC_V_4_4_5 is not set 308 | # CT_CC_V_4_4_4 is not set 309 | # CT_CC_V_4_4_3 is not set 310 | # CT_CC_V_4_4_2 is not set 311 | # CT_CC_V_4_4_1 is not set 312 | # CT_CC_V_4_4_0 is not set 313 | # CT_CC_V_4_3_6 is not set 314 | # CT_CC_V_4_3_5 is not set 315 | # CT_CC_V_4_3_4 is not set 316 | # CT_CC_V_4_3_3 is not set 317 | # CT_CC_V_4_3_2 is not set 318 | # CT_CC_V_4_3_1 is not set 319 | # CT_CC_V_4_2_4 is not set 320 | # CT_CC_V_4_2_2 is not set 321 | # CT_CC_CUSTOM is not set 322 | CT_CC_GCC_4_2_or_later=y 323 | CT_CC_GCC_4_3_or_later=y 324 | CT_CC_GCC_4_4_or_later=y 325 | CT_CC_GCC_4_5_or_later=y 326 | CT_CC_GCC_4_6=y 327 | CT_CC_GCC_4_6_or_later=y 328 | CT_CC_GCC_HAS_GRAPHITE=y 329 | CT_CC_GCC_HAS_LTO=y 330 | CT_CC_GCC_HAS_PKGVERSION_BUGURL=y 331 | CT_CC_GCC_HAS_BUILD_ID=y 332 | CT_CC_GCC_ENABLE_PLUGINS=y 333 | CT_CC_GCC_GOLD=y 334 | CT_CC_GCC_USE_GMP_MPFR=y 335 | CT_CC_GCC_USE_PPL_CLOOG=y 336 | CT_CC_GCC_USE_MPC=y 337 | CT_CC_GCC_HAS_LIBQUADMATH=y 338 | CT_CC_LANG_FORTRAN=y 339 | CT_CC_SUPPORT_CXX=y 340 | CT_CC_SUPPORT_FORTRAN=y 341 | CT_CC_SUPPORT_JAVA=y 342 | CT_CC_SUPPORT_ADA=y 343 | CT_CC_SUPPORT_OBJC=y 344 | CT_CC_SUPPORT_OBJCXX=y 345 | 346 | # 347 | # Additional supported languages: 348 | # 349 | CT_CC_LANG_CXX=y 350 | # CT_CC_LANG_JAVA is not set 351 | # CT_CC_LANG_ADA is not set 352 | # CT_CC_LANG_OBJC is not set 353 | # CT_CC_LANG_OBJCXX is not set 354 | CT_CC_LANG_OTHERS="" 355 | 356 | # 357 | # gcc other options 358 | # 359 | CT_CC_ENABLE_CXX_FLAGS="" 360 | CT_CC_CORE_EXTRA_CONFIG_ARRAY="" 361 | CT_CC_EXTRA_CONFIG_ARRAY="" 362 | CT_CC_STATIC_LIBSTDCXX=y 363 | # CT_CC_GCC_SYSTEM_ZLIB is not set 364 | 365 | # 366 | # Optimisation features 367 | # 368 | CT_CC_GCC_USE_GRAPHITE=y 369 | CT_CC_GCC_USE_LTO=y 370 | 371 | # 372 | # Settings for libraries running on target 373 | # 374 | CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y 375 | # CT_CC_GCC_LIBMUDFLAP is not set 376 | # CT_CC_GCC_LIBGOMP is not set 377 | # CT_CC_GCC_LIBSSP is not set 378 | # CT_CC_GCC_LIBQUADMATH is not set 379 | 380 | # 381 | # Misc. obscure options. 382 | # 383 | CT_CC_CXA_ATEXIT=y 384 | # CT_CC_GCC_DISABLE_PCH is not set 385 | CT_CC_GCC_SJLJ_EXCEPTIONS=m 386 | CT_CC_GCC_LDBL_128=m 387 | # CT_CC_GCC_BUILD_ID is not set 388 | 389 | # 390 | # C-library 391 | # 392 | CT_LIBC="glibc" 393 | CT_LIBC_VERSION="2.12.2" 394 | # CT_LIBC_eglibc is not set 395 | CT_LIBC_glibc=y 396 | # CT_LIBC_uClibc is not set 397 | CT_LIBC_eglibc_AVAILABLE=y 398 | CT_LIBC_glibc_AVAILABLE=y 399 | # CT_LIBC_GLIBC_V_2_17 is not set 400 | # CT_LIBC_GLIBC_V_2_16_0 is not set 401 | # CT_LIBC_GLIBC_V_2_15 is not set 402 | # CT_LIBC_GLIBC_V_2_14_1 is not set 403 | # CT_LIBC_GLIBC_V_2_14 is not set 404 | # CT_LIBC_GLIBC_V_2_13 is not set 405 | CT_LIBC_GLIBC_V_2_12_2=y 406 | # CT_LIBC_GLIBC_V_2_12_1 is not set 407 | # CT_LIBC_GLIBC_V_2_11_1 is not set 408 | # CT_LIBC_GLIBC_V_2_11 is not set 409 | # CT_LIBC_GLIBC_V_2_10_1 is not set 410 | # CT_LIBC_GLIBC_V_2_9 is not set 411 | # CT_LIBC_GLIBC_V_2_8 is not set 412 | CT_LIBC_mingw_AVAILABLE=y 413 | CT_LIBC_newlib_AVAILABLE=y 414 | CT_LIBC_none_AVAILABLE=y 415 | CT_LIBC_uClibc_AVAILABLE=y 416 | CT_LIBC_SUPPORT_THREADS_ANY=y 417 | CT_LIBC_SUPPORT_NPTL=y 418 | CT_THREADS="nptl" 419 | 420 | # 421 | # Common C library options 422 | # 423 | CT_THREADS_NPTL=y 424 | CT_LIBC_XLDD=y 425 | CT_LIBC_glibc_familly=y 426 | CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" 427 | CT_LIBC_GLIBC_CONFIGPARMS="" 428 | CT_LIBC_GLIBC_EXTRA_CFLAGS="" 429 | CT_LIBC_EXTRA_CC_ARGS="" 430 | # CT_LIBC_ENABLE_FORTIFIED_BUILD is not set 431 | # CT_LIBC_DISABLE_VERSIONING is not set 432 | CT_LIBC_OLDEST_ABI="" 433 | CT_LIBC_GLIBC_FORCE_UNWIND=y 434 | # CT_LIBC_GLIBC_USE_PORTS is not set 435 | CT_LIBC_ADDONS_LIST="" 436 | # CT_LIBC_LOCALES is not set 437 | # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set 438 | CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y 439 | # CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set 440 | CT_LIBC_GLIBC_MIN_KERNEL="3.6.11" 441 | 442 | # 443 | # glibc other options 444 | # 445 | 446 | # 447 | # Debug facilities 448 | # 449 | CT_DEBUG_dmalloc=y 450 | CT_DMALLOC_V_5_5_2=y 451 | CT_DMALLOC_VERSION="5.5.2" 452 | CT_DEBUG_duma=y 453 | CT_DUMA_A=y 454 | CT_DUMA_SO=y 455 | CT_DUMA_V_2_5_15=y 456 | CT_DUMA_VERSION="2_5_15" 457 | CT_DEBUG_gdb=y 458 | CT_GDB_CROSS=y 459 | # CT_GDB_CROSS_STATIC is not set 460 | # CT_GDB_CROSS_SIM is not set 461 | CT_GDB_CROSS_PYTHON=y 462 | CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" 463 | CT_GDB_NATIVE=y 464 | # CT_GDB_NATIVE_STATIC is not set 465 | CT_GDB_GDBSERVER=y 466 | CT_GDB_GDBSERVER_STATIC=y 467 | 468 | # 469 | # gdb version 470 | # 471 | # CT_DEBUG_GDB_SHOW_LINARO is not set 472 | # CT_GDB_V_7_4_1 is not set 473 | # CT_GDB_V_7_4 is not set 474 | # CT_GDB_V_7_3_1 is not set 475 | # CT_GDB_V_7_3a is not set 476 | # CT_GDB_V_7_2a is not set 477 | # CT_GDB_V_7_1a is not set 478 | # CT_GDB_V_7_0_1a is not set 479 | # CT_GDB_V_7_0a is not set 480 | CT_GDB_V_6_8a=y 481 | # CT_GDB_CUSTOM is not set 482 | CT_GDB_VERSION="6.8a" 483 | CT_DEBUG_ltrace=y 484 | CT_LTRACE_V_0_5_3=y 485 | # CT_LTRACE_V_0_5_2 is not set 486 | CT_LTRACE_VERSION="0.5.3" 487 | CT_LTRACE_0_5_3_or_later=y 488 | CT_DEBUG_strace=y 489 | # CT_STRACE_V_4_6 is not set 490 | # CT_STRACE_V_4_5_20 is not set 491 | CT_STRACE_V_4_5_19=y 492 | # CT_STRACE_V_4_5_18 is not set 493 | CT_STRACE_VERSION="4.5.19" 494 | 495 | # 496 | # Companion libraries 497 | # 498 | CT_COMPLIBS_NEEDED=y 499 | CT_GMP_NEEDED=y 500 | CT_MPFR_NEEDED=y 501 | CT_PPL_NEEDED=y 502 | CT_CLOOG_NEEDED=y 503 | CT_MPC_NEEDED=y 504 | CT_COMPLIBS=y 505 | CT_GMP=y 506 | CT_MPFR=y 507 | CT_PPL=y 508 | CT_CLOOG=y 509 | CT_MPC=y 510 | CT_LIBELF_TARGET=y 511 | # CT_GMP_V_5_0_2 is not set 512 | # CT_GMP_V_5_0_1 is not set 513 | CT_GMP_V_4_3_2=y 514 | # CT_GMP_V_4_3_1 is not set 515 | # CT_GMP_V_4_3_0 is not set 516 | CT_GMP_VERSION="4.3.2" 517 | # CT_MPFR_V_3_1_0 is not set 518 | # CT_MPFR_V_3_0_1 is not set 519 | # CT_MPFR_V_3_0_0 is not set 520 | CT_MPFR_V_2_4_2=y 521 | # CT_MPFR_V_2_4_1 is not set 522 | # CT_MPFR_V_2_4_0 is not set 523 | CT_MPFR_VERSION="2.4.2" 524 | # CT_PPL_V_0_11_2 is not set 525 | # CT_PPL_V_0_11_1 is not set 526 | CT_PPL_V_0_11=y 527 | # CT_PPL_V_0_10_2 is not set 528 | CT_PPL_VERSION="0.11" 529 | CT_PPL_0_11=y 530 | CT_PPL_NEEDS_LIBPWL=y 531 | CT_CLOOG_V_0_15_11=y 532 | # CT_CLOOG_V_0_15_10 is not set 533 | # CT_CLOOG_V_0_15_9 is not set 534 | # CT_CLOOG_V_0_15_8 is not set 535 | # CT_CLOOG_V_0_15_7 is not set 536 | # CT_CLOOG_V_0_15_6 is not set 537 | CT_CLOOG_VERSION="0.15.11" 538 | CT_CLOOG_0_15_1x=y 539 | CT_CLOOG_NEEDS_AUTORECONF=y 540 | # CT_MPC_V_0_9 is not set 541 | CT_MPC_V_0_8_2=y 542 | # CT_MPC_V_0_8_1 is not set 543 | # CT_MPC_V_0_7 is not set 544 | CT_MPC_VERSION="0.8.2" 545 | 546 | # 547 | # libelf version needed to build for target 548 | # 549 | CT_LIBELF_V_0_8_13=y 550 | # CT_LIBELF_V_0_8_12 is not set 551 | CT_LIBELF_VERSION="0.8.13" 552 | 553 | # 554 | # Companion libraries common options 555 | # 556 | # CT_COMPLIBS_CHECK is not set 557 | 558 | # 559 | # Companion tools 560 | # 561 | 562 | # 563 | # READ HELP before you say 'Y' below !!! 564 | # 565 | # CT_COMP_TOOLS is not set 566 | 567 | # 568 | # Test suite 569 | # 570 | CT_TEST_SUITE=y 571 | CT_TEST_SUITE_GCC=y 572 | -------------------------------------------------------------------------------- /board/gen_x86_64/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | export LFS_DISK_EMPTY_SIZE=2 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=256 5 | export LFS_DISK_APP_SIZE=256 6 | 7 | # filesystems 8 | export LFS_DISK_ROOT_FS=ext3 9 | export LFS_SQUASH_ROOTFS=yes 10 | export LFS_DISK_APP_FS=ext3 11 | 12 | # archi 13 | export LFS_TARGET_ARCH=x86_64 14 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_x86_64 15 | 16 | # softwares 17 | export LFS_LINUX_VERS=3.6.11 18 | export LFS_LINUX_ARCH=x86_64 19 | export LFS_PCIUTILS_VERS=3.1.10 20 | export LFS_GRUB_VERS=2.00 21 | export LFS_NTPD_VERS=1.0 22 | 23 | . $LFS_TOP_DIR/board/common/do_conf.sh 24 | -------------------------------------------------------------------------------- /board/rpi3/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | # export LFS_DISK_EMPTY_SIZE=2 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=512 5 | export LFS_DISK_APP_SIZE=32 6 | 7 | # filesystems 8 | export LFS_DISK_BOOT_FS=vfat 9 | export LFS_DISK_ROOT_FS=ext3 10 | # export LFS_SQUASH_ROOTFS=yes 11 | export LFS_DISK_APP_FS=ext3 12 | 13 | # archi 14 | export LFS_TARGET_ARCH=arm 15 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_armv7 16 | 17 | # softwares 18 | export LFS_LINUX_VERS=4.9.46 19 | export LFS_LINUX_ARCH=arm 20 | export LFS_PCIUTILS_VERS=3.1.10 21 | export LFS_NTPD_VERS=1.0 22 | 23 | . $LFS_TOP_DIR/board/common/do_conf.sh 24 | -------------------------------------------------------------------------------- /board/rpib/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partition sizes 2 | export LFS_DISK_EMPTY_SIZE=0 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=256 5 | export LFS_DISK_APP_SIZE=256 6 | 7 | # filesystems 8 | export LFS_DISK_ROOT_FS=ext2 9 | export LFS_DISK_APP_FS=ext2 10 | 11 | # archi 12 | export LFS_TARGET_ARCH=arm 13 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_armv6 14 | 15 | # softwares 16 | export LFS_LINUX_VERS=3.6.11 17 | export LFS_LINUX_ARCH=arm 18 | 19 | . $LFS_TOP_DIR/board/common/do_conf.sh 20 | -------------------------------------------------------------------------------- /board/seco_imx6/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | export LFS_DISK_EMPTY_SIZE=2 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=512 5 | export LFS_DISK_APP_SIZE=512 6 | 7 | # filesystems 8 | export LFS_DISK_BOOT_FS=vfat 9 | export LFS_DISK_ROOT_FS=ext3 10 | export LFS_SQUASH_ROOTFS=yes 11 | export LFS_DISK_APP_FS=ext3 12 | 13 | # archi 14 | export LFS_TARGET_ARCH=arm 15 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_armv7 16 | 17 | # softwares 18 | export LFS_LINUX_VERS=3.0.35 19 | export LFS_LINUX_ARCH=arm 20 | export LFS_PCIUTILS_VERS=3.1.10 21 | export LFS_NTPD_VERS=1.0 22 | 23 | . $LFS_TOP_DIR/board/common/do_conf.sh 24 | -------------------------------------------------------------------------------- /board/seco_imx6/notes: -------------------------------------------------------------------------------- 1 | -- installing the system on internal MMC, WITHOUT OTG 2 | 3 | The kit used is SECO CROSS PLATFORM DEVELOPMENT KIT V1.5, no longer produced 4 | 5 | First, create a system using LFS: 6 | LFS_THIS_BOARD_NAME=seco_imx6 LFS_THIS_ENV_NAME=comex004 7 | 8 | Flash it to a microSD: 9 | sudo dd if=~/segfs/repo/lfs/_work_seco_imx6_comex004/disk of=/dev/sdd 10 | 11 | Install the microSD on the seco evaluation kit SDIO connector (CN14). 12 | Check the JUMPER11 IS NOT connected (means OTG disabled, other wont boot) 13 | Check the JUMPER5 must be positionned in 2:3 position (as on SILK MASK) 14 | Check there is no microSD present in the Q7 microSD connector. 15 | 16 | Connect to the system using a serial console, and reboot the system. 17 | 18 | Stop at bootloader and set the boot settings: 19 | MX6SOLO SECO_Q7 U-Boot > setenv root root=/dev/mmcblk1p3 20 | MX6SOLO SECO_Q7 U-Boot > setenv bootdev "mmc dev 2; fatload mmc 2:2" 21 | MX6SOLO SECO_Q7 U-Boot > saveenv 22 | MX6SOLO SECO_Q7 U-Boot > boot 23 | 24 | Then boot. 25 | 26 | From Linux, flash the internal MMC: 27 | sudo dd if=~/segfs/repo/lfs/_work_seco_imx6_comex004/disk of=/dev/mmcblk0 28 | 29 | To boot on the internal MMC, note that the external SDIO must be removed. 30 | 31 | 32 | -- installing the system on internal MMC, WITH OTG 33 | 34 | create an USB key / SD containing the final system image 35 | 36 | install secotools from http://www.seco.com/prods/eu/standard/qseven/uq7-i-mx6.html 37 | as root, run /sbin/secoOTGloader 38 | run select the right configuration (ie. single core or duallite, memory) 39 | 40 | check JUMPER11 is connected (means OTG enabled) 41 | reboot the kit, should give a Linux access 42 | flash /dev/mmcblk0 with new system 43 | 44 | 45 | -- device information 46 | 47 | from the linux standpoint: 48 | /dev/mmcblk0 is the internal emmc 49 | /dev/mmcblk1 is the micro sd 50 | /dev/mmcblk2 is the external sdio 51 | 52 | 53 | -- environment when booting on the external SDIO connector 54 | 55 | MX6SOLO SECO_Q7 U-Boot > printenv 56 | baudrate=115200 57 | bootcmd=run setvideomode; run setbootargs; run setbootdev; run boot_dev; bootm 0x10800000 58 | bootdelay=2 59 | bootdev=mmc dev 2; fatload mmc 2:2 60 | cpu_freq=arm_freq=996 61 | ethact=FEC 62 | ethaddr=00:c0:08:86:20:29 63 | ethprime=FEC0 64 | kernel=uImage 65 | loadaddr=0x12000000 66 | lvdsres1=LDB-WVGA,if=RGB666 67 | memory=mem=512M 68 | netdev=eth0 69 | option=rootwait rw fixrtc rootflags=barrier=1 70 | root=root=/dev/mmcblk1p3 71 | setbootargs=setenv bootargs console=ttymxc1,115200 ${root} ${option} ${memory} ${cpu_freq} ${videomode} 72 | setbootdev=setenv boot_dev ${bootdev} 10800000 /uImage 73 | setvideomode=setenv videomode video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 setenv video1 video=mxcfb1:dev=ldb,${lvdsres1} 74 | splashpos=325,300 75 | stderr=serial 76 | stdin=serial 77 | stdout=serial 78 | uboot=u-boot.bin 79 | 80 | 81 | -- environment when booting on the internal emmc 82 | 83 | MX6SOLO SECO_Q7 U-Boot > printenv 84 | baudrate=115200 85 | bootcmd=run setvideomode; run setbootargs; run setbootdev; run boot_dev; bootm 0x10800000 86 | bootdelay=2 87 | bootdev=mmc dev 0; fatload mmc 0:2 88 | cpu_freq=arm_freq=996 89 | ethact=FEC 90 | ethaddr=00:c0:08:86:20:29 91 | ethprime=FEC0 92 | kernel=uImage 93 | loadaddr=0x12000000 94 | lvdsres1=LDB-WVGA,if=RGB666 95 | memory=mem=512M 96 | netdev=eth0 97 | option=rootwait rw fixrtc rootflags=barrier=1 98 | root=root=/dev/mmcblk0p3 99 | setbootargs=setenv bootargs console=ttymxc1,115200 ${root} ${option} ${memory} ${cpu_freq} ${videomode} 100 | setbootdev=setenv boot_dev ${bootdev} 10800000 /uImage 101 | setvideomode=setenv videomode video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 setenv video1 video=mxcfb1:dev=ldb,${lvdsres1} 102 | splashpos=325,300 103 | stderr=serial 104 | stdin=serial 105 | stdout=serial 106 | uboot=u-boot.bin 107 | 108 | 109 | -- seco_imx6 consumption eval 110 | 111 | reference: http://www.seco.com/prods/standard/qseven/quadmo747-x-i-mx6.html 112 | software: ok. system installed on microsd. 113 | pcie: ok 114 | boot time: 15s 115 | idle cpu temperature: 49C 116 | idle power consumption: 5.11v, 480mA = 2.45W 117 | busy cpu temperature: 57C 118 | busy power consumption: 5.11v, 592mA = 3.02W 119 | comments: issues with DMA seem to be solved, more long term tests required 120 | -------------------------------------------------------------------------------- /board/seco_imx6/uboot.config: -------------------------------------------------------------------------------- 1 | MEMORY_SIZE 0 2 | BOARD_TYPE QSEVEN 3 | CPU_TYPE SOLO 4 | ENV_DEVICE MMC 5 | CLEAN_OP CLEAN 6 | EXTRA_UART 7 | RTC_LOW_POWER 8 | RTC_EXT 9 | COMPILER LFS_CROSS_COMPILE 10 | UBOOT_VER 2013 11 | -------------------------------------------------------------------------------- /board/seco_imx6/uboot.env: -------------------------------------------------------------------------------- 1 | baudrate=115200 2 | bootcmd=run setvideomode; run setbootargs; run setbootdev; run boot_dev; bootm 0x10800000 3 | bootdelay=2 4 | bootdev=mmc dev 0; fatload mmc 0:2 5 | cpu_freq=arm_freq=996 6 | ethact=FEC 7 | ethaddr=00:c0:08:86:20:29 8 | ethprime=FEC0 9 | kernel=uImage 10 | loadaddr=0x12000000 11 | lvdsres1=LDB-WVGA,if=RGB666 12 | memory=mem=512M 13 | netdev=eth0 14 | option=rootwait rw fixrtc rootflags=barrier=1 15 | root=root=/dev/mmcblk0p3 16 | setbootargs=setenv bootargs console=ttymxc4,115200 ${root} ${option} ${memory} ${cpu_freq} ${videomode} 17 | setbootdev=setenv boot_dev ${bootdev} 10800000 /uImage 18 | setvideomode=setenv videomode video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 setenv video1 video=mxcfb1:dev=ldb,${lvdsres1} 19 | splashpos=325,300 20 | stderr=serial 21 | stdin=serial 22 | stdout=serial 23 | uboot=u-boot.bin 24 | -------------------------------------------------------------------------------- /board/seco_uimx6/do_conf.sh: -------------------------------------------------------------------------------- 1 | . $LFS_TOP_DIR/board/seco_imx6/do_conf.sh 2 | . $LFS_TOP_DIR/board/common/do_conf.sh 3 | -------------------------------------------------------------------------------- /board/seco_uimx6/notes: -------------------------------------------------------------------------------- 1 | same as seco_imx6/notes, with the following exceptions: 2 | 3 | . LFS_THIS_BOARD_NAME=seco_uimx6 4 | 5 | . UBOOT configuration is: 6 | Stop at bootloader and set the boot settings: 7 | MX6SOLO SECO_Q7 U-Boot > setenv root root=/dev/mmcblk1p3 8 | MX6SOLO SECO_Q7 U-Boot > setenv bootdev "mmc dev 1; fatload mmc 1:2" 9 | MX6SOLO SECO_Q7 U-Boot > setenv setbootdev "setenv boot_dev ${bootdev} 10800000 /uImage" 10 | MX6SOLO SECO_Q7 U-Boot > saveenv 11 | MX6SOLO SECO_Q7 U-Boot > boot 12 | -------------------------------------------------------------------------------- /board/seco_uimx6/uboot.config: -------------------------------------------------------------------------------- 1 | MEMORY_SIZE 0 2 | BOARD_TYPE UQSEVEN 3 | CPU_TYPE SOLO 4 | ENV_DEVICE MMC 5 | CLEAN_OP CLEAN 6 | EXTRA_UART 7 | RTC_LOW_POWER 8 | RTC_EXT 9 | COMPILER LFS_CROSS_COMPILE 10 | UBOOT_VER 2013 11 | -------------------------------------------------------------------------------- /board/seco_uimx6/uboot.env: -------------------------------------------------------------------------------- 1 | baudrate=115200 2 | bootcmd=run setvideomode; run setbootargs; run setbootdev; run boot_dev; bootm 0x10800000 3 | bootdelay=2 4 | bootdev=mmc dev 0; fatload mmc 0:2 5 | cpu_freq=arm_freq=996 6 | ethact=FEC 7 | ethaddr=00:c0:08:86:20:29 8 | ethprime=FEC0 9 | kernel=uImage 10 | loadaddr=0x12000000 11 | lvdsres1=LDB-WVGA,if=RGB666 12 | memory=mem=512M 13 | netdev=eth0 14 | option=rootwait rw fixrtc rootflags=barrier=1 15 | root=root=/dev/mmcblk0p3 16 | setbootargs=setenv bootargs console=ttymxc1,115200 ${root} ${option} ${memory} ${cpu_freq} ${videomode} 17 | setbootdev=setenv boot_dev ${bootdev} 10800000 /uImage 18 | setvideomode=setenv videomode video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 setenv video1 video=mxcfb1:dev=ldb,${lvdsres1} 19 | splashpos=325,300 20 | stderr=serial 21 | stdin=serial 22 | stdout=serial 23 | uboot=u-boot.bin 24 | -------------------------------------------------------------------------------- /board/seco_x86/crosstool-ng-1.18.0.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated make config: don't edit 3 | # crosstool-NG hg+default-edb17e96ca60 Configuration 4 | # Fri Feb 1 12:57:28 2013 5 | # 6 | CT_CONFIGURE_has_xz=y 7 | CT_CONFIGURE_has_svn=y 8 | CT_MODULES=y 9 | 10 | # 11 | # Paths and misc options 12 | # 13 | 14 | # 15 | # crosstool-NG behavior 16 | # 17 | # CT_OBSOLETE is not set 18 | CT_EXPERIMENTAL=y 19 | # CT_ALLOW_BUILD_AS_ROOT is not set 20 | # CT_DEBUG_CT is not set 21 | 22 | # 23 | # Paths 24 | # 25 | CT_LOCAL_TARBALLS_DIR="${CT_WORK_DIR}/src" 26 | CT_SAVE_TARBALLS=y 27 | CT_CUSTOM_LOCATION_ROOT_DIR="" 28 | CT_WORK_DIR="${CT_TOP_DIR}/.build" 29 | CT_PREFIX_DIR="${CT_WORK_DIR}/${CT_TARGET}" 30 | CT_INSTALL_DIR="${CT_PREFIX_DIR}" 31 | CT_RM_RF_PREFIX_DIR=y 32 | CT_REMOVE_DOCS=y 33 | CT_INSTALL_DIR_RO=y 34 | CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y 35 | 36 | # 37 | # Downloading 38 | # 39 | # CT_FORBID_DOWNLOAD is not set 40 | # CT_FORCE_DOWNLOAD is not set 41 | CT_CONNECT_TIMEOUT=10 42 | # CT_ONLY_DOWNLOAD is not set 43 | # CT_USE_MIRROR is not set 44 | 45 | # 46 | # Extracting 47 | # 48 | # CT_FORCE_EXTRACT is not set 49 | CT_OVERIDE_CONFIG_GUESS_SUB=y 50 | # CT_ONLY_EXTRACT is not set 51 | CT_PATCH_BUNDLED=y 52 | # CT_PATCH_LOCAL is not set 53 | # CT_PATCH_BUNDLED_LOCAL is not set 54 | # CT_PATCH_LOCAL_BUNDLED is not set 55 | # CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set 56 | # CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set 57 | # CT_PATCH_NONE is not set 58 | CT_PATCH_ORDER="bundled" 59 | 60 | # 61 | # Build behavior 62 | # 63 | CT_PARALLEL_JOBS=0 64 | CT_LOAD="" 65 | CT_USE_PIPES=y 66 | CT_EXTRA_CFLAGS_FOR_BUILD="" 67 | CT_EXTRA_LDFLAGS_FOR_BUILD="" 68 | CT_EXTRA_CFLAGS_FOR_HOST="" 69 | CT_EXTRA_LDFLAGS_FOR_HOST="" 70 | # CT_CONFIG_SHELL_SH is not set 71 | # CT_CONFIG_SHELL_ASH is not set 72 | CT_CONFIG_SHELL_BASH=y 73 | # CT_CONFIG_SHELL_CUSTOM is not set 74 | CT_CONFIG_SHELL="${bash}" 75 | 76 | # 77 | # Logging 78 | # 79 | # CT_LOG_ERROR is not set 80 | # CT_LOG_WARN is not set 81 | # CT_LOG_INFO is not set 82 | CT_LOG_EXTRA=y 83 | # CT_LOG_ALL is not set 84 | # CT_LOG_DEBUG is not set 85 | CT_LOG_LEVEL_MAX="EXTRA" 86 | # CT_LOG_SEE_TOOLS_WARN is not set 87 | CT_LOG_PROGRESS_BAR=y 88 | CT_LOG_TO_FILE=y 89 | CT_LOG_FILE_COMPRESS=y 90 | 91 | # 92 | # Target options 93 | # 94 | CT_ARCH="x86" 95 | CT_ARCH_SUPPORTS_32=y 96 | CT_ARCH_SUPPORTS_64=y 97 | CT_ARCH_SUPPORTS_WITH_ARCH=y 98 | CT_ARCH_SUPPORTS_WITH_CPU=y 99 | CT_ARCH_SUPPORTS_WITH_TUNE=y 100 | CT_ARCH_DEFAULT_32=y 101 | CT_ARCH_ARCH="i686" 102 | CT_ARCH_CPU="" 103 | CT_ARCH_TUNE="" 104 | CT_ARCH_32=y 105 | # CT_ARCH_64 is not set 106 | CT_ARCH_BITNESS=32 107 | CT_TARGET_CFLAGS="" 108 | CT_TARGET_LDFLAGS="" 109 | # CT_ARCH_alpha is not set 110 | # CT_ARCH_arm is not set 111 | # CT_ARCH_avr32 is not set 112 | # CT_ARCH_blackfin is not set 113 | # CT_ARCH_m68k is not set 114 | # CT_ARCH_microblaze is not set 115 | # CT_ARCH_mips is not set 116 | # CT_ARCH_powerpc is not set 117 | # CT_ARCH_s390 is not set 118 | # CT_ARCH_sh is not set 119 | # CT_ARCH_sparc is not set 120 | CT_ARCH_x86=y 121 | CT_ARCH_alpha_AVAILABLE=y 122 | CT_ARCH_arm_AVAILABLE=y 123 | CT_ARCH_avr32_AVAILABLE=y 124 | CT_ARCH_blackfin_AVAILABLE=y 125 | CT_ARCH_m68k_AVAILABLE=y 126 | CT_ARCH_microblaze_AVAILABLE=y 127 | CT_ARCH_mips_AVAILABLE=y 128 | CT_ARCH_powerpc_AVAILABLE=y 129 | CT_ARCH_s390_AVAILABLE=y 130 | CT_ARCH_sh_AVAILABLE=y 131 | CT_ARCH_sparc_AVAILABLE=y 132 | CT_ARCH_x86_AVAILABLE=y 133 | CT_ARCH_SUFFIX="" 134 | 135 | # 136 | # Generic target options 137 | # 138 | # CT_MULTILIB is not set 139 | CT_ARCH_USE_MMU=y 140 | 141 | # 142 | # Target optimisations 143 | # 144 | CT_ARCH_FLOAT="" 145 | 146 | # 147 | # Toolchain options 148 | # 149 | 150 | # 151 | # General toolchain options 152 | # 153 | CT_FORCE_SYSROOT=y 154 | CT_USE_SYSROOT=y 155 | CT_SYSROOT_NAME="sysroot" 156 | CT_SYSROOT_DIR_PREFIX="" 157 | CT_WANTS_STATIC_LINK=y 158 | # CT_STATIC_TOOLCHAIN is not set 159 | CT_TOOLCHAIN_PKGVERSION="" 160 | CT_TOOLCHAIN_BUGURL="" 161 | 162 | # 163 | # Tuple completion and aliasing 164 | # 165 | CT_TARGET_VENDOR="nptl" 166 | CT_TARGET_ALIAS_SED_EXPR="" 167 | CT_TARGET_ALIAS="" 168 | 169 | # 170 | # Toolchain type 171 | # 172 | # CT_NATIVE is not set 173 | CT_CROSS=y 174 | # CT_CROSS_NATIVE is not set 175 | # CT_CANADIAN is not set 176 | CT_TOOLCHAIN_TYPE="cross" 177 | 178 | # 179 | # Build system 180 | # 181 | CT_BUILD="" 182 | CT_BUILD_PREFIX="" 183 | CT_BUILD_SUFFIX="" 184 | 185 | # 186 | # Misc options 187 | # 188 | # CT_TOOLCHAIN_ENABLE_NLS is not set 189 | 190 | # 191 | # Operating System 192 | # 193 | CT_KERNEL_SUPPORTS_SHARED_LIBS=y 194 | CT_KERNEL="linux" 195 | CT_KERNEL_VERSION="3.6.11" 196 | # CT_KERNEL_bare_metal is not set 197 | CT_KERNEL_linux=y 198 | # CT_KERNEL_windows is not set 199 | CT_KERNEL_bare_metal_AVAILABLE=y 200 | CT_KERNEL_linux_AVAILABLE=y 201 | # CT_KERNEL_V_3_7_3 is not set 202 | # CT_KERNEL_V_3_7_2 is not set 203 | # CT_KERNEL_V_3_7_1 is not set 204 | # CT_KERNEL_V_3_7 is not set 205 | CT_KERNEL_V_3_6_11=y 206 | # CT_KERNEL_V_3_5_7 is not set 207 | # CT_KERNEL_V_3_4_26 is not set 208 | # CT_KERNEL_V_3_3_8 is not set 209 | # CT_KERNEL_V_3_2_37 is not set 210 | # CT_KERNEL_V_3_1_10 is not set 211 | # CT_KERNEL_V_3_0_59 is not set 212 | # CT_KERNEL_V_2_6_39_4 is not set 213 | # CT_KERNEL_V_2_6_38_8 is not set 214 | # CT_KERNEL_V_2_6_37_6 is not set 215 | # CT_KERNEL_V_2_6_36_4 is not set 216 | # CT_KERNEL_V_2_6_33_20 is not set 217 | # CT_KERNEL_V_2_6_32_60 is not set 218 | # CT_KERNEL_V_2_6_31_14 is not set 219 | # CT_KERNEL_V_2_6_27_62 is not set 220 | # CT_KERNEL_LINUX_CUSTOM is not set 221 | CT_KERNEL_windows_AVAILABLE=y 222 | 223 | # 224 | # Common kernel options 225 | # 226 | CT_SHARED_LIBS=y 227 | 228 | # 229 | # linux other options 230 | # 231 | CT_KERNEL_LINUX_VERBOSITY_0=y 232 | # CT_KERNEL_LINUX_VERBOSITY_1 is not set 233 | # CT_KERNEL_LINUX_VERBOSITY_2 is not set 234 | CT_KERNEL_LINUX_VERBOSE_LEVEL=0 235 | CT_KERNEL_LINUX_INSTALL_CHECK=y 236 | 237 | # 238 | # Binary utilities 239 | # 240 | CT_ARCH_BINFMT_ELF=y 241 | CT_BINUTILS="binutils" 242 | CT_BINUTILS_binutils=y 243 | 244 | # 245 | # GNU binutils 246 | # 247 | # CT_BINUTILS_V_2_23_1 is not set 248 | CT_BINUTILS_V_2_22=y 249 | # CT_BINUTILS_V_2_21_53 is not set 250 | # CT_BINUTILS_V_2_21_1a is not set 251 | # CT_BINUTILS_V_2_20_1a is not set 252 | # CT_BINUTILS_V_2_19_1a is not set 253 | # CT_BINUTILS_V_2_18a is not set 254 | # CT_BINUTILS_CUSTOM is not set 255 | CT_BINUTILS_VERSION="2.22" 256 | CT_BINUTILS_2_22_or_later=y 257 | CT_BINUTILS_2_21_or_later=y 258 | CT_BINUTILS_2_20_or_later=y 259 | CT_BINUTILS_2_19_or_later=y 260 | CT_BINUTILS_2_18_or_later=y 261 | CT_BINUTILS_HAS_HASH_STYLE=y 262 | CT_BINUTILS_HAS_GOLD=y 263 | CT_BINUTILS_GOLD_SUPPORTS_ARCH=y 264 | CT_BINUTILS_HAS_PLUGINS=y 265 | CT_BINUTILS_HAS_PKGVERSION_BUGURL=y 266 | CT_BINUTILS_FORCE_LD_BFD=y 267 | # CT_BINUTILS_LINKER_LD is not set 268 | CT_BINUTILS_LINKER_LD_GOLD=y 269 | # CT_BINUTILS_LINKER_GOLD_LD is not set 270 | CT_BINUTILS_GOLD_INSTALLED=y 271 | CT_BINUTILS_GOLD_THREADS=y 272 | CT_BINUTILS_LINKER_BOTH=y 273 | CT_BINUTILS_LINKERS_LIST="ld,gold" 274 | CT_BINUTILS_LD_WRAPPER=y 275 | CT_BINUTILS_LINKER_DEFAULT="bfd" 276 | CT_BINUTILS_PLUGINS=y 277 | CT_BINUTILS_EXTRA_CONFIG_ARRAY="" 278 | CT_BINUTILS_FOR_TARGET=y 279 | CT_BINUTILS_FOR_TARGET_IBERTY=y 280 | CT_BINUTILS_FOR_TARGET_BFD=y 281 | 282 | # 283 | # binutils other options 284 | # 285 | 286 | # 287 | # C compiler 288 | # 289 | CT_CC="gcc" 290 | CT_CC_VERSION="4.6.0" 291 | CT_CC_CORE_PASSES_NEEDED=y 292 | CT_CC_gcc=y 293 | # CT_CC_GCC_SHOW_LINARO is not set 294 | # CT_CC_V_4_7_2 is not set 295 | # CT_CC_V_4_7_1 is not set 296 | # CT_CC_V_4_7_0 is not set 297 | # CT_CC_V_4_6_3 is not set 298 | # CT_CC_V_4_6_2 is not set 299 | # CT_CC_V_4_6_1 is not set 300 | CT_CC_V_4_6_0=y 301 | # CT_CC_V_4_5_3 is not set 302 | # CT_CC_V_4_5_2 is not set 303 | # CT_CC_V_4_5_1 is not set 304 | # CT_CC_V_4_5_0 is not set 305 | # CT_CC_V_4_4_7 is not set 306 | # CT_CC_V_4_4_6 is not set 307 | # CT_CC_V_4_4_5 is not set 308 | # CT_CC_V_4_4_4 is not set 309 | # CT_CC_V_4_4_3 is not set 310 | # CT_CC_V_4_4_2 is not set 311 | # CT_CC_V_4_4_1 is not set 312 | # CT_CC_V_4_4_0 is not set 313 | # CT_CC_V_4_3_6 is not set 314 | # CT_CC_V_4_3_5 is not set 315 | # CT_CC_V_4_3_4 is not set 316 | # CT_CC_V_4_3_3 is not set 317 | # CT_CC_V_4_3_2 is not set 318 | # CT_CC_V_4_3_1 is not set 319 | # CT_CC_V_4_2_4 is not set 320 | # CT_CC_V_4_2_2 is not set 321 | # CT_CC_CUSTOM is not set 322 | CT_CC_GCC_4_2_or_later=y 323 | CT_CC_GCC_4_3_or_later=y 324 | CT_CC_GCC_4_4_or_later=y 325 | CT_CC_GCC_4_5_or_later=y 326 | CT_CC_GCC_4_6=y 327 | CT_CC_GCC_4_6_or_later=y 328 | CT_CC_GCC_HAS_GRAPHITE=y 329 | CT_CC_GCC_HAS_LTO=y 330 | CT_CC_GCC_HAS_PKGVERSION_BUGURL=y 331 | CT_CC_GCC_HAS_BUILD_ID=y 332 | CT_CC_GCC_ENABLE_PLUGINS=y 333 | CT_CC_GCC_GOLD=y 334 | CT_CC_GCC_USE_GMP_MPFR=y 335 | CT_CC_GCC_USE_PPL_CLOOG=y 336 | CT_CC_GCC_USE_MPC=y 337 | CT_CC_GCC_HAS_LIBQUADMATH=y 338 | CT_CC_LANG_FORTRAN=y 339 | CT_CC_SUPPORT_CXX=y 340 | CT_CC_SUPPORT_FORTRAN=y 341 | CT_CC_SUPPORT_JAVA=y 342 | CT_CC_SUPPORT_ADA=y 343 | CT_CC_SUPPORT_OBJC=y 344 | CT_CC_SUPPORT_OBJCXX=y 345 | 346 | # 347 | # Additional supported languages: 348 | # 349 | CT_CC_LANG_CXX=y 350 | # CT_CC_LANG_JAVA is not set 351 | # CT_CC_LANG_ADA is not set 352 | # CT_CC_LANG_OBJC is not set 353 | # CT_CC_LANG_OBJCXX is not set 354 | CT_CC_LANG_OTHERS="" 355 | 356 | # 357 | # gcc other options 358 | # 359 | CT_CC_ENABLE_CXX_FLAGS="" 360 | CT_CC_CORE_EXTRA_CONFIG_ARRAY="" 361 | CT_CC_EXTRA_CONFIG_ARRAY="" 362 | CT_CC_STATIC_LIBSTDCXX=y 363 | # CT_CC_GCC_SYSTEM_ZLIB is not set 364 | 365 | # 366 | # Optimisation features 367 | # 368 | CT_CC_GCC_USE_GRAPHITE=y 369 | CT_CC_GCC_USE_LTO=y 370 | 371 | # 372 | # Settings for libraries running on target 373 | # 374 | CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y 375 | # CT_CC_GCC_LIBMUDFLAP is not set 376 | # CT_CC_GCC_LIBGOMP is not set 377 | # CT_CC_GCC_LIBSSP is not set 378 | # CT_CC_GCC_LIBQUADMATH is not set 379 | 380 | # 381 | # Misc. obscure options. 382 | # 383 | CT_CC_CXA_ATEXIT=y 384 | # CT_CC_GCC_DISABLE_PCH is not set 385 | CT_CC_GCC_SJLJ_EXCEPTIONS=m 386 | CT_CC_GCC_LDBL_128=m 387 | # CT_CC_GCC_BUILD_ID is not set 388 | 389 | # 390 | # C-library 391 | # 392 | CT_LIBC="glibc" 393 | CT_LIBC_VERSION="2.12.2" 394 | # CT_LIBC_eglibc is not set 395 | CT_LIBC_glibc=y 396 | # CT_LIBC_uClibc is not set 397 | CT_LIBC_eglibc_AVAILABLE=y 398 | CT_LIBC_glibc_AVAILABLE=y 399 | # CT_LIBC_GLIBC_V_2_17 is not set 400 | # CT_LIBC_GLIBC_V_2_16_0 is not set 401 | # CT_LIBC_GLIBC_V_2_15 is not set 402 | # CT_LIBC_GLIBC_V_2_14_1 is not set 403 | # CT_LIBC_GLIBC_V_2_14 is not set 404 | # CT_LIBC_GLIBC_V_2_13 is not set 405 | CT_LIBC_GLIBC_V_2_12_2=y 406 | # CT_LIBC_GLIBC_V_2_12_1 is not set 407 | # CT_LIBC_GLIBC_V_2_11_1 is not set 408 | # CT_LIBC_GLIBC_V_2_11 is not set 409 | # CT_LIBC_GLIBC_V_2_10_1 is not set 410 | # CT_LIBC_GLIBC_V_2_9 is not set 411 | # CT_LIBC_GLIBC_V_2_8 is not set 412 | CT_LIBC_mingw_AVAILABLE=y 413 | CT_LIBC_newlib_AVAILABLE=y 414 | CT_LIBC_none_AVAILABLE=y 415 | CT_LIBC_uClibc_AVAILABLE=y 416 | CT_LIBC_SUPPORT_THREADS_ANY=y 417 | CT_LIBC_SUPPORT_NPTL=y 418 | CT_THREADS="nptl" 419 | 420 | # 421 | # Common C library options 422 | # 423 | CT_THREADS_NPTL=y 424 | CT_LIBC_XLDD=y 425 | CT_LIBC_glibc_familly=y 426 | CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" 427 | CT_LIBC_GLIBC_CONFIGPARMS="" 428 | CT_LIBC_GLIBC_EXTRA_CFLAGS="" 429 | CT_LIBC_EXTRA_CC_ARGS="" 430 | # CT_LIBC_ENABLE_FORTIFIED_BUILD is not set 431 | # CT_LIBC_DISABLE_VERSIONING is not set 432 | CT_LIBC_OLDEST_ABI="" 433 | CT_LIBC_GLIBC_FORCE_UNWIND=y 434 | # CT_LIBC_GLIBC_USE_PORTS is not set 435 | CT_LIBC_ADDONS_LIST="" 436 | # CT_LIBC_LOCALES is not set 437 | # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set 438 | CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y 439 | # CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set 440 | CT_LIBC_GLIBC_MIN_KERNEL="3.6.11" 441 | 442 | # 443 | # glibc other options 444 | # 445 | 446 | # 447 | # Debug facilities 448 | # 449 | CT_DEBUG_dmalloc=y 450 | CT_DMALLOC_V_5_5_2=y 451 | CT_DMALLOC_VERSION="5.5.2" 452 | CT_DEBUG_duma=y 453 | CT_DUMA_A=y 454 | CT_DUMA_SO=y 455 | CT_DUMA_V_2_5_15=y 456 | CT_DUMA_VERSION="2_5_15" 457 | CT_DEBUG_gdb=y 458 | CT_GDB_CROSS=y 459 | # CT_GDB_CROSS_STATIC is not set 460 | # CT_GDB_CROSS_SIM is not set 461 | CT_GDB_CROSS_PYTHON=y 462 | CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" 463 | CT_GDB_NATIVE=y 464 | # CT_GDB_NATIVE_STATIC is not set 465 | CT_GDB_GDBSERVER=y 466 | CT_GDB_GDBSERVER_STATIC=y 467 | 468 | # 469 | # gdb version 470 | # 471 | # CT_DEBUG_GDB_SHOW_LINARO is not set 472 | # CT_GDB_V_7_4_1 is not set 473 | # CT_GDB_V_7_4 is not set 474 | # CT_GDB_V_7_3_1 is not set 475 | # CT_GDB_V_7_3a is not set 476 | # CT_GDB_V_7_2a is not set 477 | # CT_GDB_V_7_1a is not set 478 | # CT_GDB_V_7_0_1a is not set 479 | # CT_GDB_V_7_0a is not set 480 | CT_GDB_V_6_8a=y 481 | # CT_GDB_CUSTOM is not set 482 | CT_GDB_VERSION="6.8a" 483 | CT_DEBUG_ltrace=y 484 | CT_LTRACE_V_0_5_3=y 485 | # CT_LTRACE_V_0_5_2 is not set 486 | CT_LTRACE_VERSION="0.5.3" 487 | CT_LTRACE_0_5_3_or_later=y 488 | CT_DEBUG_strace=y 489 | # CT_STRACE_V_4_6 is not set 490 | # CT_STRACE_V_4_5_20 is not set 491 | CT_STRACE_V_4_5_19=y 492 | # CT_STRACE_V_4_5_18 is not set 493 | CT_STRACE_VERSION="4.5.19" 494 | 495 | # 496 | # Companion libraries 497 | # 498 | CT_COMPLIBS_NEEDED=y 499 | CT_GMP_NEEDED=y 500 | CT_MPFR_NEEDED=y 501 | CT_PPL_NEEDED=y 502 | CT_CLOOG_NEEDED=y 503 | CT_MPC_NEEDED=y 504 | CT_COMPLIBS=y 505 | CT_GMP=y 506 | CT_MPFR=y 507 | CT_PPL=y 508 | CT_CLOOG=y 509 | CT_MPC=y 510 | CT_LIBELF_TARGET=y 511 | # CT_GMP_V_5_0_2 is not set 512 | # CT_GMP_V_5_0_1 is not set 513 | CT_GMP_V_4_3_2=y 514 | # CT_GMP_V_4_3_1 is not set 515 | # CT_GMP_V_4_3_0 is not set 516 | CT_GMP_VERSION="4.3.2" 517 | # CT_MPFR_V_3_1_0 is not set 518 | # CT_MPFR_V_3_0_1 is not set 519 | # CT_MPFR_V_3_0_0 is not set 520 | CT_MPFR_V_2_4_2=y 521 | # CT_MPFR_V_2_4_1 is not set 522 | # CT_MPFR_V_2_4_0 is not set 523 | CT_MPFR_VERSION="2.4.2" 524 | # CT_PPL_V_0_11_2 is not set 525 | # CT_PPL_V_0_11_1 is not set 526 | CT_PPL_V_0_11=y 527 | # CT_PPL_V_0_10_2 is not set 528 | CT_PPL_VERSION="0.11" 529 | CT_PPL_0_11=y 530 | CT_PPL_NEEDS_LIBPWL=y 531 | CT_CLOOG_V_0_15_11=y 532 | # CT_CLOOG_V_0_15_10 is not set 533 | # CT_CLOOG_V_0_15_9 is not set 534 | # CT_CLOOG_V_0_15_8 is not set 535 | # CT_CLOOG_V_0_15_7 is not set 536 | # CT_CLOOG_V_0_15_6 is not set 537 | CT_CLOOG_VERSION="0.15.11" 538 | CT_CLOOG_0_15_1x=y 539 | CT_CLOOG_NEEDS_AUTORECONF=y 540 | # CT_MPC_V_0_9 is not set 541 | CT_MPC_V_0_8_2=y 542 | # CT_MPC_V_0_8_1 is not set 543 | # CT_MPC_V_0_7 is not set 544 | CT_MPC_VERSION="0.8.2" 545 | 546 | # 547 | # libelf version needed to build for target 548 | # 549 | CT_LIBELF_V_0_8_13=y 550 | # CT_LIBELF_V_0_8_12 is not set 551 | CT_LIBELF_VERSION="0.8.13" 552 | 553 | # 554 | # Companion libraries common options 555 | # 556 | # CT_COMPLIBS_CHECK is not set 557 | 558 | # 559 | # Companion tools 560 | # 561 | 562 | # 563 | # READ HELP before you say 'Y' below !!! 564 | # 565 | # CT_COMP_TOOLS is not set 566 | 567 | # 568 | # Test suite 569 | # 570 | CT_TEST_SUITE=y 571 | CT_TEST_SUITE_GCC=y 572 | -------------------------------------------------------------------------------- /board/seco_x86/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | export LFS_DISK_EMPTY_SIZE=2 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=512 5 | export LFS_DISK_APP_SIZE=256 6 | 7 | # filesystems 8 | export LFS_DISK_BOOT_FS=vfat 9 | export LFS_DISK_ROOT_FS=ext3 10 | export LFS_DISK_APP_FS=ext3 11 | 12 | # archi 13 | export LFS_TARGET_ARCH=x86 14 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_x86 15 | 16 | # softwares 17 | export LFS_LINUX_VERS=3.6.11 18 | export LFS_LINUX_ARCH=x86 19 | export LFS_PCIUTILS_VERS=3.1.10 20 | export LFS_GRUB_VERS=2.00 21 | export LFS_NTPD_VERS=1.0 22 | 23 | . $LFS_TOP_DIR/board/common/do_conf.sh 24 | -------------------------------------------------------------------------------- /board/seco_x86/linux-3.6.11_pch_gbe_main.diff: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2012-12-17 18:27:45.000000000 +0100 2 | +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2013-06-13 10:12:19.049882932 +0200 3 | @@ -1626,7 +1626,8 @@ 4 | } else if ((tx_desc->gbec_status & PCH_GBE_TXD_GMAC_STAT_CRSER) 5 | ) { 6 | adapter->stats.tx_carrier_errors++; 7 | - pr_err("Transfer Carrier Sense Error\n"); 8 | + /* flm: avoid console flooding */ 9 | + /* pr_err("Transfer Carrier Sense Error\n"); */ 10 | } else if ((tx_desc->gbec_status & PCH_GBE_TXD_GMAC_STAT_EXCOL) 11 | ) { 12 | adapter->stats.tx_aborted_errors++; 13 | -------------------------------------------------------------------------------- /board/seco_x86/linux-3.6.11_pch_uart.diff: -------------------------------------------------------------------------------- 1 | --- a/drivers/tty/serial/pch_uart.c 2012-12-17 18:27:45.000000000 +0100 2 | +++ b/drivers/tty/serial/pch_uart.c 2013-06-13 10:12:44.049882353 +0200 3 | @@ -392,7 +392,9 @@ 4 | /* Kontron COMe-mTT10 (nanoETXexpress-TT) */ 5 | cmp = dmi_get_system_info(DMI_BOARD_NAME); 6 | if (cmp && (strstr(cmp, "COMe-mTT") || 7 | - strstr(cmp, "nanoETXexpress-TT"))) 8 | + strstr(cmp, "nanoETXexpress-TT") || 9 | + /* flm: board name missing */ 10 | + strstr(cmp, "nETXe-TT"))) 11 | return NTC1_UARTCLK; 12 | 13 | return DEFAULT_UARTCLK; 14 | -------------------------------------------------------------------------------- /board/vcomex/crosstool-ng-1.18.0.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated make config: don't edit 3 | # crosstool-NG hg+default-edb17e96ca60 Configuration 4 | # Fri Feb 1 12:57:28 2013 5 | # 6 | CT_CONFIGURE_has_xz=y 7 | CT_CONFIGURE_has_svn=y 8 | CT_MODULES=y 9 | 10 | # 11 | # Paths and misc options 12 | # 13 | 14 | # 15 | # crosstool-NG behavior 16 | # 17 | # CT_OBSOLETE is not set 18 | CT_EXPERIMENTAL=y 19 | # CT_ALLOW_BUILD_AS_ROOT is not set 20 | # CT_DEBUG_CT is not set 21 | 22 | # 23 | # Paths 24 | # 25 | CT_LOCAL_TARBALLS_DIR="${CT_WORK_DIR}/src" 26 | CT_SAVE_TARBALLS=y 27 | CT_CUSTOM_LOCATION_ROOT_DIR="" 28 | CT_WORK_DIR="${CT_TOP_DIR}/.build" 29 | CT_PREFIX_DIR="${CT_WORK_DIR}/${CT_TARGET}" 30 | CT_INSTALL_DIR="${CT_PREFIX_DIR}" 31 | CT_RM_RF_PREFIX_DIR=y 32 | CT_REMOVE_DOCS=y 33 | CT_INSTALL_DIR_RO=y 34 | CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y 35 | 36 | # 37 | # Downloading 38 | # 39 | # CT_FORBID_DOWNLOAD is not set 40 | # CT_FORCE_DOWNLOAD is not set 41 | CT_CONNECT_TIMEOUT=10 42 | # CT_ONLY_DOWNLOAD is not set 43 | # CT_USE_MIRROR is not set 44 | 45 | # 46 | # Extracting 47 | # 48 | # CT_FORCE_EXTRACT is not set 49 | CT_OVERIDE_CONFIG_GUESS_SUB=y 50 | # CT_ONLY_EXTRACT is not set 51 | CT_PATCH_BUNDLED=y 52 | # CT_PATCH_LOCAL is not set 53 | # CT_PATCH_BUNDLED_LOCAL is not set 54 | # CT_PATCH_LOCAL_BUNDLED is not set 55 | # CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set 56 | # CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set 57 | # CT_PATCH_NONE is not set 58 | CT_PATCH_ORDER="bundled" 59 | 60 | # 61 | # Build behavior 62 | # 63 | CT_PARALLEL_JOBS=0 64 | CT_LOAD="" 65 | CT_USE_PIPES=y 66 | CT_EXTRA_CFLAGS_FOR_BUILD="" 67 | CT_EXTRA_LDFLAGS_FOR_BUILD="" 68 | CT_EXTRA_CFLAGS_FOR_HOST="" 69 | CT_EXTRA_LDFLAGS_FOR_HOST="" 70 | # CT_CONFIG_SHELL_SH is not set 71 | # CT_CONFIG_SHELL_ASH is not set 72 | CT_CONFIG_SHELL_BASH=y 73 | # CT_CONFIG_SHELL_CUSTOM is not set 74 | CT_CONFIG_SHELL="${bash}" 75 | 76 | # 77 | # Logging 78 | # 79 | # CT_LOG_ERROR is not set 80 | # CT_LOG_WARN is not set 81 | # CT_LOG_INFO is not set 82 | CT_LOG_EXTRA=y 83 | # CT_LOG_ALL is not set 84 | # CT_LOG_DEBUG is not set 85 | CT_LOG_LEVEL_MAX="EXTRA" 86 | # CT_LOG_SEE_TOOLS_WARN is not set 87 | CT_LOG_PROGRESS_BAR=y 88 | CT_LOG_TO_FILE=y 89 | CT_LOG_FILE_COMPRESS=y 90 | 91 | # 92 | # Target options 93 | # 94 | CT_ARCH="x86" 95 | CT_ARCH_SUPPORTS_32=y 96 | CT_ARCH_SUPPORTS_64=y 97 | CT_ARCH_SUPPORTS_WITH_ARCH=y 98 | CT_ARCH_SUPPORTS_WITH_CPU=y 99 | CT_ARCH_SUPPORTS_WITH_TUNE=y 100 | CT_ARCH_DEFAULT_32=y 101 | CT_ARCH_ARCH="i686" 102 | CT_ARCH_CPU="" 103 | CT_ARCH_TUNE="" 104 | CT_ARCH_32=y 105 | # CT_ARCH_64 is not set 106 | CT_ARCH_BITNESS=32 107 | CT_TARGET_CFLAGS="" 108 | CT_TARGET_LDFLAGS="" 109 | # CT_ARCH_alpha is not set 110 | # CT_ARCH_arm is not set 111 | # CT_ARCH_avr32 is not set 112 | # CT_ARCH_blackfin is not set 113 | # CT_ARCH_m68k is not set 114 | # CT_ARCH_microblaze is not set 115 | # CT_ARCH_mips is not set 116 | # CT_ARCH_powerpc is not set 117 | # CT_ARCH_s390 is not set 118 | # CT_ARCH_sh is not set 119 | # CT_ARCH_sparc is not set 120 | CT_ARCH_x86=y 121 | CT_ARCH_alpha_AVAILABLE=y 122 | CT_ARCH_arm_AVAILABLE=y 123 | CT_ARCH_avr32_AVAILABLE=y 124 | CT_ARCH_blackfin_AVAILABLE=y 125 | CT_ARCH_m68k_AVAILABLE=y 126 | CT_ARCH_microblaze_AVAILABLE=y 127 | CT_ARCH_mips_AVAILABLE=y 128 | CT_ARCH_powerpc_AVAILABLE=y 129 | CT_ARCH_s390_AVAILABLE=y 130 | CT_ARCH_sh_AVAILABLE=y 131 | CT_ARCH_sparc_AVAILABLE=y 132 | CT_ARCH_x86_AVAILABLE=y 133 | CT_ARCH_SUFFIX="" 134 | 135 | # 136 | # Generic target options 137 | # 138 | # CT_MULTILIB is not set 139 | CT_ARCH_USE_MMU=y 140 | 141 | # 142 | # Target optimisations 143 | # 144 | CT_ARCH_FLOAT="" 145 | 146 | # 147 | # Toolchain options 148 | # 149 | 150 | # 151 | # General toolchain options 152 | # 153 | CT_FORCE_SYSROOT=y 154 | CT_USE_SYSROOT=y 155 | CT_SYSROOT_NAME="sysroot" 156 | CT_SYSROOT_DIR_PREFIX="" 157 | CT_WANTS_STATIC_LINK=y 158 | # CT_STATIC_TOOLCHAIN is not set 159 | CT_TOOLCHAIN_PKGVERSION="" 160 | CT_TOOLCHAIN_BUGURL="" 161 | 162 | # 163 | # Tuple completion and aliasing 164 | # 165 | CT_TARGET_VENDOR="nptl" 166 | CT_TARGET_ALIAS_SED_EXPR="" 167 | CT_TARGET_ALIAS="" 168 | 169 | # 170 | # Toolchain type 171 | # 172 | # CT_NATIVE is not set 173 | CT_CROSS=y 174 | # CT_CROSS_NATIVE is not set 175 | # CT_CANADIAN is not set 176 | CT_TOOLCHAIN_TYPE="cross" 177 | 178 | # 179 | # Build system 180 | # 181 | CT_BUILD="" 182 | CT_BUILD_PREFIX="" 183 | CT_BUILD_SUFFIX="" 184 | 185 | # 186 | # Misc options 187 | # 188 | # CT_TOOLCHAIN_ENABLE_NLS is not set 189 | 190 | # 191 | # Operating System 192 | # 193 | CT_KERNEL_SUPPORTS_SHARED_LIBS=y 194 | CT_KERNEL="linux" 195 | CT_KERNEL_VERSION="3.6.11" 196 | # CT_KERNEL_bare_metal is not set 197 | CT_KERNEL_linux=y 198 | # CT_KERNEL_windows is not set 199 | CT_KERNEL_bare_metal_AVAILABLE=y 200 | CT_KERNEL_linux_AVAILABLE=y 201 | # CT_KERNEL_V_3_7_3 is not set 202 | # CT_KERNEL_V_3_7_2 is not set 203 | # CT_KERNEL_V_3_7_1 is not set 204 | # CT_KERNEL_V_3_7 is not set 205 | CT_KERNEL_V_3_6_11=y 206 | # CT_KERNEL_V_3_5_7 is not set 207 | # CT_KERNEL_V_3_4_26 is not set 208 | # CT_KERNEL_V_3_3_8 is not set 209 | # CT_KERNEL_V_3_2_37 is not set 210 | # CT_KERNEL_V_3_1_10 is not set 211 | # CT_KERNEL_V_3_0_59 is not set 212 | # CT_KERNEL_V_2_6_39_4 is not set 213 | # CT_KERNEL_V_2_6_38_8 is not set 214 | # CT_KERNEL_V_2_6_37_6 is not set 215 | # CT_KERNEL_V_2_6_36_4 is not set 216 | # CT_KERNEL_V_2_6_33_20 is not set 217 | # CT_KERNEL_V_2_6_32_60 is not set 218 | # CT_KERNEL_V_2_6_31_14 is not set 219 | # CT_KERNEL_V_2_6_27_62 is not set 220 | # CT_KERNEL_LINUX_CUSTOM is not set 221 | CT_KERNEL_windows_AVAILABLE=y 222 | 223 | # 224 | # Common kernel options 225 | # 226 | CT_SHARED_LIBS=y 227 | 228 | # 229 | # linux other options 230 | # 231 | CT_KERNEL_LINUX_VERBOSITY_0=y 232 | # CT_KERNEL_LINUX_VERBOSITY_1 is not set 233 | # CT_KERNEL_LINUX_VERBOSITY_2 is not set 234 | CT_KERNEL_LINUX_VERBOSE_LEVEL=0 235 | CT_KERNEL_LINUX_INSTALL_CHECK=y 236 | 237 | # 238 | # Binary utilities 239 | # 240 | CT_ARCH_BINFMT_ELF=y 241 | CT_BINUTILS="binutils" 242 | CT_BINUTILS_binutils=y 243 | 244 | # 245 | # GNU binutils 246 | # 247 | # CT_BINUTILS_V_2_23_1 is not set 248 | CT_BINUTILS_V_2_22=y 249 | # CT_BINUTILS_V_2_21_53 is not set 250 | # CT_BINUTILS_V_2_21_1a is not set 251 | # CT_BINUTILS_V_2_20_1a is not set 252 | # CT_BINUTILS_V_2_19_1a is not set 253 | # CT_BINUTILS_V_2_18a is not set 254 | # CT_BINUTILS_CUSTOM is not set 255 | CT_BINUTILS_VERSION="2.22" 256 | CT_BINUTILS_2_22_or_later=y 257 | CT_BINUTILS_2_21_or_later=y 258 | CT_BINUTILS_2_20_or_later=y 259 | CT_BINUTILS_2_19_or_later=y 260 | CT_BINUTILS_2_18_or_later=y 261 | CT_BINUTILS_HAS_HASH_STYLE=y 262 | CT_BINUTILS_HAS_GOLD=y 263 | CT_BINUTILS_GOLD_SUPPORTS_ARCH=y 264 | CT_BINUTILS_HAS_PLUGINS=y 265 | CT_BINUTILS_HAS_PKGVERSION_BUGURL=y 266 | CT_BINUTILS_FORCE_LD_BFD=y 267 | # CT_BINUTILS_LINKER_LD is not set 268 | CT_BINUTILS_LINKER_LD_GOLD=y 269 | # CT_BINUTILS_LINKER_GOLD_LD is not set 270 | CT_BINUTILS_GOLD_INSTALLED=y 271 | CT_BINUTILS_GOLD_THREADS=y 272 | CT_BINUTILS_LINKER_BOTH=y 273 | CT_BINUTILS_LINKERS_LIST="ld,gold" 274 | CT_BINUTILS_LD_WRAPPER=y 275 | CT_BINUTILS_LINKER_DEFAULT="bfd" 276 | CT_BINUTILS_PLUGINS=y 277 | CT_BINUTILS_EXTRA_CONFIG_ARRAY="" 278 | CT_BINUTILS_FOR_TARGET=y 279 | CT_BINUTILS_FOR_TARGET_IBERTY=y 280 | CT_BINUTILS_FOR_TARGET_BFD=y 281 | 282 | # 283 | # binutils other options 284 | # 285 | 286 | # 287 | # C compiler 288 | # 289 | CT_CC="gcc" 290 | CT_CC_VERSION="4.6.0" 291 | CT_CC_CORE_PASSES_NEEDED=y 292 | CT_CC_gcc=y 293 | # CT_CC_GCC_SHOW_LINARO is not set 294 | # CT_CC_V_4_7_2 is not set 295 | # CT_CC_V_4_7_1 is not set 296 | # CT_CC_V_4_7_0 is not set 297 | # CT_CC_V_4_6_3 is not set 298 | # CT_CC_V_4_6_2 is not set 299 | # CT_CC_V_4_6_1 is not set 300 | CT_CC_V_4_6_0=y 301 | # CT_CC_V_4_5_3 is not set 302 | # CT_CC_V_4_5_2 is not set 303 | # CT_CC_V_4_5_1 is not set 304 | # CT_CC_V_4_5_0 is not set 305 | # CT_CC_V_4_4_7 is not set 306 | # CT_CC_V_4_4_6 is not set 307 | # CT_CC_V_4_4_5 is not set 308 | # CT_CC_V_4_4_4 is not set 309 | # CT_CC_V_4_4_3 is not set 310 | # CT_CC_V_4_4_2 is not set 311 | # CT_CC_V_4_4_1 is not set 312 | # CT_CC_V_4_4_0 is not set 313 | # CT_CC_V_4_3_6 is not set 314 | # CT_CC_V_4_3_5 is not set 315 | # CT_CC_V_4_3_4 is not set 316 | # CT_CC_V_4_3_3 is not set 317 | # CT_CC_V_4_3_2 is not set 318 | # CT_CC_V_4_3_1 is not set 319 | # CT_CC_V_4_2_4 is not set 320 | # CT_CC_V_4_2_2 is not set 321 | # CT_CC_CUSTOM is not set 322 | CT_CC_GCC_4_2_or_later=y 323 | CT_CC_GCC_4_3_or_later=y 324 | CT_CC_GCC_4_4_or_later=y 325 | CT_CC_GCC_4_5_or_later=y 326 | CT_CC_GCC_4_6=y 327 | CT_CC_GCC_4_6_or_later=y 328 | CT_CC_GCC_HAS_GRAPHITE=y 329 | CT_CC_GCC_HAS_LTO=y 330 | CT_CC_GCC_HAS_PKGVERSION_BUGURL=y 331 | CT_CC_GCC_HAS_BUILD_ID=y 332 | CT_CC_GCC_ENABLE_PLUGINS=y 333 | CT_CC_GCC_GOLD=y 334 | CT_CC_GCC_USE_GMP_MPFR=y 335 | CT_CC_GCC_USE_PPL_CLOOG=y 336 | CT_CC_GCC_USE_MPC=y 337 | CT_CC_GCC_HAS_LIBQUADMATH=y 338 | CT_CC_LANG_FORTRAN=y 339 | CT_CC_SUPPORT_CXX=y 340 | CT_CC_SUPPORT_FORTRAN=y 341 | CT_CC_SUPPORT_JAVA=y 342 | CT_CC_SUPPORT_ADA=y 343 | CT_CC_SUPPORT_OBJC=y 344 | CT_CC_SUPPORT_OBJCXX=y 345 | 346 | # 347 | # Additional supported languages: 348 | # 349 | CT_CC_LANG_CXX=y 350 | # CT_CC_LANG_JAVA is not set 351 | # CT_CC_LANG_ADA is not set 352 | # CT_CC_LANG_OBJC is not set 353 | # CT_CC_LANG_OBJCXX is not set 354 | CT_CC_LANG_OTHERS="" 355 | 356 | # 357 | # gcc other options 358 | # 359 | CT_CC_ENABLE_CXX_FLAGS="" 360 | CT_CC_CORE_EXTRA_CONFIG_ARRAY="" 361 | CT_CC_EXTRA_CONFIG_ARRAY="" 362 | CT_CC_STATIC_LIBSTDCXX=y 363 | # CT_CC_GCC_SYSTEM_ZLIB is not set 364 | 365 | # 366 | # Optimisation features 367 | # 368 | CT_CC_GCC_USE_GRAPHITE=y 369 | CT_CC_GCC_USE_LTO=y 370 | 371 | # 372 | # Settings for libraries running on target 373 | # 374 | CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y 375 | # CT_CC_GCC_LIBMUDFLAP is not set 376 | # CT_CC_GCC_LIBGOMP is not set 377 | # CT_CC_GCC_LIBSSP is not set 378 | # CT_CC_GCC_LIBQUADMATH is not set 379 | 380 | # 381 | # Misc. obscure options. 382 | # 383 | CT_CC_CXA_ATEXIT=y 384 | # CT_CC_GCC_DISABLE_PCH is not set 385 | CT_CC_GCC_SJLJ_EXCEPTIONS=m 386 | CT_CC_GCC_LDBL_128=m 387 | # CT_CC_GCC_BUILD_ID is not set 388 | 389 | # 390 | # C-library 391 | # 392 | CT_LIBC="glibc" 393 | CT_LIBC_VERSION="2.12.2" 394 | # CT_LIBC_eglibc is not set 395 | CT_LIBC_glibc=y 396 | # CT_LIBC_uClibc is not set 397 | CT_LIBC_eglibc_AVAILABLE=y 398 | CT_LIBC_glibc_AVAILABLE=y 399 | # CT_LIBC_GLIBC_V_2_17 is not set 400 | # CT_LIBC_GLIBC_V_2_16_0 is not set 401 | # CT_LIBC_GLIBC_V_2_15 is not set 402 | # CT_LIBC_GLIBC_V_2_14_1 is not set 403 | # CT_LIBC_GLIBC_V_2_14 is not set 404 | # CT_LIBC_GLIBC_V_2_13 is not set 405 | CT_LIBC_GLIBC_V_2_12_2=y 406 | # CT_LIBC_GLIBC_V_2_12_1 is not set 407 | # CT_LIBC_GLIBC_V_2_11_1 is not set 408 | # CT_LIBC_GLIBC_V_2_11 is not set 409 | # CT_LIBC_GLIBC_V_2_10_1 is not set 410 | # CT_LIBC_GLIBC_V_2_9 is not set 411 | # CT_LIBC_GLIBC_V_2_8 is not set 412 | CT_LIBC_mingw_AVAILABLE=y 413 | CT_LIBC_newlib_AVAILABLE=y 414 | CT_LIBC_none_AVAILABLE=y 415 | CT_LIBC_uClibc_AVAILABLE=y 416 | CT_LIBC_SUPPORT_THREADS_ANY=y 417 | CT_LIBC_SUPPORT_NPTL=y 418 | CT_THREADS="nptl" 419 | 420 | # 421 | # Common C library options 422 | # 423 | CT_THREADS_NPTL=y 424 | CT_LIBC_XLDD=y 425 | CT_LIBC_glibc_familly=y 426 | CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" 427 | CT_LIBC_GLIBC_CONFIGPARMS="" 428 | CT_LIBC_GLIBC_EXTRA_CFLAGS="" 429 | CT_LIBC_EXTRA_CC_ARGS="" 430 | # CT_LIBC_ENABLE_FORTIFIED_BUILD is not set 431 | # CT_LIBC_DISABLE_VERSIONING is not set 432 | CT_LIBC_OLDEST_ABI="" 433 | CT_LIBC_GLIBC_FORCE_UNWIND=y 434 | # CT_LIBC_GLIBC_USE_PORTS is not set 435 | CT_LIBC_ADDONS_LIST="" 436 | # CT_LIBC_LOCALES is not set 437 | # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set 438 | CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y 439 | # CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set 440 | CT_LIBC_GLIBC_MIN_KERNEL="3.6.11" 441 | 442 | # 443 | # glibc other options 444 | # 445 | 446 | # 447 | # Debug facilities 448 | # 449 | CT_DEBUG_dmalloc=y 450 | CT_DMALLOC_V_5_5_2=y 451 | CT_DMALLOC_VERSION="5.5.2" 452 | CT_DEBUG_duma=y 453 | CT_DUMA_A=y 454 | CT_DUMA_SO=y 455 | CT_DUMA_V_2_5_15=y 456 | CT_DUMA_VERSION="2_5_15" 457 | CT_DEBUG_gdb=y 458 | CT_GDB_CROSS=y 459 | # CT_GDB_CROSS_STATIC is not set 460 | # CT_GDB_CROSS_SIM is not set 461 | CT_GDB_CROSS_PYTHON=y 462 | CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" 463 | CT_GDB_NATIVE=y 464 | # CT_GDB_NATIVE_STATIC is not set 465 | CT_GDB_GDBSERVER=y 466 | CT_GDB_GDBSERVER_STATIC=y 467 | 468 | # 469 | # gdb version 470 | # 471 | # CT_DEBUG_GDB_SHOW_LINARO is not set 472 | # CT_GDB_V_7_4_1 is not set 473 | # CT_GDB_V_7_4 is not set 474 | # CT_GDB_V_7_3_1 is not set 475 | # CT_GDB_V_7_3a is not set 476 | # CT_GDB_V_7_2a is not set 477 | # CT_GDB_V_7_1a is not set 478 | # CT_GDB_V_7_0_1a is not set 479 | # CT_GDB_V_7_0a is not set 480 | CT_GDB_V_6_8a=y 481 | # CT_GDB_CUSTOM is not set 482 | CT_GDB_VERSION="6.8a" 483 | CT_DEBUG_ltrace=y 484 | CT_LTRACE_V_0_5_3=y 485 | # CT_LTRACE_V_0_5_2 is not set 486 | CT_LTRACE_VERSION="0.5.3" 487 | CT_LTRACE_0_5_3_or_later=y 488 | CT_DEBUG_strace=y 489 | # CT_STRACE_V_4_6 is not set 490 | # CT_STRACE_V_4_5_20 is not set 491 | CT_STRACE_V_4_5_19=y 492 | # CT_STRACE_V_4_5_18 is not set 493 | CT_STRACE_VERSION="4.5.19" 494 | 495 | # 496 | # Companion libraries 497 | # 498 | CT_COMPLIBS_NEEDED=y 499 | CT_GMP_NEEDED=y 500 | CT_MPFR_NEEDED=y 501 | CT_PPL_NEEDED=y 502 | CT_CLOOG_NEEDED=y 503 | CT_MPC_NEEDED=y 504 | CT_COMPLIBS=y 505 | CT_GMP=y 506 | CT_MPFR=y 507 | CT_PPL=y 508 | CT_CLOOG=y 509 | CT_MPC=y 510 | CT_LIBELF_TARGET=y 511 | # CT_GMP_V_5_0_2 is not set 512 | # CT_GMP_V_5_0_1 is not set 513 | CT_GMP_V_4_3_2=y 514 | # CT_GMP_V_4_3_1 is not set 515 | # CT_GMP_V_4_3_0 is not set 516 | CT_GMP_VERSION="4.3.2" 517 | # CT_MPFR_V_3_1_0 is not set 518 | # CT_MPFR_V_3_0_1 is not set 519 | # CT_MPFR_V_3_0_0 is not set 520 | CT_MPFR_V_2_4_2=y 521 | # CT_MPFR_V_2_4_1 is not set 522 | # CT_MPFR_V_2_4_0 is not set 523 | CT_MPFR_VERSION="2.4.2" 524 | # CT_PPL_V_0_11_2 is not set 525 | # CT_PPL_V_0_11_1 is not set 526 | CT_PPL_V_0_11=y 527 | # CT_PPL_V_0_10_2 is not set 528 | CT_PPL_VERSION="0.11" 529 | CT_PPL_0_11=y 530 | CT_PPL_NEEDS_LIBPWL=y 531 | CT_CLOOG_V_0_15_11=y 532 | # CT_CLOOG_V_0_15_10 is not set 533 | # CT_CLOOG_V_0_15_9 is not set 534 | # CT_CLOOG_V_0_15_8 is not set 535 | # CT_CLOOG_V_0_15_7 is not set 536 | # CT_CLOOG_V_0_15_6 is not set 537 | CT_CLOOG_VERSION="0.15.11" 538 | CT_CLOOG_0_15_1x=y 539 | CT_CLOOG_NEEDS_AUTORECONF=y 540 | # CT_MPC_V_0_9 is not set 541 | CT_MPC_V_0_8_2=y 542 | # CT_MPC_V_0_8_1 is not set 543 | # CT_MPC_V_0_7 is not set 544 | CT_MPC_VERSION="0.8.2" 545 | 546 | # 547 | # libelf version needed to build for target 548 | # 549 | CT_LIBELF_V_0_8_13=y 550 | # CT_LIBELF_V_0_8_12 is not set 551 | CT_LIBELF_VERSION="0.8.13" 552 | 553 | # 554 | # Companion libraries common options 555 | # 556 | # CT_COMPLIBS_CHECK is not set 557 | 558 | # 559 | # Companion tools 560 | # 561 | 562 | # 563 | # READ HELP before you say 'Y' below !!! 564 | # 565 | # CT_COMP_TOOLS is not set 566 | 567 | # 568 | # Test suite 569 | # 570 | CT_TEST_SUITE=y 571 | CT_TEST_SUITE_GCC=y 572 | -------------------------------------------------------------------------------- /board/vcomex/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disk partitions sizes. first empty hole needed for grub 2 | export LFS_DISK_EMPTY_SIZE=2 3 | export LFS_DISK_BOOT_SIZE=128 4 | export LFS_DISK_ROOT_SIZE=256 5 | export LFS_DISK_APP_SIZE=256 6 | 7 | # filesystems 8 | export LFS_DISK_ROOT_FS=ext3 9 | export LFS_DISK_APP_FS=ext3 10 | 11 | # archi 12 | export LFS_TARGET_ARCH=i386 13 | export LFS_CROSS_COMPILE=$LFS_CROSS_COMPILE_x86 14 | 15 | # softwares 16 | export LFS_LINUX_VERS=3.6.11 17 | export LFS_LINUX_ARCH=x86 18 | export LFS_PCIUTILS_VERS=3.1.10 19 | export LFS_GRUB_VERS=2.00 20 | export LFS_NTPD_VERS=1.0 21 | 22 | . $LFS_TOP_DIR/board/common/do_conf.sh 23 | -------------------------------------------------------------------------------- /doc/new.notes: -------------------------------------------------------------------------------- 1 | A LFS disk consists of 3 partitions: 2 | . boot: not mounted, contains the bootloader, fat 3 | . root: mounted read only in /, contains the system root, squashfs 4 | . app: mounted read write in /app, contains the application data, ext3 5 | 6 | The LFS tool produces 2 types of outputs: 7 | . a raw image ready to be flashed to a disk (xxx.lfs.disk), 8 | . a compressed package (xxx.lfs.parts) containing individual 9 | partitions along with a description to access them inside 10 | the package and to store them in the disk. 11 | 12 | 13 | [ disk structure ] 14 | 15 | order must be conserved because of LINUX command line 16 | [boot=128][boot] 17 | [root=512][root] 18 | [app=256][app] 19 | [unused_or_conf 256] 20 | -> 2GB layout 21 | 22 | 23 | [ partition layout ] 24 | 25 | typedef struct lfs_part_desc 26 | { 27 | #define LFS_PART_BOOT (1 << 0) 28 | #define LFS_PART_ROOT (1 << 1) 29 | #define LFS_PART_APP (1 << 2) /* or maybe: data */ 30 | #define LFS_PART_INVALID (1 << 3) 31 | uint8_t flags; 32 | 33 | /* partition in package */ 34 | uint64_t poff; 35 | uint64_t psize; /* can be less than dsize */ 36 | 37 | /* partition in disk */ 38 | uint64_t doff; 39 | uint64_t dsize; 40 | 41 | } lfs_part_desc_t; 42 | 43 | typedef struct lfs_pak_desc 44 | { 45 | uint8_t vers; 46 | lfs_part_desc_t part[4]; 47 | } lfs_pak_desc_t; 48 | 49 | 50 | [ initial install procedure ] 51 | 52 | the disk file produced by LFS (xxx.disk) is stored in the 53 | physical disk (embedded flash, microsd, hard drive ...) as 54 | is using a tool such as dd. 55 | 56 | a second method is to use the partition package and a LFS 57 | specific tool (lfs_dd). 58 | 59 | 60 | [ update procedure ] 61 | 62 | any partition non present in the partition package must be 63 | preserved as it is on disk. to do so, use a partition allocator 64 | instead of the current scheme. 65 | 66 | 67 | lfs_update_init(lfs_update_t*, const uint8_t* buf, size_t size) 68 | { 69 | /* buf the partition package buffer */ 70 | /* size the buffer size */ 71 | 72 | /* list the existing partition from mbr */ 73 | } 74 | -------------------------------------------------------------------------------- /doc/tex/main.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/doc/tex/main.pdf -------------------------------------------------------------------------------- /doc/todo: -------------------------------------------------------------------------------- 1 | [ TODO ] 2 | 3 | [[ filesystems ]] 4 | ubifs 5 | squashfs 6 | noatime to avoid accessing meta at each access 7 | mount ronly to avoid write 8 | 9 | 10 | [[ merge flash tools ]] 11 | 12 | [[ use BASH arrays instead of strings ]] 13 | LFS_THIS_SOFT_DEP[] 14 | LFS_THIS_SOFT_URL[] 15 | 16 | [[ rewrite software installation process ]] 17 | refer to tex/main/theo/software_installation_process 18 | 19 | [[ soft/uboot ]] 20 | to do 21 | 22 | [[ soft/crosstool-ng ]] 23 | to do 24 | 25 | [[ patches ]] 26 | patches to apply to a soft after extraction 27 | 28 | [[ partition types ]] 29 | specify boot and root partition types in globals 30 | LFS_DISK_BOOT_FS_TYPE 31 | LFS_DISK_ROOT_FS_TYPE 32 | 33 | [[ error handler ]] 34 | register a list of actions to take on error, esp. losetup -d, umount 35 | and rm tmp files 36 | 37 | [[ configure LFS_ENABLE_PRESS_ENTER ]] 38 | -> LFS should print a full summary of the disk operations to 39 | perform and then as the user for confirmation. after that, no 40 | more asking is done 41 | 42 | [[ remove -e $LFS_DISK_xxx_IMAGE tests ]] 43 | 44 | [[ lfs_xxx.sh ]] 45 | rename do_xxx in lfs_xxx 46 | 47 | [[ debugging ]] 48 | introduce LFS_THIS_SOFT_VERBOSITY 49 | 50 | [[ sparse disk ]] 51 | 52 | [[ dual partitioning for upgrade ]] 53 | -------------------------------------------------------------------------------- /env/comex004/10_segfs: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Mounting segfs: " 8 | < /proc/mounts grep segfs || mount -t nfs -overs=3,rw,rsize=8192,wsize=8192,nolock segsrv:/segfs /segfs 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Unmounting segfs: " 13 | < /proc/mounts grep segfs && umount /segfs 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /env/comex004/ash_profile: -------------------------------------------------------------------------------- 1 | . /etc/dance/profile 2 | export PATH=$PATH:/sbin:/bin:/usr/sbin:/usr/bin:$DANCE_BIN_DIR 3 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DANCE_LIB_DIR 4 | -------------------------------------------------------------------------------- /env/comex004/do_post_rootfs.sh: -------------------------------------------------------------------------------- 1 | this_dir=$LFS_TOP_DIR/env/$LFS_THIS_ENV_NAME 2 | 3 | cp $this_dir/interface.eth0 $LFS_TARGET_INSTALL_DIR/etc/network.d/ 4 | cp $this_dir/network.conf $LFS_TARGET_INSTALL_DIR/etc/ 5 | cp $this_dir/resolv.conf $LFS_TARGET_INSTALL_DIR/etc/ 6 | 7 | cp $this_dir/10_segfs $LFS_TARGET_INSTALL_DIR/etc/init.d 8 | mkdir -p $LFS_TARGET_INSTALL_DIR/segfs 9 | chmod 755 $LFS_TARGET_INSTALL_DIR/etc/init.d/10_segfs 10 | 11 | cp $this_dir/shadow $LFS_TARGET_INSTALL_DIR/etc/ 12 | 13 | cp $this_dir/ash_profile $LFS_TARGET_INSTALL_DIR/home/root/.profile 14 | chmod 755 $LFS_TARGET_INSTALL_DIR/home/root/.profile 15 | 16 | cp $this_dir/inittab $LFS_TARGET_INSTALL_DIR/etc/ 17 | -------------------------------------------------------------------------------- /env/comex004/inittab: -------------------------------------------------------------------------------- 1 | ::sysinit:/etc/rc.d/startup 2 | console::respawn:/sbin/getty -L 115200 console 3 | ::shutdown:/etc/rc.d/shutdown 4 | ::ctrlaltdel:/sbin/reboot 5 | -------------------------------------------------------------------------------- /env/comex004/interface.eth0: -------------------------------------------------------------------------------- 1 | INTERFACE=eth0 2 | DHCP=no 3 | IPADDRESS=172.24.154.34 4 | NETMASK=255.255.254.0 5 | BROADCAST=172.24.155.255 6 | -------------------------------------------------------------------------------- /env/comex004/network.conf: -------------------------------------------------------------------------------- 1 | NETWORKING=yes 2 | USE_GATEWAY=yes 3 | GATEWAY=172.24.154.1 -------------------------------------------------------------------------------- /env/comex004/resolv.conf: -------------------------------------------------------------------------------- 1 | search esrf.fr 2 | nameserver 160.103.209.9 3 | nameserver 160.103.208.9 -------------------------------------------------------------------------------- /env/comex004/shadow: -------------------------------------------------------------------------------- 1 | root:d7WHIqlP0qW2o:15071:0:99999:7::: 2 | -------------------------------------------------------------------------------- /env/esrf/10_segfs: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | is_alive=no 8 | ping segsrv > /dev/null 2>&1 && is_alive=yes 9 | if [ $is_alive == 'yes' ]; then 10 | echo -n "Mounting segfs: " 11 | < /proc/mounts grep segfs || mount -t nfs -overs=3,rw,rsize=8192,wsize=8192,nolock segsrv:/segfs /segfs 12 | check_status 13 | fi 14 | ;; 15 | stop) 16 | echo -n "Unmounting segfs: " 17 | < /proc/mounts grep segfs && umount /segfs 18 | check_status 19 | ;; 20 | restart) 21 | $0 stop 22 | $0 start 23 | ;; 24 | *) 25 | echo "Usage: $0 {start|stop|restart}" 26 | exit 1 27 | esac 28 | -------------------------------------------------------------------------------- /env/esrf/ash_profile: -------------------------------------------------------------------------------- 1 | . /etc/dance/profile 2 | export PATH=$PATH:/sbin:/bin:/usr/sbin:/usr/bin:$DANCE_BIN_DIR 3 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DANCE_LIB_DIR 4 | -------------------------------------------------------------------------------- /env/esrf/do_post_rootfs.sh: -------------------------------------------------------------------------------- 1 | this_dir=$LFS_TOP_DIR/env/$LFS_THIS_ENV_NAME 2 | 3 | cp $this_dir/interface.eth0 $LFS_TARGET_INSTALL_DIR/etc/network.d/ 4 | cp $this_dir/network.conf $LFS_TARGET_INSTALL_DIR/etc/ 5 | cp $this_dir/resolv.conf $LFS_TARGET_INSTALL_DIR/etc/ 6 | cp $this_dir/udhcpc.conf $LFS_TARGET_INSTALL_DIR/etc/ 7 | 8 | cp $this_dir/10_segfs $LFS_TARGET_INSTALL_DIR/etc/init.d 9 | mkdir -p $LFS_TARGET_INSTALL_DIR/segfs 10 | chmod 755 $LFS_TARGET_INSTALL_DIR/etc/init.d/10_segfs 11 | 12 | cp $this_dir/shadow $LFS_TARGET_INSTALL_DIR/etc/ 13 | 14 | cp $this_dir/ash_profile $LFS_TARGET_INSTALL_DIR/home/root/.profile 15 | chmod 755 $LFS_TARGET_INSTALL_DIR/home/root/.profile 16 | 17 | cp $this_dir/inittab $LFS_TARGET_INSTALL_DIR/etc/ 18 | -------------------------------------------------------------------------------- /env/esrf/inittab: -------------------------------------------------------------------------------- 1 | ::sysinit:/etc/rc.d/startup 2 | console::respawn:/sbin/getty -L 115200 console 3 | ::shutdown:/etc/rc.d/shutdown 4 | ::ctrlaltdel:/sbin/reboot 5 | -------------------------------------------------------------------------------- /env/esrf/interface.eth0: -------------------------------------------------------------------------------- 1 | INTERFACE=eth0 2 | DHCP=yes 3 | -------------------------------------------------------------------------------- /env/esrf/network.conf: -------------------------------------------------------------------------------- 1 | NETWORKING=yes 2 | USE_GATEWAY=yes 3 | GATEWAY=160.103.56.99 4 | -------------------------------------------------------------------------------- /env/esrf/resolv.conf: -------------------------------------------------------------------------------- 1 | search esrf.fr 2 | nameserver 160.103.209.9 3 | nameserver 160.103.208.9 -------------------------------------------------------------------------------- /env/esrf/shadow: -------------------------------------------------------------------------------- 1 | root:d7WHIqlP0qW2o:15071:0:99999:7::: 2 | -------------------------------------------------------------------------------- /env/esrf/udhcpc.conf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # udhcpc Interface Configuration 3 | # Based on http://lists.debian.org/debian-boot/2002/11/msg00500.html 4 | # udhcpc script edited by Tim Riker 5 | 6 | [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 7 | 8 | RESOLV_CONF="/etc/resolv.conf" 9 | RESOLV_BAK="/etc/resolv.bak" 10 | 11 | [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" 12 | [ -n "$subnet" ] && NETMASK="netmask $subnet" 13 | 14 | case "$1" in 15 | deconfig) 16 | if [ -f "$RESOLV_BAK" ]; then 17 | mv "$RESOLV_BAK" "$RESOLV_CONF" 18 | fi 19 | /sbin/ifconfig $interface 192.168.0.1 netmask 255.255.255.0 20 | ;; 21 | 22 | renew|bound) 23 | /sbin/ifconfig $interface $ip $BROADCAST $NETMASK 24 | 25 | [ -n "$hostname" ] && hostname $hostname; 26 | 27 | if [ -n "$router" ] ; then 28 | while route del default gw 0.0.0.0 dev $interface ; do 29 | true 30 | done 31 | 32 | for i in $router ; do 33 | route add default gw $i dev $interface 34 | done 35 | fi 36 | 37 | if [ ! -f "$RESOLV_BAK" ] && [ -f "$RESOLV_CONF" ]; then 38 | mv "$RESOLV_CONF" "$RESOLV_BAK" 39 | fi 40 | 41 | echo -n > $RESOLV_CONF 42 | [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF 43 | for i in $dns ; do 44 | echo nameserver $i >> $RESOLV_CONF 45 | done 46 | ;; 47 | esac 48 | 49 | exit 0 50 | -------------------------------------------------------------------------------- /env/home/do_post_rootfs.sh: -------------------------------------------------------------------------------- 1 | this_dir=$LFS_TOP_DIR/env/$LFS_THIS_ENV_NAME 2 | 3 | cp $this_dir/interface.eth0 $LFS_TARGET_INSTALL_DIR/etc/network.d/ 4 | cp $this_dir/network.conf $LFS_TARGET_INSTALL_DIR/etc/ 5 | cp $this_dir/resolv.conf $LFS_TARGET_INSTALL_DIR/etc/ 6 | -------------------------------------------------------------------------------- /env/home/interface.eth0: -------------------------------------------------------------------------------- 1 | INTERFACE=eth0 2 | DHCP=no 3 | IPADDRESS=192.168.0.42 4 | NETMASK=255.255.255.0 5 | BROADCAST=192.168.0.255 6 | -------------------------------------------------------------------------------- /env/home/network.conf: -------------------------------------------------------------------------------- 1 | NETWORKING=yes 2 | USE_GATEWAY=yes 3 | GATEWAY=192.168.0.254 4 | -------------------------------------------------------------------------------- /env/home/resolv.conf: -------------------------------------------------------------------------------- 1 | nameserver 212.27.40.240 2 | nameserver 212.27.40.241 3 | -------------------------------------------------------------------------------- /env/qemu/10_dropbear: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Starting dropbear: " 8 | /usr/bin/dropbear -p 15000 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Stopping dropbear: " 13 | killall dropbear 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /env/qemu/do_post_rootfs.sh: -------------------------------------------------------------------------------- 1 | this_dir=$LFS_TOP_DIR/env/$LFS_THIS_ENV_NAME 2 | boot_dir=$LFS_TARGET_INSTALL_DIR/boot 3 | 4 | cp $this_dir/interface.eth0 $LFS_TARGET_INSTALL_DIR/etc/network.d/ 5 | cp $this_dir/network.conf $LFS_TARGET_INSTALL_DIR/etc/ 6 | 7 | # do not install resolv.conf, or dropbear is very slow at accepting connections 8 | # cp $this_dir/resolv.conf $LFS_TARGET_INSTALL_DIR/etc/ 9 | [ -e $LFS_TARGET_INSTALL_DIR/etc/resolv.conf ] && rm $LFS_TARGET_INSTALL_DIR/etc/resolv.conf 10 | 11 | cp $this_dir/shadow $LFS_TARGET_INSTALL_DIR/etc/ 12 | 13 | cp $this_dir/10_dropbear $LFS_TARGET_INSTALL_DIR/etc/init.d 14 | chmod 755 $LFS_TARGET_INSTALL_DIR/etc/init.d/10_dropbear 15 | 16 | cp $this_dir/grub.cfg $boot_dir/grub/grub.cfg 17 | sed -i -e "s/LFS_LINUX_VERS/$LFS_LINUX_VERS/g" $boot_dir/grub/grub.cfg > /dev/null 2>&1 18 | 19 | # no cross compile, copy local libs 20 | cp -rf /lib/x86_64-linux-gnu $LFS_TARGET_INSTALL_DIR/lib/ 21 | cp -rf /lib64 $LFS_TARGET_INSTALL_DIR/ 22 | -------------------------------------------------------------------------------- /env/qemu/grub.cfg: -------------------------------------------------------------------------------- 1 | set default=0 2 | set timeout=0 3 | 4 | insmod fat 5 | 6 | set root=(hd0,2) 7 | menuentry "vmlinuz-LFS_LINUX_VERS" { 8 | linux /vmlinuz-LFS_LINUX_VERS root=/dev/sda3 noapic rootwait ro 9 | } 10 | -------------------------------------------------------------------------------- /env/qemu/interface.eth0: -------------------------------------------------------------------------------- 1 | INTERFACE=eth0 2 | DHCP=no 3 | IPADDRESS=192.168.0.1 4 | NETMASK=255.255.255.0 5 | BROADCAST=192.168.0.255 6 | -------------------------------------------------------------------------------- /env/qemu/network.conf: -------------------------------------------------------------------------------- 1 | NETWORKING=yes 2 | USE_GATEWAY=yes 3 | GATEWAY=192.168.0.254 4 | -------------------------------------------------------------------------------- /env/qemu/resolv.conf: -------------------------------------------------------------------------------- 1 | nameserver 212.27.40.240 2 | nameserver 212.27.40.241 3 | -------------------------------------------------------------------------------- /env/qemu/shadow: -------------------------------------------------------------------------------- 1 | root:d7WHIqlP0qW2o:15071:0:99999:7::: 2 | -------------------------------------------------------------------------------- /env/stick/10_segfs: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Mounting segfs: " 8 | < /proc/mounts grep segfs || mount -t nfs -overs=3,rw,rsize=8192,wsize=8192,nolock segsrv:/segfs /segfs 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Unmounting segfs: " 13 | < /proc/mounts grep segfs && umount /segfs 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /env/stick/ash_profile: -------------------------------------------------------------------------------- 1 | . /etc/dance/profile 2 | export PATH=$PATH:/sbin:/bin:/usr/sbin:/usr/bin:$DANCE_BIN_DIR 3 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DANCE_LIB_DIR 4 | -------------------------------------------------------------------------------- /env/stick/do_post_rootfs.sh: -------------------------------------------------------------------------------- 1 | this_dir=$LFS_TOP_DIR/env/$LFS_THIS_ENV_NAME 2 | 3 | cp $this_dir/interface.eth0 $LFS_TARGET_INSTALL_DIR/etc/network.d/ 4 | cp $this_dir/network.conf $LFS_TARGET_INSTALL_DIR/etc/ 5 | cp $this_dir/resolv.conf $LFS_TARGET_INSTALL_DIR/etc/ 6 | 7 | cp $this_dir/10_segfs $LFS_TARGET_INSTALL_DIR/etc/init.d 8 | mkdir -p $LFS_TARGET_INSTALL_DIR/segfs 9 | chmod 755 $LFS_TARGET_INSTALL_DIR/etc/init.d/10_segfs 10 | 11 | cp $this_dir/shadow $LFS_TARGET_INSTALL_DIR/etc/ 12 | 13 | cp $this_dir/ash_profile $LFS_TARGET_INSTALL_DIR/home/root/.profile 14 | chmod 755 $LFS_TARGET_INSTALL_DIR/home/root/.profile 15 | 16 | cp $this_dir/inittab $LFS_TARGET_INSTALL_DIR/etc/ 17 | -------------------------------------------------------------------------------- /env/stick/inittab: -------------------------------------------------------------------------------- 1 | ::sysinit:/etc/rc.d/startup 2 | console::respawn:/sbin/getty -L 115200 console 3 | ::shutdown:/etc/rc.d/shutdown 4 | ::ctrlaltdel:/sbin/reboot 5 | -------------------------------------------------------------------------------- /env/stick/interface.eth0: -------------------------------------------------------------------------------- 1 | INTERFACE=eth0 2 | DHCP=no 3 | IPADDRESS=172.24.154.34 4 | BROADCAST=255.255.254.0 5 | NETMASK=172.24.155.255 6 | -------------------------------------------------------------------------------- /env/stick/network.conf: -------------------------------------------------------------------------------- 1 | NETWORKING=yes 2 | USE_GATEWAY=yes 3 | GATEWAY=172.24.154.1 4 | -------------------------------------------------------------------------------- /env/stick/resolv.conf: -------------------------------------------------------------------------------- 1 | search esrf.fr 2 | nameserver 160.103.209.9 3 | nameserver 160.103.208.9 -------------------------------------------------------------------------------- /env/stick/shadow: -------------------------------------------------------------------------------- 1 | root:d7WHIqlP0qW2o:15071:0:99999:7::: 2 | -------------------------------------------------------------------------------- /sh/do_default_globals.sh: -------------------------------------------------------------------------------- 1 | export_if_empty LFS_WORK_DIR $LFS_TOP_DIR/_work_$LFS_THIS_BOARD_NAME\_$LFS_THIS_ENV_NAME 2 | export_if_empty LFS_TAR_DIR $LFS_WORK_DIR/tar 3 | export_if_empty LFS_SRC_DIR $LFS_WORK_DIR/src 4 | export_if_empty LFS_TARGET_INSTALL_DIR $LFS_WORK_DIR/target_install 5 | export_if_empty LFS_HOST_INSTALL_DIR $LFS_WORK_DIR/host_install 6 | export_if_empty LFS_SDK_DIR $LFS_WORK_DIR/sdk 7 | export_if_empty LFS_BUILD_DIR $LFS_WORK_DIR/build 8 | export_if_empty LFS_CROSS_COMPILE '' 9 | export_if_empty LFS_HOST_ARCH `uname -m` 10 | export_if_empty LFS_DISK_DEV '' 11 | export_if_empty LFS_DISK_IMAGE $LFS_WORK_DIR/disk 12 | export_if_empty LFS_DISK_EMPTY_SIZE 0 13 | export_if_empty LFS_DISK_BOOT_SIZE 0 14 | export_if_empty LFS_DISK_ROOT_SIZE 0 15 | export_if_empty LFS_DISK_APP_SIZE 0 16 | export_if_empty LFS_DISK_BOOT_FS vfat 17 | export_if_empty LFS_DISK_ROOT_FS ext3 18 | export_if_empty LFS_DISK_APP_FS ext3 19 | -------------------------------------------------------------------------------- /sh/do_install_soft.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | LFS_IS_SOURCED=1 3 | . $LFS_TOP_DIR/sh/do_lfs.sh 4 | LFS_THIS_SOFT_NAME=$1 5 | do_one_soft 6 | -------------------------------------------------------------------------------- /sh/do_user_globals.sh: -------------------------------------------------------------------------------- 1 | # toolchains 2 | export LFS_CROSS_COMPILE_x86=$LFS_HOST_INSTALL_DIR/i686-nptl-linux-gnu/bin/i686-nptl-linux-gnu- 3 | export LFS_CROSS_COMPILE_x86_64=/usr/bin/ 4 | export LFS_CROSS_COMPILE_armv6=$LFS_HOST_INSTALL_DIR/armv6-rpi-linux-gnueabi/bin/armv6-rpi-linux-gnueabi- 5 | export LFS_CROSS_COMPILE_armv7=$LFS_HOST_INSTALL_DIR/armv6-rpi-linux-gnueabi/bin/armv6-rpi-linux-gnueabi- 6 | 7 | case "$HOSTNAME" in 8 | *) 9 | # proxy settings 10 | export http_proxy=http://proxy.esrf.fr:3128 11 | export https_proxy=https://proxy.esrf.fr:3128 12 | export LFS_CROSS_COMPILE_x86=/segfs/linux/dance_sdk/toolchain/i686-nptl-linux-gnu/bin/i686-nptl-linux-gnu- 13 | export LFS_CROSS_COMPILE_armv7=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/arm-buildroot-linux-uclibcgnueabi- 14 | ;; 15 | esac 16 | -------------------------------------------------------------------------------- /soft/bare/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | # select dance_sdk_platform 2 | # CROSS_COMPILE is set by the build environment 3 | 4 | case $LFS_THIS_BOARD_NAME in 5 | comex|seco_x86) dance_sdk_platform='kontron_type10' ;; 6 | conga_imx6) dance_sdk_platform='conga_imx6' ;; 7 | seco_imx6) dance_sdk_platform='seco_imx6' ;; 8 | seco_uimx6) dance_sdk_platform='seco_uimx6' ;; 9 | rpi3) dance_sdk_platform='seco_imx6' ;; 10 | *) dance_sdk_platform='local' ;; 11 | esac 12 | 13 | if [ -z $DANCE_SDK_ROOT ]; then 14 | export DANCE_SDK_ROOT=/segfs/linux/dance_sdk 15 | fi 16 | 17 | d=$LFS_TARGET_INSTALL_DIR/bin/dance 18 | mkdir -p $d 19 | 20 | cd $LFS_THIS_SOFT_SRC/instruments/bare/firmware/controller 21 | make DANCE_SDK_PLATFORM=$dance_sdk_platform DANCE_SDK_DEV_DIR=$LFS_THIS_SOFT_SRC/components devel 22 | cp $LFS_THIS_SOFT_SRC/instruments/bare/firmware/controller/bare $d/bare 23 | -------------------------------------------------------------------------------- /soft/bare/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z "$LFS_THIS_APP_NAME" ] && return 2 | [ $LFS_THIS_APP_NAME != 'bare' ] && return 3 | 4 | LFS_THIS_SOFT_IS_ENABLED=1 5 | LFS_THIS_SOFT_URL=byhand 6 | LFS_THIS_SOFT_BUILD_METHOD=byhand 7 | LFS_THIS_SOFT_DEPS='dance' 8 | -------------------------------------------------------------------------------- /soft/bare/do_post_build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/bare/do_post_build.sh -------------------------------------------------------------------------------- /soft/bare/do_retrieve_byhand.sh: -------------------------------------------------------------------------------- 1 | # assume LFS_THIS_SOFT_TAR 2 | # assume LFS_THIS_SOFT_TAR_EXT 3 | 4 | # remove trailing extension 5 | tmp_path=${LFS_THIS_SOFT_TAR::-${#LFS_THIS_SOFT_TAR_EXT}} 6 | mkdir -p $tmp_path 7 | 8 | repo=https://deg-svn.esrf.fr/svn 9 | 10 | compos='libepci libespi libedma libebuf libefpak libpmem libuirq libdance' 11 | for c in $compos; do 12 | url=$repo/$c/dev 13 | svn export $url $tmp_path/components/$c ; 14 | done 15 | 16 | svn export $repo/bare/dev $tmp_path/instruments/bare ; 17 | 18 | cd `dirname $tmp_path` 19 | tar czvf $LFS_THIS_SOFT_TAR `basename $tmp_path` 20 | rm -rf $tmp_path 21 | -------------------------------------------------------------------------------- /soft/bare/do_test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # passed from command line 4 | export LFS_THIS_BOARD_NAME=seco_imx6 5 | export LFS_THIS_ENV_NAME=comex004 6 | export LFS_THIS_APP_NAME=bare 7 | 8 | # globals 9 | export LFS_TOP_DIR=`pwd`/../.. 10 | export LFS_WORK_DIR=`pwd`/tmp 11 | 12 | export LFS_IS_SOURCED=yes 13 | . $LFS_TOP_DIR/sh/do_lfs.sh 14 | 15 | do_prepare 16 | 17 | export LFS_THIS_SOFT_NAME=bare 18 | do_one_soft 19 | -------------------------------------------------------------------------------- /soft/bootscript/6q_bootscript.in: -------------------------------------------------------------------------------- 1 | 2 | # mkimage -T script -C none -n 'QMX6 boot script' -d 6q_bootscript.in 6q_bootscript 3 | set bootargs root=/dev/mmcblk${disk}p2 rootwait console=ttymxc1,115200 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 ro 4 | fatload mmc ${disk}:1 10800000 /uImage && bootm 10800000 5 | echo "Error loading kernel image" 6 | 7 | 8 | -------------------------------------------------------------------------------- /soft/bootscript/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | if [ $LFS_THIS_BOARD_NAME == 'conga_imx6' ]; then 2 | 3 | # generate bootscript in rootfs 4 | 5 | src_path=$LFS_THIS_SOFT_DIR/6q_bootscript.in 6 | 7 | # note: must be installed in the first partition 8 | # as required by congatech uboot configuration. 9 | # in our case, the first partition is /boot 10 | dst_path=$LFS_TARGET_INSTALL_DIR/boot/6q_bootscript 11 | 12 | /segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/usr/bin/mkimage \ 13 | -T script -C none -n 'QMX6 boot script' -d $src_path $dst_path 14 | 15 | elif [ $LFS_THIS_BOARD_NAME == 'bbb' ]; then 16 | 17 | dst_path=$LFS_TARGET_INSTALL_DIR/boot/uEnv.txt 18 | cp -f $LFS_THIS_BOARD_DIR/uEnv.txt $dst_path 19 | # key=initrd_file 20 | # val=initrd.img-$LFS_LINUX_VERS 21 | # sudo sed -i -e "s/^\($key\)=\(.*\)$/\1=$val/g" $dst_path 22 | 23 | fi 24 | -------------------------------------------------------------------------------- /soft/bootscript/do_conf.sh: -------------------------------------------------------------------------------- 1 | case $LFS_THIS_BOARD_NAME in 2 | bbb|conga_imx6) 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_BUILD_METHOD=byhand 5 | ;; 6 | *) 7 | ;; 8 | esac 9 | -------------------------------------------------------------------------------- /soft/busybox/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_BUSYBOX_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_BUSYBOX_VERS 5 | LFS_THIS_SOFT_BUILD_METHOD=kbuild 6 | LFS_THIS_SOFT_URL=http://www.busybox.net/downloads/busybox-$LFS_BUSYBOX_VERS.tar.bz2 7 | -------------------------------------------------------------------------------- /soft/cross_sysroot/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | basename=`basename $LFS_CROSS_COMPILE` 2 | dirname=`dirname $LFS_CROSS_COMPILE` 3 | sysroot_dir=$dirname/../${basename%?}/sysroot 4 | 5 | # reduce system size by removing .la and .a files 6 | n=${#sysroot_dir} 7 | l=`find $sysroot_dir | grep -v '.a$' | grep -v '.la$'` 8 | for s in $l; do 9 | d=$LFS_TARGET_INSTALL_DIR/${s:n} 10 | mkdir -p `dirname $d` 2> /dev/null 11 | if [ -d $d ]; then 12 | mkdir -p $d 2> /dev/null 13 | else 14 | cp -P $s $d 2> /dev/null 15 | fi 16 | done 17 | 18 | chmod -f -R 755 $LFS_TARGET_INSTALL_DIR 19 | -------------------------------------------------------------------------------- /soft/cross_sysroot/do_conf.sh: -------------------------------------------------------------------------------- 1 | LFS_THIS_SOFT_IS_ENABLED=1 2 | LFS_THIS_SOFT_BUILD_METHOD=byhand 3 | -------------------------------------------------------------------------------- /soft/crosstool-ng/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | cd $LFS_THIS_SOFT_SRC 2 | 3 | # LD_LIBRARY_PATH ctng compilation 4 | unset LD_LIBRARY_PATH 5 | 6 | # install ctng for host 7 | make clean distclean 8 | ./bootstrap 9 | ./configure --prefix=$LFS_HOST_INSTALL_DIR 10 | make install 11 | 12 | # configure the toolchain 13 | cp $LFS_THIS_BOARD_DIR/crosstool-ng-$LFS_CTNG_VERS.config .config 14 | 15 | file_path=./.config 16 | 17 | # replace CT_PREFIX_DIR 18 | key='CT_PREFIX_DIR' 19 | fu=`dirname $LFS_CROSS_COMPILE` 20 | bar=${fu/'/'bin/} 21 | val=${bar//\//\\\/} 22 | sed -i -e "s/^\($key\)=\"\(.*\)\"$/\1=\"$val\"/g" $file_path 23 | 24 | # replace CT_KERNEL_VERSION 25 | key='CT_KERNEL_VERSION' 26 | val=$LFS_LINUX_VERS 27 | sed -i -e "s/^\($key\)=\"\(.*\)\"$/\1=\"$val\"/g" $file_path 28 | 29 | # replace CT_KERNEL_V_x_y_z 30 | vers=${LFS_LINUX_VERS//./_} 31 | sed -i -e "s/^CT_KERNEL_V_\(.*\)=y$/CT_KERNEL_V_$vers=y/g" $file_path 32 | 33 | # some components (ie. gcc-4.6.0) have to be patched. we stop the build 34 | # after tarballs have been extracted, apply any required patch, then 35 | # restart the build. 36 | 37 | $LFS_HOST_INSTALL_DIR/bin/ct-ng build STOP=libc_check_config 38 | 39 | if [ -d $LFS_THIS_SOFT_SRC/.build/src/gcc-4.6.0 ]; then 40 | # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51969 41 | < $LFS_THIS_SOFT_DIR/gcc-4.6.0.diff \ 42 | patch -p1 -d $LFS_THIS_SOFT_SRC/.build/src/gcc-4.6.0 43 | fi 44 | 45 | $LFS_HOST_INSTALL_DIR/bin/ct-ng build 46 | -------------------------------------------------------------------------------- /soft/crosstool-ng/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_CTNG_VERS ] && return 2 | 3 | # do not compile if already exists 4 | [ -e $LFS_CROSS_COMPILE\gcc ] && return 5 | 6 | LFS_THIS_SOFT_IS_ENABLED=1 7 | LFS_THIS_SOFT_IS_CROSS_COMPILED=0 8 | LFS_THIS_SOFT_VERS=$LFS_CTNG_VERS 9 | LFS_THIS_SOFT_URL=http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-$LFS_CTNG_VERS.tar.bz2 10 | LFS_THIS_SOFT_BUILD_METHOD=byhand 11 | -------------------------------------------------------------------------------- /soft/crosstool-ng/gcc-4.6.0.diff: -------------------------------------------------------------------------------- 1 | --- a/gcc/gengtype.c 2010-11-25 20:03:27.000000000 +0100 2 | +++ b/gcc/gengtype.c 2013-02-12 12:41:56.050921292 +0100 3 | @@ -3598,10 +3598,9 @@ 4 | subcomponent of V, we can mark any subarrays with a single stride. 5 | We're effectively treating the field as a global variable in its 6 | own right. */ 7 | + struct pair newv; 8 | if (v && type == v->type) 9 | { 10 | - struct pair newv; 11 | - 12 | newv = *v; 13 | newv.type = field_type; 14 | newv.name = ACONCAT ((v->name, ".", field_name, NULL)); 15 | -------------------------------------------------------------------------------- /soft/dance/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | # 2 | # provide: 3 | # libepci 4 | # libtst_epci 5 | # efspi 6 | # pcycle 7 | # uirq.ko 8 | # pmem.ko 9 | 10 | 11 | # select dance_sdk_platform 12 | # CROSS_COMPILE is set by the build environment 13 | 14 | case $LFS_THIS_BOARD_NAME in 15 | comex|seco_x86) dance_sdk_platform='kontron_type10' ;; 16 | conga_imx6) dance_sdk_platform='conga_imx6' ;; 17 | seco_imx6) dance_sdk_platform='seco_imx6' ;; 18 | seco_uimx6) dance_sdk_platform='seco_uimx6' ;; 19 | rpi3) dance_sdk_platform='seco_imx6' ;; 20 | *) dance_sdk_platform='local' ;; 21 | esac 22 | 23 | if [ -z $DANCE_SDK_ROOT ]; then 24 | export DANCE_SDK_ROOT=/segfs/linux/dance_sdk 25 | fi 26 | 27 | # create rootfs directories 28 | 29 | mkdir -p $LFS_TARGET_INSTALL_DIR/lib/dance 30 | mkdir -p $LFS_TARGET_INSTALL_DIR/bin/dance 31 | mkdir -p $LFS_TARGET_INSTALL_DIR/lib/modules/$LFS_LINUX_VERS/dance 32 | 33 | 34 | # libepci 35 | 36 | cd $LFS_THIS_SOFT_SRC/components/libepci/src 37 | make DANCE_SDK_PLATFORM=$dance_sdk_platform devel 38 | cp libepci.{a,so} $LFS_TARGET_INSTALL_DIR/lib/dance/ 39 | 40 | 41 | # libtst_epci 42 | 43 | cd $LFS_THIS_SOFT_SRC/components/compat/libtst_epci 44 | make DANCE_SDK_PLATFORM=$dance_sdk_platform install_local 45 | cp -rf install/* $LFS_TARGET_INSTALL_DIR/ 46 | 47 | 48 | # efspi 49 | 50 | cd $LFS_THIS_SOFT_SRC/components/libefspi/unit/efspi 51 | make DANCE_SDK_PLATFORM=$dance_sdk_platform 52 | cp -f main $LFS_TARGET_INSTALL_DIR/bin/dance/efspi 53 | 54 | 55 | # ejtag 56 | 57 | cd $LFS_THIS_SOFT_SRC/components/libejtag/unit/ejtag 58 | make DANCE_SDK_PLATFORM=$dance_sdk_platform 59 | cp -f main $LFS_TARGET_INSTALL_DIR/bin/dance/ejtag 60 | 61 | 62 | # pcycle 63 | 64 | cd $LFS_THIS_SOFT_SRC/components/compat/pcycle 65 | make DANCE_SDK_PLATFORM=$dance_sdk_platform install_local 66 | cp -rf install/* $LFS_TARGET_INSTALL_DIR/ 67 | 68 | 69 | # uirq.ko 70 | 71 | cd $LFS_THIS_SOFT_SRC/components/libuirq/src/k 72 | make DANCE_SDK_PLATFORM=$dance_sdk_platform 73 | cp linux-$LFS_LINUX_VERS/uirq.ko $LFS_TARGET_INSTALL_DIR/lib/modules/$LFS_LINUX_VERS/dance/uirq.ko 74 | 75 | 76 | # pmem.ko 77 | 78 | cd $LFS_THIS_SOFT_SRC/components/libpmem/src/k 79 | make DANCE_SDK_PLATFORM=$dance_sdk_platform 80 | cp linux-$LFS_LINUX_VERS/pmem.ko $LFS_TARGET_INSTALL_DIR/lib/modules/$LFS_LINUX_VERS/dance/pmem.ko 81 | -------------------------------------------------------------------------------- /soft/dance/do_conf.sh: -------------------------------------------------------------------------------- 1 | is_enabled='no' 2 | [ $LFS_THIS_BOARD_NAME == 'comex' ] && is_enabled='yes' 3 | [ $LFS_THIS_BOARD_NAME == 'seco_x86' ] && is_enabled='yes' 4 | [ $LFS_THIS_BOARD_NAME == 'conga_imx6' ] && is_enabled='yes' 5 | [ $LFS_THIS_BOARD_NAME == 'seco_imx6' ] && is_enabled='yes' 6 | [ $LFS_THIS_BOARD_NAME == 'seco_uimx6' ] && is_enabled='yes' 7 | [ $LFS_THIS_BOARD_NAME == 'rpi3' ] && is_enabled='yes' 8 | [ $is_enabled == 'no' ] && return 9 | 10 | LFS_THIS_SOFT_IS_ENABLED=1 11 | LFS_THIS_SOFT_URL=byhand 12 | LFS_THIS_SOFT_BUILD_METHOD=byhand 13 | LFS_THIS_SOFT_DEPS='pciutils' 14 | -------------------------------------------------------------------------------- /soft/dance/do_post_build.sh: -------------------------------------------------------------------------------- 1 | # install init scripts 2 | initd_dir=$LFS_TARGET_INSTALL_DIR/etc/init.d 3 | [ -d $initd_dir ] || mkdir -p $initd_dir 4 | cp $LFS_THIS_SOFT_DIR/etc/init.d/20_dance $initd_dir 5 | chmod 755 $initd_dir/20_dance 6 | 7 | # install dance profile 8 | [ -d $LFS_TARGET_INSTALL_DIR/etc/dance ] || mkdir $LFS_TARGET_INSTALL_DIR/etc/dance 9 | cp $LFS_THIS_SOFT_DIR/etc/dance/profile $LFS_TARGET_INSTALL_DIR/etc/dance/profile 10 | chmod 755 $LFS_TARGET_INSTALL_DIR/etc/dance/profile 11 | -------------------------------------------------------------------------------- /soft/dance/do_retrieve_byhand.sh: -------------------------------------------------------------------------------- 1 | # assume LFS_THIS_SOFT_TAR 2 | # assume LFS_THIS_SOFT_TAR_EXT 3 | 4 | # remove trailing extension 5 | tmp_path=${LFS_THIS_SOFT_TAR::-${#LFS_THIS_SOFT_TAR_EXT}} 6 | mkdir -p $tmp_path 7 | 8 | repo=https://deg-svn.esrf.fr/svn 9 | compos='libepci libefspi libejtag libpmem libuirq compat' 10 | for c in $compos; do 11 | url=$repo/$c/dev 12 | svn export $url $tmp_path//components/$c ; 13 | done 14 | 15 | cd `dirname $tmp_path` 16 | tar czvf $LFS_THIS_SOFT_TAR `basename $tmp_path` 17 | rm -rf $tmp_path 18 | -------------------------------------------------------------------------------- /soft/dance/etc/dance/profile: -------------------------------------------------------------------------------- 1 | # this script exports dance related environment variables 2 | 3 | # note to user 4 | # to relocate the whole environement, override the variable 5 | # DANCE_TOP_DIR and then restart the dance service. example: 6 | # export DANCE_TOP_DIR=/segfs/user_working_dir/dance_devel 7 | # /etc/init.d/20_dance restart 8 | 9 | # default to local root directory 10 | [ -z $DANCE_TOP_DIR ] && export DANCE_TOP_DIR=/ 11 | 12 | # override with appfs binaries 13 | export DANCE_BIN_DIR=$DANCE_TOP_DIR/bin/dance 14 | [ -d /app/bin/dance ] && export DANCE_BIN_DIR=/app/bin/dance 15 | 16 | export DANCE_LIB_DIR=$DANCE_TOP_DIR/lib/dance 17 | export DANCE_MOD_DIR=$DANCE_TOP_DIR/lib/modules/`uname -r`/dance 18 | 19 | # DANCE_APP_NAMES is a list containing the application names that 20 | # are appended to DANCE_BIN_DIR. Note that DANCE_LIB_DIR is added 21 | # to LD_LIBRARY_PATH before the application is run. For instance: 22 | # export DANCE_APP_NAMES='first_app second_app' 23 | export DANCE_APP_NAMES='main' 24 | -------------------------------------------------------------------------------- /soft/dance/etc/init.d/10_epcidrv: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Starting epcidrv: " 8 | /sbin/insmod /lib/modules/`uname -r`/dance/epcidrv.ko 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Stopping epcidrv: " 13 | /sbin/rmmod epcidrv 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /soft/dance/etc/init.d/10_pcidrvgen: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Starting pcidrvgen: " 8 | /sbin/insmod /lib/modules/`uname -r`/dance/pcidrvgen.ko 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Stopping pcidrvgen: " 13 | /sbin/rmmod pcidrvgen 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /soft/dance/etc/init.d/20_dance: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | 4 | . /etc/rc.d/functions 5 | . /etc/dance/profile 6 | 7 | 8 | case "$1" in 9 | start) 10 | export PATH=$DANCE_BIN_DIR:$PATH 11 | export LD_LIBRARY_PATH=$DANCE_LIB_DIR:$LD_LIBRARY_PATH 12 | 13 | local err=-1 14 | 15 | for n in $DANCE_APP_NAMES; do 16 | echo -n "Starting DANCE application $n: " 17 | err=-1 18 | if [ -x $DANCE_BIN_DIR/$n ]; then 19 | $DANCE_BIN_DIR/$n > /dev/null 2>&1 & 20 | err=$? 21 | fi 22 | print_status $err 23 | [ $err != 0 ] && break ; 24 | done 25 | 26 | if [ $err != 0 ]; then 27 | # on error, kill started apps and start bare 28 | for n in $DANCE_APP_NAMES; do 29 | /sbin/kill -9 `pidof $n` 2> /dev/null 30 | done 31 | local bare_path=/bin/dance/bare 32 | if [ -x $bare_path ]; then 33 | echo -n "Starting DANCE application $bare_path: " 34 | $bare_path > /dev/null 2>&1 & 35 | err=$? 36 | fi 37 | print_status $err 38 | fi 39 | 40 | ;; 41 | stop) 42 | for n in bare $DANCE_APP_NAMES; do 43 | local pid=`pidof $n` 44 | if [ -z $pid ]; then continue; fi 45 | echo -n "Stopping DANCE application $n: " 46 | kill -9 `pidof $n` 2> /dev/null 47 | check_status 48 | done 49 | ;; 50 | restart) 51 | $0 stop 52 | $0 start 53 | ;; 54 | *) 55 | echo "Usage: $0 {start|stop|restart}" 56 | exit 1 57 | esac 58 | -------------------------------------------------------------------------------- /soft/dropbear/10_dropbear: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Starting dropbear: " 8 | /usr/bin/dropbear 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Stopping dropbear: " 13 | killall dropbear 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /soft/dropbear/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | cd $LFS_THIS_SOFT_SRC 2 | 3 | make clean distclean 4 | 5 | CC=$LFS_CROSS_COMPILE\gcc \ 6 | ./configure \ 7 | --host=$LFS_TARGET_ARCH \ 8 | --prefix=$LFS_TARGET_INSTALL_DIR \ 9 | --with-zlib=$LFS_TARGET_INSTALL_DIR/lib 10 | 11 | # add CFLAGS to fix zlib issue 12 | CFLAGS="-I$LFS_TARGET_INSTALL_DIR/include" \ 13 | make PROGRAMS="dropbear dropbearkey dbclient scp" MULTI=1 14 | 15 | # install by hand 16 | 17 | mkdir -p $LFS_TARGET_INSTALL_DIR/usr/bin/ 18 | cp dropbearmulti $LFS_TARGET_INSTALL_DIR/usr/bin/ 19 | ln -s dropbearmulti $LFS_TARGET_INSTALL_DIR/usr/bin/dbclient 20 | ln -s dropbearmulti $LFS_TARGET_INSTALL_DIR/usr/bin/scp 21 | ln -s dropbearmulti $LFS_TARGET_INSTALL_DIR/usr/bin/dropbear 22 | ln -s dropbearmulti $LFS_TARGET_INSTALL_DIR/usr/bin/dropbearkey 23 | -------------------------------------------------------------------------------- /soft/dropbear/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_DROPBEAR_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_DROPBEAR_VERS 5 | LFS_THIS_SOFT_URL=https://matt.ucc.asn.au/dropbear/releases/dropbear-$LFS_DROPBEAR_VERS.tar.gz 6 | LFS_THIS_SOFT_BUILD_METHOD=byhand 7 | LFS_THIS_SOFT_DEPS='zlib' 8 | -------------------------------------------------------------------------------- /soft/dropbear/do_post_build.sh: -------------------------------------------------------------------------------- 1 | etc_dir=$LFS_TARGET_INSTALL_DIR/etc 2 | 3 | initd_dir=$etc_dir/init.d 4 | [ -d $initd_dir ] || mkdir -p $initd_dir 5 | cp $LFS_THIS_SOFT_DIR/10_dropbear $initd_dir 6 | chmod 755 $initd_dir/10_dropbear 7 | 8 | [ -d $etc_dir/dropbear ] || mkdir $etc_dir/dropbear 9 | cp $LFS_THIS_SOFT_DIR/dropbear_dss_host_key $etc_dir/dropbear/ 10 | cp $LFS_THIS_SOFT_DIR/dropbear_rsa_host_key $etc_dir/dropbear/ 11 | -------------------------------------------------------------------------------- /soft/dropbear/dropbear_dss_host_key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/dropbear/dropbear_dss_host_key -------------------------------------------------------------------------------- /soft/dropbear/dropbear_rsa_host_key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/dropbear/dropbear_rsa_host_key -------------------------------------------------------------------------------- /soft/flash/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disabled, now shipped with the dance package 2 | 3 | # [ $LFS_THIS_BOARD_NAME != 'comex' ] && return 4 | 5 | # LFS_THIS_SOFT_IS_ENABLED=1 6 | # LFS_THIS_SOFT_DEPS='pcidrvgen libtst' 7 | # LFS_THIS_SOFT_URL=file://$LFS_THIS_SOFT_DIR/flash.tar.gz 8 | # LFS_THIS_SOFT_BUILD_METHOD=make 9 | # LFS_THIS_SOFT_MAKE_ARGS=\ 10 | # " CROSS_COMPILE=$LFS_CROSS_COMPILE"\ 11 | # " PREFIX=$LFS_TARGET_INSTALL_DIR"\ 12 | # " CFLAGS='-I$LFS_SRC_DIR/pcidrvgen -I$LFS_SRC_DIR/libtst'"\ 13 | # " LFLAGS='-L$LFS_HOST_INSTALL_DIR/usr/lib -ltstpci'" 14 | -------------------------------------------------------------------------------- /soft/flash/flash.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/flash/flash.tar.gz -------------------------------------------------------------------------------- /soft/grub/do_conf.sh: -------------------------------------------------------------------------------- 1 | # http://www.gnu.org/software/grub/ 2 | 3 | [ -z $LFS_GRUB_VERS ] && return 4 | 5 | LFS_THIS_SOFT_IS_ENABLED=1 6 | LFS_THIS_SOFT_IS_CROSS_COMPILED=0 7 | LFS_THIS_SOFT_VERS=$LFS_GRUB_VERS 8 | LFS_THIS_SOFT_URL=ftp://ftp.gnu.org/gnu/grub/grub-$LFS_GRUB_VERS.tar.gz 9 | LFS_THIS_SOFT_BUILD_METHOD=autotools 10 | -------------------------------------------------------------------------------- /soft/grub/do_post_build.sh: -------------------------------------------------------------------------------- 1 | # precreate partition table, otherwise grub-install not working 2 | # https://wiki.archlinux.org/index.php/GRUB 3 | # cf. chattr note 4 | 5 | sector_size=512 6 | mb_size=$((1024 * 1024)) 7 | mul_size=$(($mb_size / $sector_size)) 8 | mbr_size=1 9 | 10 | empty_size=$(($LFS_DISK_EMPTY_SIZE * $mul_size)) 11 | boot_size=$(($LFS_DISK_BOOT_SIZE * $mul_size)) 12 | boot_off=$(($mbr_size + $empty_size)) 13 | 14 | tmp_path=`tempfile` 15 | [ -e $tmp_path ] && do_exec rm $tmp_path 16 | if [ $empty_size != 0 ]; then 17 | echo "1,$empty_size,0," >> $tmp_path 18 | fi 19 | 20 | bootpart_type='c' 21 | [ $LFS_DISK_BOOT_FS != 'vfat' ] && bootpart_type='83' 22 | echo "$boot_off,$boot_size,$bootpart_type,*" >> $tmp_path 23 | 24 | sudo sh -c "sfdisk --no-reread -f -uS $LFS_DISK_IMAGE < $tmp_path" 25 | rm $tmp_path 26 | 27 | 28 | # install grub 29 | 30 | boot_dir=$LFS_TARGET_INSTALL_DIR/boot 31 | 32 | sudo chattr -i $boot_dir/grub/i386-pc/core.img 33 | 34 | sudo \ 35 | $LFS_HOST_INSTALL_DIR/sbin/grub-install \ 36 | --modules=part_msdos \ 37 | --boot-directory=$boot_dir \ 38 | --target=i386-pc --recheck --force \ 39 | $LFS_DISK_DEV 40 | 41 | sudo chattr +i $boot_dir/grub/i386-pc/core.img 42 | 43 | if [ "$LFS_THIS_ENV_NAME" == "stick" ]; then 44 | grub_config=$LFS_THIS_SOFT_DIR/grub_stick.cfg 45 | else 46 | case $LFS_THIS_BOARD_NAME in 47 | vcomex|backend|gen_x86_64) 48 | grub_config=$LFS_THIS_SOFT_DIR/grub_vcomex.cfg 49 | ;; 50 | seco_x86) 51 | grub_config=$LFS_THIS_SOFT_DIR/grub_seco_x86.cfg 52 | ;; 53 | *) 54 | grub_config=$LFS_THIS_SOFT_DIR/grub.cfg 55 | ;; 56 | esac 57 | fi 58 | 59 | cp $grub_config $boot_dir/grub/grub.cfg 60 | 61 | sed -i -e "s/LFS_LINUX_VERS/$LFS_LINUX_VERS/g" $boot_dir/grub/grub.cfg > /dev/null 2>&1 62 | -------------------------------------------------------------------------------- /soft/grub/grub.cfg: -------------------------------------------------------------------------------- 1 | set default=0 2 | set timeout=0 3 | 4 | insmod fat 5 | 6 | set root=(hd0,2) 7 | menuentry "vmlinuz-LFS_LINUX_VERS" { 8 | linux /vmlinuz-LFS_LINUX_VERS root=/dev/mmcblk0p3 rootwait ro console=ttyPCH1,115200 9 | } 10 | -------------------------------------------------------------------------------- /soft/grub/grub_seco_x86.cfg: -------------------------------------------------------------------------------- 1 | set default=0 2 | set timeout=0 3 | 4 | insmod fat 5 | 6 | set root=(hd0,2) 7 | menuentry "vmlinuz-LFS_LINUX_VERS" { 8 | linux /vmlinuz-LFS_LINUX_VERS root=/dev/sda3 rootwait ro 9 | } 10 | -------------------------------------------------------------------------------- /soft/grub/grub_stick.cfg: -------------------------------------------------------------------------------- 1 | set default=0 2 | set timeout=0 3 | 4 | insmod fat 5 | 6 | set root=(hd0,2) 7 | menuentry "vmlinuz-LFS_LINUX_VERS" { 8 | linux /vmlinuz-LFS_LINUX_VERS root=/dev/sdb3 rootwait ro 9 | } 10 | -------------------------------------------------------------------------------- /soft/grub/grub_vcomex.cfg: -------------------------------------------------------------------------------- 1 | set default=0 2 | set timeout=0 3 | 4 | insmod fat 5 | 6 | set root=(hd0,2) 7 | menuentry "vmlinuz-LFS_LINUX_VERS" { 8 | linux /vmlinuz-LFS_LINUX_VERS root=/dev/sda3 noapic ro 9 | } 10 | -------------------------------------------------------------------------------- /soft/libjpeg/do_conf.sh: -------------------------------------------------------------------------------- 1 | LFS_THIS_SOFT_IS_ENABLED=0 2 | # CFLAGS="-I$LFS_SDK_KERNEL_DIR/include" CC=$LFS_SDK_CROSS_COMPILE\gcc ./configure --prefix=$LFS_SDK_DEPS_DIR 3 | -------------------------------------------------------------------------------- /soft/libtst/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ $LFS_THIS_BOARD_NAME != 'comex' ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_DEPS='pcidrvgen' 5 | LFS_THIS_SOFT_URL=file://$LFS_THIS_SOFT_DIR/libtst.tar.gz 6 | LFS_THIS_SOFT_BUILD_METHOD=make 7 | 8 | LFS_THIS_SOFT_MAKE_ARGS=\ 9 | " CROSS_COMPILE=$LFS_CROSS_COMPILE"\ 10 | " PREFIX=$LFS_HOST_INSTALL_DIR"\ 11 | " CFLAGS=-I$LFS_SRC_DIR/pcidrvgen" 12 | -------------------------------------------------------------------------------- /soft/libtst/libtst.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/libtst/libtst.tar.gz -------------------------------------------------------------------------------- /soft/linux/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_LINUX_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_LINUX_VERS 5 | LFS_THIS_SOFT_DEPS='rootfs_bone' 6 | 7 | case $LFS_THIS_BOARD_NAME in 8 | rpib) LFS_THIS_SOFT_URL=https://github.com/raspberrypi/linux/archive/rpi-3.6.y.tar.gz ;; 9 | rpi3) LFS_THIS_SOFT_URL=file:///segfs/linux/dance_sdk/tarballs/rpi3/linux-$LFS_LINUX_VERS.tar.gz ;; 10 | conga_imx6) LFS_THIS_SOFT_URL=file:///segfs/linux/dance_sdk/tarballs/conga_imx6/linux-$LFS_LINUX_VERS.tar.gz ;; 11 | seco_imx6) LFS_THIS_SOFT_URL=file:///segfs/linux/dance_sdk/tarballs/seco_imx6/linux-$LFS_LINUX_VERS.tar.gz ;; 12 | seco_uimx6) LFS_THIS_SOFT_URL=file:///segfs/linux/dance_sdk/tarballs/seco_uimx6/linux-$LFS_LINUX_VERS.tar.gz ;; 13 | bbb) LFS_THIS_SOFT_URL=file:///segfs/linux/pru_sdk/tarballs/linux-$LFS_LINUX_VERS.tar.gz ;; 14 | *) LFS_THIS_SOFT_URL=http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$LFS_LINUX_VERS.tar.bz2 ;; 15 | esac 16 | 17 | LFS_THIS_SOFT_BUILD_METHOD=kbuild 18 | LFS_THIS_SOFT_KBUILD_INSTALL_PATH=$LFS_TARGET_INSTALL_DIR/boot 19 | LFS_THIS_SOFT_KBUILD_INSTALL_MOD_PATH=$LFS_TARGET_INSTALL_DIR 20 | 21 | LFS_THIS_SOFT_PATCHES='' 22 | if [ $LFS_THIS_BOARD_NAME == 'comex' ]; then 23 | case $LFS_LINUX_VERS in 24 | 3.6.11) 25 | LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.6.11_pch_gbe_main.diff" 26 | LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.6.11_pch_uart.diff" 27 | ;; 28 | esac 29 | elif [ $LFS_THIS_BOARD_NAME == 'seco_x86' ]; then 30 | case $LFS_LINUX_VERS in 31 | 3.6.11) 32 | LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.6.11_pch_gbe_main.diff" 33 | LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.6.11_pch_uart.diff" 34 | ;; 35 | esac 36 | elif [ $LFS_THIS_BOARD_NAME == 'bbb' ]; then 37 | LFS_THIS_SOFT_KBUILD_INSTALL_TARGETS='uImage dtbs uImage-dtb.am335x-boneblack' 38 | LFS_THIS_SOFT_KBUILD_INSTALL_ENV_PATH=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/usr/bin 39 | LFS_THIS_SOFT_MAKE_ARGS='LOADADDR=0x80200000' 40 | elif [ $LFS_THIS_BOARD_NAME == 'rpi3' ]; then 41 | LFS_THIS_SOFT_KBUILD_INSTALL_TARGETS='zImage modules dtbs' 42 | LFS_THIS_SOFT_KBUILD_INSTALL_ENV_PATH=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/usr/bin 43 | elif [ $LFS_THIS_BOARD_NAME == 'seco_imx6' ]; then 44 | LFS_THIS_SOFT_KBUILD_INSTALL_TARGETS='uImage' 45 | LFS_THIS_SOFT_KBUILD_INSTALL_ENV_PATH=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/usr/bin 46 | elif [ $LFS_THIS_BOARD_NAME == 'seco_uimx6' ]; then 47 | LFS_THIS_SOFT_KBUILD_INSTALL_TARGETS='uImage' 48 | LFS_THIS_SOFT_KBUILD_INSTALL_ENV_PATH=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/usr/bin 49 | elif [ $LFS_THIS_BOARD_NAME == 'conga_imx6' ]; then 50 | LFS_THIS_SOFT_KBUILD_INSTALL_TARGETS='uImage' 51 | LFS_THIS_SOFT_KBUILD_INSTALL_ENV_PATH=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/usr/bin 52 | # patches from congatech already applied to tarball. see not_patched version 53 | # case $LFS_LINUX_VERS in 54 | # 3.0.35) 55 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0000-linux-3.0.35-QMX6-2013-05-08.patch" 56 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0001-ENGR00239905-PCIe-Enable-PCIe-switch-support.patch" 57 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0001-ENGR00240650-pcie-imx-fix-ep-device-no-int-when-pcie.patch" 58 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0001-ENGR00241003-1-mx6-need-to-add-delay-in-LDO-voltage-.patch" 59 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0002-ENGR00241003-2-pfuze-using-_sel-interface-to-add-del.patch" 60 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0007-CGT000007-QMX6-Revert-ENGR00224109-MX6-FEC-optimize-ENET_REF_CLK.patch" 61 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0008-CGT000008-QMX6-Support-for-OV5640-MIPI-camera.patch" 62 | # LFS_THIS_SOFT_PATCHES=" $LFS_THIS_SOFT_PATCHES $LFS_THIS_BOARD_DIR/linux-3.0.35-patches/0009-CGT000009-QMX6-Fix-incorrect-sound-playback-speed.patch" 63 | # ;; 64 | # esac 65 | fi 66 | -------------------------------------------------------------------------------- /soft/linux/do_post_build.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_LINUX_VERS ] && return 2 | 3 | case $LFS_THIS_BOARD_NAME in 4 | bbb) 5 | # install zImage 6 | rm -f $LFS_TARGET_INSTALL_DIR/boot/uImage 2> /dev/null 7 | cp -f $LFS_THIS_SOFT_SRC/arch/arm/boot/zImage $LFS_TARGET_INSTALL_DIR/boot/zImage 8 | # install dtbs 9 | mkdir -p $LFS_TARGET_INSTALL_DIR/boot/dtbs 2> /dev/null 10 | cp -f $LFS_THIS_SOFT_SRC/arch/arm/boot/dts/am335x-boneblack.dtb \ 11 | $LFS_TARGET_INSTALL_DIR/boot/dtbs/am335x-boneblack.dtb 12 | # install firmwares 13 | mkdir -p $LFS_TARGET_INSTALL_DIR/lib/firmware 2> /dev/null 14 | cp -f $LFS_THIS_SOFT_SRC/firmware/*.dtbo $LFS_TARGET_INSTALL_DIR/lib/firmware/ 15 | cp -f $LFS_THIS_SOFT_SRC/firmware/*.bin $LFS_TARGET_INSTALL_DIR/lib/firmware/ 16 | ;; 17 | 18 | rpi3) 19 | # 20 | # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install 21 | cp $LFS_THIS_SOFT_SRC/arch/arm/boot/zImage $LFS_TARGET_INSTALL_DIR/boot/kernel.img 22 | cp $LFS_THIS_SOFT_SRC/arch/arm/boot/dts/*.dtb $LFS_TARGET_INSTALL_DIR/boot/ 23 | mkdir -p $LFS_TARGET_INSTALL_DIR/boot/overlays 24 | cp $LFS_THIS_SOFT_SRC/arch/arm/boot/dts/overlays/*.dtb* $LFS_TARGET_INSTALL_DIR/boot/overlays/ 25 | cp $LFS_THIS_SOFT_SRC/arch/arm/boot/dts/overlays/README $LFS_TARGET_INSTALL_DIR/boot/overlays/ 26 | ;; 27 | 28 | *) ;; 29 | esac 30 | -------------------------------------------------------------------------------- /soft/mjpg-streamer/do_conf.sh: -------------------------------------------------------------------------------- 1 | LFS_THIS_SOFT_IS_ENABLED=0 2 | 3 | # TODO: 4 | # svn checkout https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer, revision 177 5 | # apply r177.diff 6 | # cd mjpg-streamer 7 | # LFLAGS="-L$LFS_SDK_DEPS_DIR/lib" \ 8 | # CFLAGS="-I$LFS_SDK_DEPS_DIR/include" \ 9 | # CXX=$LFS_SDK_CROSS_COMPILE\g++ \ 10 | # CC=$LFS_SDK_CROSS_COMPILE\gcc \ 11 | # PREFIX=$LFS_SDK_DEPS_DIR DESTDIR=`pwd`/install \ 12 | # make 13 | 14 | # run with: 15 | # ./bin/mjpg_streamer -i "/home/root/install/lib/input_uvc.so --yuv" -o "/home/root/install/lib/output_http.so -w ./www" -------------------------------------------------------------------------------- /soft/mjpg-streamer/r177.diff: -------------------------------------------------------------------------------- 1 | Index: mjpg-streamer/plugins/input_control/Makefile 2 | =================================================================== 3 | --- mjpg-streamer/plugins/input_control/Makefile (revision 177) 4 | +++ mjpg-streamer/plugins/input_control/Makefile (working copy) 5 | @@ -7,7 +7,7 @@ 6 | # 7 | ############################################################### 8 | 9 | -CC = gcc 10 | +CC ?= gcc 11 | 12 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 13 | 14 | Index: mjpg-streamer/plugins/output_file/Makefile 15 | =================================================================== 16 | --- mjpg-streamer/plugins/output_file/Makefile (revision 177) 17 | +++ mjpg-streamer/plugins/output_file/Makefile (working copy) 18 | @@ -7,7 +7,7 @@ 19 | # 20 | ############################################################### 21 | 22 | -CC = gcc 23 | +CC ?= gcc 24 | 25 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 26 | 27 | Index: mjpg-streamer/plugins/output_http/Makefile 28 | =================================================================== 29 | --- mjpg-streamer/plugins/output_http/Makefile (revision 177) 30 | +++ mjpg-streamer/plugins/output_http/Makefile (working copy) 31 | @@ -7,7 +7,7 @@ 32 | # 33 | ############################################################### 34 | 35 | -CC = gcc 36 | +CC ?= gcc 37 | 38 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 39 | 40 | Index: mjpg-streamer/plugins/input_gspcav1/Makefile 41 | =================================================================== 42 | --- mjpg-streamer/plugins/input_gspcav1/Makefile (revision 177) 43 | +++ mjpg-streamer/plugins/input_gspcav1/Makefile (working copy) 44 | @@ -7,7 +7,7 @@ 45 | # 46 | ############################################################### 47 | 48 | -CC = gcc 49 | +CC ?= gcc 50 | 51 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 52 | 53 | Index: mjpg-streamer/plugins/output_autofocus/Makefile 54 | =================================================================== 55 | --- mjpg-streamer/plugins/output_autofocus/Makefile (revision 177) 56 | +++ mjpg-streamer/plugins/output_autofocus/Makefile (working copy) 57 | @@ -7,7 +7,7 @@ 58 | # 59 | ############################################################### 60 | 61 | -CC = gcc 62 | +CC ?= gcc 63 | 64 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 65 | 66 | Index: mjpg-streamer/plugins/input_testpicture/Makefile 67 | =================================================================== 68 | --- mjpg-streamer/plugins/input_testpicture/Makefile (revision 177) 69 | +++ mjpg-streamer/plugins/input_testpicture/Makefile (working copy) 70 | @@ -7,7 +7,7 @@ 71 | # 72 | ############################################################### 73 | 74 | -CC = gcc 75 | +CC ?= gcc 76 | 77 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 78 | 79 | Index: mjpg-streamer/plugins/input_uvc/Makefile 80 | =================================================================== 81 | --- mjpg-streamer/plugins/input_uvc/Makefile (revision 177) 82 | +++ mjpg-streamer/plugins/input_uvc/Makefile (working copy) 83 | @@ -7,7 +7,7 @@ 84 | # 85 | ############################################################### 86 | 87 | -CC = gcc 88 | +CC ?= gcc 89 | 90 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 91 | 92 | Index: mjpg-streamer/plugins/input_file/Makefile 93 | =================================================================== 94 | --- mjpg-streamer/plugins/input_file/Makefile (revision 177) 95 | +++ mjpg-streamer/plugins/input_file/Makefile (working copy) 96 | @@ -7,7 +7,7 @@ 97 | # 98 | ############################################################### 99 | 100 | -CC = gcc 101 | +CC ?= gcc 102 | 103 | OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h 104 | 105 | Index: mjpg-streamer/Makefile 106 | =================================================================== 107 | --- mjpg-streamer/Makefile (revision 177) 108 | +++ mjpg-streamer/Makefile (working copy) 109 | @@ -10,10 +10,10 @@ 110 | # specifies where to install the binaries after compilation 111 | # to use another directory you can specify it with: 112 | # $ sudo make DESTDIR=/some/path install 113 | -DESTDIR = /usr/local 114 | +DESTDIR ?= /usr/local 115 | 116 | # set the compiler to use 117 | -CC = gcc 118 | +CC ?= gcc 119 | 120 | SVNDEV := -D'SVN_REV="$(shell svnversion -c .)"' 121 | CFLAGS += $(SVNDEV) 122 | Index: uvc-streamer/Makefile 123 | =================================================================== 124 | --- uvc-streamer/Makefile (revision 177) 125 | +++ uvc-streamer/Makefile (working copy) 126 | @@ -7,7 +7,7 @@ 127 | # 128 | ############################################################### 129 | 130 | -CC=gcc 131 | +CC?=gcc 132 | APP_BINARY=uvc_stream 133 | 134 | 135 | -------------------------------------------------------------------------------- /soft/ntpd/10_ntpd: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Starting ntpd: " 8 | /usr/sbin/ntpd -p timesrv1.esrf.fr 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Stopping ntpd: " 13 | killall ntpd 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /soft/ntpd/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_NTPD_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_NTPD_VERS 5 | LFS_THIS_SOFT_DEPS='busybox' 6 | -------------------------------------------------------------------------------- /soft/ntpd/do_post_build.sh: -------------------------------------------------------------------------------- 1 | initd_dir=$LFS_TARGET_INSTALL_DIR/etc/init.d 2 | [ -d $initd_dir ] || mkdir -p $initd_dir 3 | cp $LFS_THIS_SOFT_DIR/10_ntpd $initd_dir 4 | chmod 755 $initd_dir/10_ntpd 5 | 6 | cp $LFS_THIS_SOFT_DIR/localtime $LFS_TARGET_INSTALL_DIR/etc/localtime 7 | chmod 755 $LFS_TARGET_INSTALL_DIR/etc/localtime 8 | -------------------------------------------------------------------------------- /soft/ntpd/localtime: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/ntpd/localtime -------------------------------------------------------------------------------- /soft/pcidrvgen/10_pcidrvgen: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Starting pcidrvgen: " 8 | /sbin/insmod /lib/modules/`uname -r`/dance/pcidrvgen.ko 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Stopping pcidrvgen: " 13 | /sbin/rmmod pcidrvgen 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /soft/pcidrvgen/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disabled, now shipped with the dance package 2 | 3 | # [ $LFS_THIS_BOARD_NAME != 'comex' ] && return 4 | 5 | # LFS_THIS_SOFT_IS_ENABLED=1 6 | # LFS_THIS_SOFT_DEPS='linux' 7 | # LFS_THIS_SOFT_URL=file://$LFS_THIS_SOFT_DIR/pcidrvgen.tar.gz 8 | # LFS_THIS_SOFT_BUILD_METHOD=make 9 | 10 | # LFS_THIS_SOFT_MAKE_ARGS=\ 11 | # " KDIR=$LFS_SRC_DIR/linux"\ 12 | # " MODLIB=$LFS_TARGET_INSTALL_DIR/lib/modules/$LFS_LINUX_VERS" 13 | -------------------------------------------------------------------------------- /soft/pcidrvgen/do_post_build.sh: -------------------------------------------------------------------------------- 1 | initd_dir=$LFS_TARGET_INSTALL_DIR/etc/init.d 2 | [ -d $initd_dir ] || mkdir -p $initd_dir 3 | cp $LFS_THIS_SOFT_DIR/10_pcidrvgen $initd_dir 4 | chmod 755 $initd_dir/10_pcidrvgen 5 | -------------------------------------------------------------------------------- /soft/pcidrvgen/pcidrvgen.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/pcidrvgen/pcidrvgen.tar.gz -------------------------------------------------------------------------------- /soft/pciutils/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | cd $LFS_THIS_SOFT_SRC 2 | 3 | # make both static and shared libs 4 | 5 | # required to complete the clean 6 | rm -f lib/config.{h,mk} >/dev/null 2>&1 7 | 8 | make clean install \ 9 | CROSS_COMPILE=$LFS_CROSS_COMPILE \ 10 | PREFIX=$LFS_TARGET_INSTALL_DIR \ 11 | SHARED=yes \ 12 | ZLIB=no \ 13 | DNS=no 14 | 15 | make install-lib \ 16 | CROSS_COMPILE=$LFS_CROSS_COMPILE \ 17 | PREFIX=$LFS_TARGET_INSTALL_DIR \ 18 | SHARED=yes \ 19 | ZLIB=no \ 20 | DNS=no 21 | 22 | # required to complete the clean 23 | rm -f lib/config.{h,mk} >/dev/null 2>&1 24 | 25 | make clean install \ 26 | CROSS_COMPILE=$LFS_CROSS_COMPILE \ 27 | PREFIX=$LFS_TARGET_INSTALL_DIR \ 28 | SHARED=no \ 29 | ZLIB=no \ 30 | DNS=no 31 | 32 | make install-lib \ 33 | CROSS_COMPILE=$LFS_CROSS_COMPILE \ 34 | PREFIX=$LFS_TARGET_INSTALL_DIR \ 35 | SHARED=no \ 36 | ZLIB=no \ 37 | DNS=no 38 | 39 | [ -e $LFS_TARGET_INSTALL_DIR/sbin/lspci ] && \ 40 | chmod 755 $LFS_TARGET_INSTALL_DIR/sbin/lspci 41 | 42 | exit 0 43 | -------------------------------------------------------------------------------- /soft/pciutils/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_PCIUTILS_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_PCIUTILS_VERS 5 | LFS_THIS_SOFT_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/pciutils-$LFS_PCIUTILS_VERS.tar.gz 6 | LFS_THIS_SOFT_BUILD_METHOD=byhand 7 | -------------------------------------------------------------------------------- /soft/pcycle/do_conf.sh: -------------------------------------------------------------------------------- 1 | # disabled, now shipped with the dance package 2 | 3 | # [ $LFS_THIS_BOARD_NAME != 'comex' ] && return 4 | 5 | # LFS_THIS_SOFT_IS_ENABLED=1 6 | # LFS_THIS_SOFT_DEPS='pcidrvgen libtst' 7 | # LFS_THIS_SOFT_URL=file://$LFS_THIS_SOFT_DIR/pcycle.tar.gz 8 | # LFS_THIS_SOFT_BUILD_METHOD=make 9 | # LFS_THIS_SOFT_MAKE_ARGS=\ 10 | # " CROSS_COMPILE=$LFS_CROSS_COMPILE"\ 11 | # " PREFIX=$LFS_TARGET_INSTALL_DIR"\ 12 | # " CFLAGS='-I$LFS_SRC_DIR/pcidrvgen -I$LFS_SRC_DIR/libtst'"\ 13 | # " LFLAGS='-L$LFS_HOST_INSTALL_DIR/usr/lib -ltstpci'" 14 | -------------------------------------------------------------------------------- /soft/pcycle/pcycle.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/pcycle/pcycle.tar.gz -------------------------------------------------------------------------------- /soft/pepu/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | # select dance_sdk_platform 2 | # CROSS_COMPILE is set by the build environment 3 | 4 | case $LFS_THIS_BOARD_NAME in 5 | comex|seco_x86) dance_sdk_platform='kontron_type10' ;; 6 | conga_imx6) dance_sdk_platform='conga_imx6' ;; 7 | seco_imx6) dance_sdk_platform='seco_imx6' ;; 8 | seco_uimx6) dance_sdk_platform='seco_uimx6' ;; 9 | rpi3) dance_sdk_platform='seco_imx6' ;; 10 | *) dance_sdk_platform='local' ;; 11 | esac 12 | 13 | if [ -z $DANCE_SDK_ROOT ]; then 14 | export DANCE_SDK_ROOT=/segfs/linux/dance_sdk 15 | fi 16 | 17 | d=$LFS_TARGET_INSTALL_DIR/app/bin/dance 18 | mkdir -p $d 19 | 20 | cd $LFS_THIS_SOFT_SRC/instruments/pepu/firmware/controller 21 | make DANCE_SDK_PLATFORM=$dance_sdk_platform DANCE_SDK_DEV_DIR=$LFS_THIS_SOFT_SRC/components devel 22 | cp $LFS_THIS_SOFT_SRC/instruments/pepu/firmware/controller/pepu $d/main 23 | -------------------------------------------------------------------------------- /soft/pepu/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z "$LFS_THIS_APP_NAME" ] && return 2 | [ $LFS_THIS_APP_NAME != 'pepu' ] && return 3 | 4 | LFS_THIS_SOFT_IS_ENABLED=1 5 | LFS_THIS_SOFT_URL=byhand 6 | LFS_THIS_SOFT_BUILD_METHOD=byhand 7 | LFS_THIS_SOFT_DEPS='dance' 8 | -------------------------------------------------------------------------------- /soft/pepu/do_post_build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/pepu/do_post_build.sh -------------------------------------------------------------------------------- /soft/pepu/do_retrieve_byhand.sh: -------------------------------------------------------------------------------- 1 | # assume LFS_THIS_SOFT_TAR 2 | # assume LFS_THIS_SOFT_TAR_EXT 3 | 4 | # remove trailing extension 5 | tmp_path=${LFS_THIS_SOFT_TAR::-${#LFS_THIS_SOFT_TAR_EXT}} 6 | mkdir -p $tmp_path 7 | 8 | repo=https://deg-svn.esrf.fr/svn 9 | 10 | compos='libepci libespi libedma libebuf libefpak libpmem libuirq libdance' 11 | for c in $compos; do 12 | url=$repo/$c/dev 13 | svn export $url $tmp_path/components/$c ; 14 | done 15 | 16 | svn export $repo/pepu/dev $tmp_path/instruments/pepu ; 17 | 18 | cd `dirname $tmp_path` 19 | tar czvf $LFS_THIS_SOFT_TAR `basename $tmp_path` 20 | rm -rf $tmp_path 21 | -------------------------------------------------------------------------------- /soft/pepu/do_test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # passed from command line 4 | export LFS_THIS_BOARD_NAME=seco_imx6 5 | export LFS_THIS_ENV_NAME=comex004 6 | export LFS_THIS_APP_NAME=pepu 7 | 8 | # globals 9 | export LFS_TOP_DIR=`pwd`/../.. 10 | export LFS_WORK_DIR=`pwd`/tmp 11 | 12 | export LFS_IS_SOURCED=yes 13 | . $LFS_TOP_DIR/sh/do_lfs.sh 14 | 15 | do_prepare 16 | 17 | export LFS_THIS_SOFT_NAME=pepu 18 | do_one_soft 19 | -------------------------------------------------------------------------------- /soft/rootfs_bone/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | cp -rf $LFS_THIS_SOFT_SRC/* $LFS_TARGET_INSTALL_DIR/ 2 | -------------------------------------------------------------------------------- /soft/rootfs_bone/do_conf.sh: -------------------------------------------------------------------------------- 1 | LFS_THIS_SOFT_IS_ENABLED=1 2 | LFS_THIS_SOFT_URL=file://$LFS_THIS_SOFT_DIR/rootfs_bone.tar.gz 3 | LFS_THIS_SOFT_BUILD_METHOD=byhand 4 | -------------------------------------------------------------------------------- /soft/rootfs_bone/do_post_build.sh: -------------------------------------------------------------------------------- 1 | echo $LFS_THIS_BOARD_NAME\_$LFS_THIS_ENV_NAME > $LFS_TARGET_INSTALL_DIR/etc/HOSTNAME 2 | -------------------------------------------------------------------------------- /soft/rootfs_bone/rootfs_bone.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/rootfs_bone/rootfs_bone.tar.gz -------------------------------------------------------------------------------- /soft/rpi3_boot/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | boot_dir=$LFS_TARGET_INSTALL_DIR/boot 2 | mkdir -p $boot_dir && cp -rf $LFS_THIS_SOFT_SRC/* $boot_dir/ 3 | -------------------------------------------------------------------------------- /soft/rpi3_boot/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ $LFS_THIS_BOARD_NAME == 'rpi3' ] || return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_URL=file://$LFS_THIS_SOFT_DIR/rpi3_boot.tar.gz 5 | LFS_THIS_SOFT_BUILD_METHOD=byhand 6 | -------------------------------------------------------------------------------- /soft/rpi3_boot/rpi3_boot.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/rpi3_boot/rpi3_boot.tar.gz -------------------------------------------------------------------------------- /soft/rpib_gpu_firmware/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | boot_dir=$LFS_TARGET_INSTALL_DIR/boot 2 | kernel_name=vmlinuz-$LFS_LINUX_VERS 3 | mkdir -p $boot_dir && cp -rf $LFS_THIS_SOFT_SRC/* $boot_dir/ 4 | echo "kernel $kernel_name" >> $boot_dir/config.txt 5 | -------------------------------------------------------------------------------- /soft/rpib_gpu_firmware/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ $LFS_THIS_BOARD_NAME == 'rpib' ] || return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_URL=file://$LFS_THIS_SOFT_DIR/rpib_gpu_firmware.tar.gz 5 | LFS_THIS_SOFT_BUILD_METHOD=byhand 6 | -------------------------------------------------------------------------------- /soft/rpib_gpu_firmware/rpib_gpu_firmware.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/texane/lfs/7a0c5c2c1b4eccd68b20a7ceeaef4d9eb530ff82/soft/rpib_gpu_firmware/rpib_gpu_firmware.tar.gz -------------------------------------------------------------------------------- /soft/sdk/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_SDK_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_SDK_VERS 5 | -------------------------------------------------------------------------------- /soft/sdk/do_post_build.sh: -------------------------------------------------------------------------------- 1 | [ -d $LFS_SDK_DIR ] || mkdir -p $LFS_SDK_DIR 2 | 3 | # install sdk/toolchain 4 | 5 | [ -d $LFS_SDK_DIR/toolchain ] || mkdir $LFS_SDK_DIR/toolchain 6 | 7 | a=`dirname $LFS_CROSS_COMPILE` 8 | b=`dirname $a` 9 | toolchain_vers=`basename $b` 10 | cp -rf $b $LFS_SDK_DIR/toolchain/ 11 | 12 | # install sdk/kernel/$platform/linux-$LFS_LINUX_VERS 13 | 14 | case $LFS_THIS_BOARD_NAME in 15 | comex) platform=kontron_type10 ;; 16 | seco_x86) platform=kontron_type10 ;; 17 | *) platform=$LFS_THIS_BOARD_NAME ;; 18 | esac 19 | 20 | p=$LFS_SDK_DIR/kernel/$platform 21 | mkdir -p $p 22 | cp -rf $LFS_SRC_DIR/linux $p/linux-$LFS_LINUX_VERS 23 | 24 | # install sdk/deps 25 | 26 | deps_dir=$LFS_SDK_DIR/deps/$toolchain_vers 27 | 28 | [ -d $deps_dir ] || mkdir -p $deps_dir 29 | 30 | l='' 31 | l+=' /include' 32 | l+=' /lib' 33 | l+=' /lib32' 34 | l+=' /lib64' 35 | l+=' /man' 36 | l+=' /share' 37 | l+=' /usr/include' 38 | l+=' /usr/lib' 39 | l+=' /usr/lib32' 40 | l+=' /usr/lib64' 41 | l+=' /usr/share' 42 | 43 | for f in $l; do 44 | source_path=$LFS_TARGET_INSTALL_DIR/$f 45 | dest_path=$deps_dir/$f 46 | mkdir -p $deps_dir/`dirname $f` 47 | cp -rf $source_path $dest_path 48 | done 49 | 50 | # install sdk/build scripts 51 | 52 | build_dir=$LFS_SDK_DIR/build 53 | [ -d $build_dir ] || mkdir -p $build_dir 54 | 55 | lfs_mk=$build_dir/lfs_$platform.mk 56 | echo "LFS_SDK_TOP_DIR ?= $LFS_SDK_DIR" > $lfs_mk 57 | echo 'LFS_SDK_CROSS_COMPILE := $(LFS_SDK_TOP_DIR)/toolchain/'$toolchain_vers'/bin/'$toolchain_vers'-' >> $lfs_mk 58 | echo 'LFS_SDK_DEPS_DIR := $(LFS_SDK_TOP_DIR)/deps/'$toolchain_vers >> $lfs_mk 59 | echo 'LFS_SDK_KERNEL_DIR := $(LFS_SDK_TOP_DIR)/'$platform'/linux-'$LFS_LINUX_VERS >> $lfs_mk 60 | 61 | lfs_sh=$build_dir/lfs_$platform.sh 62 | echo "export LFS_SDK_TOP_DIR=$LFS_SDK_DIR" > $lfs_sh 63 | echo 'export LFS_SDK_CROSS_COMPILE=$LFS_SDK_TOP_DIR/toolchain/'$toolchain_vers'/bin/'$toolchain_vers'-' >> $lfs_sh 64 | echo 'export LFS_SDK_DEPS_DIR=$LFS_SDK_TOP_DIR/deps/'$toolchain_vers >> $lfs_sh 65 | echo 'export LFS_SDK_KERNEL_DIR=$LFS_SDK_TOP_DIR/'$platform'/linux-'$LFS_LINUX_VERS >> $lfs_sh 66 | -------------------------------------------------------------------------------- /soft/tango/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | # select toolchain 2 | 3 | # build zeromq 4 | 5 | cd $LFS_THIS_SOFT_SRC/zeromq 6 | 7 | CC=$LFS_CROSS_COMPILE\gcc \ 8 | CXX=$LFS_CROSS_COMPILE\g++ \ 9 | ./configure \ 10 | --prefix=$LFS_TARGET_INSTALL_DIR \ 11 | --host=$LFS_TARGET_ARCH-linux \ 12 | 13 | make && make install 14 | 15 | 16 | # build omnirb 17 | # http://www.omniorb-support.com/omniwiki/LFS_CROSS_COMPILECompiling 18 | 19 | cd $LFS_THIS_SOFT_SRC/omniORB 20 | 21 | CC=$LFS_CROSS_COMPILE\gcc \ 22 | CXX=$LFS_CROSS_COMPILE\g++ \ 23 | ./configure \ 24 | --prefix=$LFS_TARGET_INSTALL_DIR \ 25 | --host=$LFS_TARGET_ARCH-linux \ 26 | --build=x86_64-linux 27 | 28 | make CC=gcc -C src/tool/omniidl/cxx/cccp 29 | make CXX=g++ -C src/tool/omniidl/cxx 30 | make CC=gcc -C src/tool/omkdepend 31 | make && make install 32 | 33 | 34 | # build tango 35 | 36 | cd $LFS_THIS_SOFT_SRC/tango 37 | 38 | CC=$LFS_CROSS_COMPILE\gcc \ 39 | CXX=$LFS_CROSS_COMPILE\g++ \ 40 | ./configure \ 41 | --host=$LFS_TARGET_ARCH-linux \ 42 | --build=x86_64-linux \ 43 | --prefix=$LFS_TARGET_INSTALL_DIR \ 44 | --with-zlib=$LFS_TARGET_INSTALL_DIR \ 45 | --with-omni=$LFS_TARGET_INSTALL_DIR \ 46 | --with-zmq=$LFS_TARGET_INSTALL_DIR \ 47 | --disable-java 48 | 49 | make && make install 50 | -------------------------------------------------------------------------------- /soft/tango/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_TANGO_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_URL=byhand 5 | LFS_THIS_SOFT_BUILD_METHOD=byhand 6 | LFS_THIS_SOFT_DEPS='zlib' 7 | -------------------------------------------------------------------------------- /soft/tango/do_post_build.sh: -------------------------------------------------------------------------------- 1 | # nothing to do 2 | -------------------------------------------------------------------------------- /soft/tango/do_retrieve_byhand.sh: -------------------------------------------------------------------------------- 1 | # assume LFS_THIS_SOFT_TAR 2 | # assume LFS_THIS_SOFT_TAR_EXT 3 | 4 | function do_retrieve_extract { 5 | tar_url=$1 6 | tar_dir=$2 7 | 8 | tar_name=`basename $tar_url` 9 | 10 | case $tar_name in 11 | *.tar) 12 | ext='.tar' 13 | opt='xvf' 14 | ;; 15 | *.tar.gz) 16 | ext='.tar.gz' 17 | opt='xzvf' 18 | ;; 19 | *.tgz) 20 | ext='.tgz' 21 | opt='xzvf' 22 | ;; 23 | *.tar.bz2) 24 | ext='.tar.bz2' 25 | opt='xjvf' 26 | ;; 27 | esac 28 | 29 | tar_path=$tar_dir$ext 30 | wget $tar_url -O $tar_path 31 | mkdir $tar_dir 32 | tar $opt $tar_path --strip 1 -C $tar_dir 33 | rm $tar_path 34 | } 35 | 36 | # remove trailing extension 37 | tmp_dir=${LFS_THIS_SOFT_TAR::-${#LFS_THIS_SOFT_TAR_EXT}} 38 | mkdir -p $tmp_dir 39 | 40 | # zeromq 41 | do_retrieve_extract \ 42 | http://download.zeromq.org/zeromq-4.1.0-rc1.tar.gz \ 43 | $tmp_dir/zeromq 44 | 45 | # omniorb 46 | do_retrieve_extract \ 47 | http://optimate.dl.sourceforge.net/project/omniorb/omniORB/omniORB-4.1.6/omniORB-4.1.6.tar.bz2 \ 48 | $tmp_dir/omniORB 49 | 50 | # tango 51 | do_retrieve_extract \ 52 | http://cznic.dl.sourceforge.net/project/tango-cs/tango-8.1.2c.tar.gz \ 53 | $tmp_dir/tango 54 | 55 | # make soft tarball 56 | cd `dirname $tmp_dir` 57 | tar czvf $LFS_THIS_SOFT_TAR `basename $tmp_dir` 58 | rm -rf $tmp_dir 59 | -------------------------------------------------------------------------------- /soft/tango/main.sh: -------------------------------------------------------------------------------- 1 | export http_proxy=proxy.esrf.fr:3128 2 | export https_proxy=proxy.esrf.fr:3128 3 | export LFS_CROSS_COMPILE=/segfs/linux/dance_sdk/toolchain/arm-buildroot-linux-uclibcgnueabi/usr/bin/arm-buildroot-linux-uclibcgnueabi- 4 | export LFS_TARGET_ARCH=arm 5 | 6 | base_dir=/buffer/PCLAB2451/lementec/tmp/lfs 7 | 8 | export LFS_TARGET_INSTALL_DIR=$base_dir/target_install 9 | src_dir=$base_dir/src 10 | tar_dir=$base_dir/tar 11 | 12 | for d in $LFS_TARGET_INSTALL_DIR $src_dir $tar_dir; do 13 | mkdir -p $d ; 14 | done 15 | 16 | export LFS_THIS_SOFT_TAR_EXT=.tar.gz 17 | export LFS_THIS_SOFT_TAR=$tar_dir/tango$LFS_THIS_SOFT_TAR_EXT 18 | export LFS_THIS_SOFT_SRC=$src_dir/tango 19 | export LFS_THIS_SOFT_DIR=`pwd` 20 | 21 | ./do_retrieve_byhand.sh 22 | [ -d $LFS_THIS_SOFT_SRC ] && rm -rf $LFS_THIS_SOFT_SRC 23 | mkdir $LFS_THIS_SOFT_SRC 24 | tar xvf $LFS_THIS_SOFT_TAR --strip 1 -C $LFS_THIS_SOFT_SRC 25 | ./do_build_byhand.sh 26 | -------------------------------------------------------------------------------- /soft/telnetd/10_telnetd: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | . /etc/rc.d/functions 4 | 5 | case "$1" in 6 | start) 7 | echo -n "Starting telnetd: " 8 | /usr/sbin/telnetd -l /bin/sh 9 | check_status 10 | ;; 11 | stop) 12 | echo -n "Stopping telnetd: " 13 | killall telnetd 14 | check_status 15 | ;; 16 | restart) 17 | $0 stop 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop|restart}" 22 | exit 1 23 | esac 24 | -------------------------------------------------------------------------------- /soft/telnetd/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_TELNETD_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_TELNETD_VERS 5 | LFS_THIS_SOFT_DEPS='busybox' 6 | -------------------------------------------------------------------------------- /soft/telnetd/do_post_build.sh: -------------------------------------------------------------------------------- 1 | initd_dir=$LFS_TARGET_INSTALL_DIR/etc/init.d 2 | [ -d $initd_dir ] || mkdir -p $initd_dir 3 | cp $LFS_THIS_SOFT_DIR/10_telnetd $initd_dir 4 | chmod 755 $initd_dir/10_telnetd 5 | -------------------------------------------------------------------------------- /soft/uboot/do_build_byhand.sh: -------------------------------------------------------------------------------- 1 | cp $LFS_THIS_BOARD_DIR/uboot.config $LFS_THIS_SOFT_SRC/tools/sconfig 2 | 3 | cross=${LFS_CROSS_COMPILE//\//\\/} 4 | sed -i -e "s/LFS_CROSS_COMPILE/$cross/g" $LFS_THIS_SOFT_SRC/tools/sconfig > /dev/null 2>&1 5 | cd $LFS_THIS_SOFT_SRC && ./compile.sh 6 | -------------------------------------------------------------------------------- /soft/uboot/do_conf.sh: -------------------------------------------------------------------------------- 1 | is_enabled='no' 2 | [ $LFS_THIS_BOARD_NAME == 'seco_imx6' ] && is_enabled='yes' 3 | [ $LFS_THIS_BOARD_NAME == 'seco_uimx6' ] && is_enabled='yes' 4 | [ $is_enabled == 'no' ] && return 5 | 6 | LFS_THIS_SOFT_IS_ENABLED=1 7 | LFS_THIS_SOFT_URL=file:///segfs/linux/dance_sdk/tarballs/$LFS_THIS_BOARD_NAME/uboot.tar.gz 8 | LFS_THIS_SOFT_BUILD_METHOD=byhand 9 | -------------------------------------------------------------------------------- /soft/uboot/do_post_build.sh: -------------------------------------------------------------------------------- 1 | is_enabled='no' 2 | [ $LFS_THIS_BOARD_NAME == 'seco_imx6' ] && is_enabled='yes' 3 | [ $LFS_THIS_BOARD_NAME == 'seco_uimx6' ] && is_enabled='yes' 4 | [ is_enabled == 'no' ] && return 5 | 6 | # jump over partition table 7 | sudo dd conv=notrunc bs=512 seek=2 if=$LFS_THIS_SOFT_SRC/u-boot.imx of=$LFS_DISK_IMAGE 8 | 9 | # create and copy environment binary 10 | # for mmc env offset and size, refer to include/configs/mx6solo_seco.h 11 | # env_off in KB 12 | # env_size in bytes 13 | env_off=$((6 * 128)) 14 | env_size=$((8 * 1024)) 15 | 16 | env_bin=$LFS_THIS_SOFT_SRC/u-boot.env.bin 17 | [ -e $env_bin ] && rm $env_bin 18 | 19 | $LFS_THIS_SOFT_SRC/tools/mkenvimage \ 20 | -s $env_size -o $env_bin $LFS_THIS_BOARD_DIR/uboot.env 21 | 22 | sudo dd conv=notrunc bs=1024 seek=$env_off if=$env_bin of=$LFS_DISK_IMAGE 23 | -------------------------------------------------------------------------------- /soft/v4l/Make.rules: -------------------------------------------------------------------------------- 1 | V4L_UTILS_VERSION=0.8.9 2 | 3 | # These ones can be overriden from the cmdline 4 | 5 | CFLAGS ?= 6 | CFLAGS += -g -O1 7 | CFLAGS += -Wall -Wpointer-arith 8 | CXXFLAGS := $(CFLAGS) 9 | CFLAGS += -Wstrict-prototypes -Wmissing-prototypes 10 | 11 | PREFIX ?= /usr/local 12 | LIBDIR = $(PREFIX)/lib 13 | # subdir below LIBDIR in which to install the libv4lx libc wrappers 14 | LIBSUBDIR = libv4l 15 | LIBCONVERTSUBDIR = $(LIBSUBDIR) 16 | MANDIR = $(PREFIX)/share/man 17 | 18 | # These ones should not be overriden from the cmdline 19 | 20 | # Note the -I../.. this assumes all sources live in a 2 level dir hierarchy! 21 | override CPPFLAGS += -I../../include -I../../lib/include -D_GNU_SOURCE -DV4L_UTILS_VERSION='"$(V4L_UTILS_VERSION)"' 22 | override LDFLAGS += -L../../lib/libv4l1 -L../../lib/libv4l2 -L../../lib/libv4lconvert 23 | # This is the soname version 24 | LIB_RELEASE = 0 25 | 26 | # And last various rules 27 | 28 | %.o: %.c 29 | $(CC) -Wp,-MMD,"$*.d",-MQ,"$@",-MP -c $(CPPFLAGS) $(CFLAGS) -o $@ $< 30 | 31 | %.o: %.cpp 32 | $(CXX) -Wp,-MMD,"$*.d",-MQ,"$@",-MP -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< 33 | 34 | %.so: 35 | $(CC) -shared $(LDFLAGS) -Wl,-soname,$@.$(LIB_RELEASE) -o $@.$(LIB_RELEASE) $^ $(LIBS_$*) 36 | ln -f -s $@.$(LIB_RELEASE) $@ 37 | 38 | %.a: 39 | $(AR) cqs $@ $^ 40 | 41 | clean:: 42 | rm -f core core.[0123456789]* *~ *.o *.d *.a *.so* DEADJOE *.orig *.rej $(TARGETS) 43 | -------------------------------------------------------------------------------- /soft/v4l/Makefile: -------------------------------------------------------------------------------- 1 | all install: 2 | $(MAKE) -C lib $@ 3 | 4 | sync-with-kernel: 5 | @if [ ! -f $(KERNEL_DIR)/include/linux/videodev2.h -o \ 6 | ! -f $(KERNEL_DIR)/include/linux/ivtv.h -o \ 7 | ! -f $(KERNEL_DIR)/include/media/v4l2-chip-ident.h ]; then \ 8 | echo "Error you must set KERNEL_DIR to point to an extracted kernel source dir"; \ 9 | exit 1; \ 10 | fi 11 | cp -a $(KERNEL_DIR)/include/linux/videodev2.h include/linux 12 | cp -a $(KERNEL_DIR)/include/linux/v4l2-common.h include/linux 13 | cp -a $(KERNEL_DIR)/include/linux/v4l2-controls.h include/linux 14 | cp -a $(KERNEL_DIR)/include/linux/ivtv.h include/linux 15 | cp -a $(KERNEL_DIR)/include/media/v4l2-chip-ident.h include/media 16 | $(MAKE) -C utils $@ 17 | 18 | clean:: 19 | rm -f include/*/*~ 20 | $(MAKE) -C lib $@ 21 | $(MAKE) -C utils $@ 22 | 23 | tag: 24 | @git tag -a -m "Tag as v4l-utils-$(V4L_UTILS_VERSION)" v4l-utils-$(V4L_UTILS_VERSION) 25 | @echo "Tagged as v4l-utils-$(V4L_UTILS_VERSION)" 26 | 27 | archive-no-tag: 28 | @git archive --format=tar --prefix=v4l-utils-$(V4L_UTILS_VERSION)/ v4l-utils-$(V4L_UTILS_VERSION) > v4l-utils-$(V4L_UTILS_VERSION).tar 29 | @bzip2 -f v4l-utils-$(V4L_UTILS_VERSION).tar 30 | 31 | archive: clean tag archive-no-tag 32 | 33 | export: clean 34 | tar --transform s/^\./v4l-utils-$(V4L_UTILS_VERSION)/g \ 35 | --exclude=.git -jcvf \ 36 | /tmp/v4l-utils-$(V4L_UTILS_VERSION).tar.bz2 . 37 | 38 | include Make.rules 39 | -------------------------------------------------------------------------------- /soft/v4l/do_conf.sh: -------------------------------------------------------------------------------- 1 | LFS_THIS_SOFT_IS_ENABLED=0 2 | 3 | # TOOD: 4 | # at v4l-utils-0.8.9 5 | # depends on libjpeg 6 | # use Makefile and Make.rules to install only libs 7 | # ~/repo/v4l-utils-0.8.9$ LDFLAGS="-L$LFS_SDK_DEPS_DIR/lib" CFLAGS="-I$LFS_SDK_DEPS_DIR/include" CXX=$LFS_SDK_CROSS_COMPILE\g++ CC=$LFS_SDK_CROSS_COMPILE\gcc PREFIX=$LFS_SDK_DEPS_DIR DESTDIR=$LFS_SDK_DEPS_DIR make install 8 | -------------------------------------------------------------------------------- /soft/zlib/do_conf.sh: -------------------------------------------------------------------------------- 1 | [ -z $LFS_ZLIB_VERS ] && return 2 | 3 | LFS_THIS_SOFT_IS_ENABLED=1 4 | LFS_THIS_SOFT_VERS=$LFS_ZLIB_VERS 5 | LFS_THIS_SOFT_URL=http://zlib.net/fossils/zlib-$LFS_ZLIB_VERS.tar.gz 6 | LFS_THIS_SOFT_BUILD_METHOD=autotools 7 | -------------------------------------------------------------------------------- /tools/copy_rootfs/main.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | [ -z $TMP_DIR ] && export TMP_DIR=/tmp 4 | 5 | function do_unsquash() { 6 | # require DISK_PATH 7 | # export ROOTFS_PATH 8 | # export ROOT_OFF 9 | 10 | tmp_path=`tempfile -d $TMP_DIR` 11 | [ -e $tmp_path ] && rm -f $tmp_path 12 | 13 | export ROOTFS_PATH=`tempfile -d $TMP_DIR` 14 | rm -rf $ROOTFS_PATH 15 | 16 | # format: name start end count 17 | line=(`/sbin/fdisk -l $DISK_PATH | grep Linux`) 18 | export ROOT_OFF=${line[1]} 19 | size=${line[2]} 20 | dd if=$DISK_PATH of=$tmp_path skip=$ROOT_OFF bs=512 count=$size 21 | 22 | unsquashfs -d $ROOTFS_PATH $tmp_path 23 | } 24 | 25 | function do_copy() { 26 | # require SOURCE_PATH 27 | # require DEST_PATH 28 | # require ROOTFS_PATH 29 | 30 | cp -rf $SOURCE_PATH $ROOTFS_PATH/$DEST_PATH 31 | } 32 | 33 | function do_squash() { 34 | # require ROOTFS_PATH 35 | # export SQUASH_PATH 36 | 37 | export SQUASH_PATH=`tempfile -d $TMP_DIR` 38 | [ -e $SQUASH_PATH ] && rm $SQUASH_PATH 39 | mksquashfs $ROOTFS_PATH $SQUASH_PATH 40 | } 41 | 42 | function do_write() { 43 | # require SQUASH_PATH 44 | # require DISK_PATH 45 | # require ROOT_OFF 46 | 47 | dd if=$SQUASH_PATH of=$DISK_PATH seek=$ROOT_OFF bs=512 conv=notrunc 48 | } 49 | 50 | # usage: main.sh source disk dest 51 | # copy the contents of source_path to disk_path/dest_path 52 | # assumes the linux partition of the disk hosts a squashfs 53 | # example: 54 | # ./main.sh ~/repo/bano/src/base/bano disk /home/root/ 55 | # copies the bano directory in rootfs /home/root 56 | 57 | export SOURCE_PATH=$1 58 | export DISK_PATH=$2 59 | export DEST_PATH=$3 60 | 61 | do_unsquash 62 | do_copy 63 | do_squash 64 | do_write 65 | -------------------------------------------------------------------------------- /tools/install_instrument/main.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # usage: 4 | # ./main.sh template_disk_path inst_path 5 | # where: 6 | # template_disk_path the template disk to use 7 | # inst_path the instrument binary path 8 | 9 | dot_dir=`dirname $0` 10 | 11 | [ -z $1 ] && echo 'missing template disk path' && exit -1 12 | [ -z $2 ] && echo 'missing instrument binary path' && exit -1 13 | 14 | disk_path=$1 15 | inst_path=$2 16 | 17 | inst_dir=`dirname $inst_path` 18 | inst_name=`basename $inst_path` 19 | 20 | [ -z $TMP_DIR ] && export TMP_DIR=/tmp 21 | prof_tmp_path=`tempfile -d $TMP_DIR` 22 | disk_tmp_path=`tempfile -d $TMP_DIR` 23 | chmod 755 $disk_tmp_path 24 | 25 | # copy template disk 26 | cp $disk_path $disk_tmp_path 27 | 28 | # create profile file 29 | echo '[ -z $DANCE_TOP_DIR ] && export DANCE_TOP_DIR='$inst_dir > $prof_tmp_path 30 | echo 'export DANCE_BIN_DIR=$DANCE_TOP_DIR' >> $prof_tmp_path 31 | echo 'export DANCE_LIB_DIR=/lib/dance' >> $prof_tmp_path 32 | echo 'export DANCE_MOD_DIR=/lib/modules/`uname -r`/dance' >> $prof_tmp_path 33 | echo 'export DANCE_APP_NAMES='$inst_name >> $prof_tmp_path 34 | 35 | # copy profile to new disk 36 | $dot_dir/../copy_rootfs/main.sh \ 37 | $prof_tmp_path $disk_tmp_path /etc/dance/profile 38 | 39 | # report 40 | echo "new disk created in $disk_tmp_path" 41 | 42 | # clean 43 | rm $prof_tmp_path 44 | -------------------------------------------------------------------------------- /tools/mount_rootfs/main.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | [ -z $1 ] && ( echo 'missing disk path'; exit -1; ) 4 | [ -z $2 ] && ( echo 'missing mount path'; exit -1; ) 5 | 6 | disk_path=$1 7 | mount_path=$2 8 | 9 | # format: name start end count 10 | line=(`/sbin/fdisk -l $disk_path | grep Linux`) 11 | off=$((${line[1]} * 512)) 12 | size=$((${line[2]} * 512)) 13 | 14 | loop_path=`sudo losetup --show -f --offset=$off --sizelimit=$size $disk_path` 15 | [ $? = 0 ] || ( echo 'losetup failed'; exit -1; ) 16 | 17 | sudo mount $loop_path $mount_path 18 | [ $? = 0 ] || ( echo 'mount failed'; sudo losetup -d $loop_path; exit -1; ) 19 | 20 | # on success, caller must umount and losetup -d when done 21 | echo $loop_path $mount_path 22 | -------------------------------------------------------------------------------- /tools/update_disk/src/disk.h: -------------------------------------------------------------------------------- 1 | #ifndef DISK_H_INCLUDED 2 | #define DISK_H_INCLUDED 3 | 4 | 5 | #include 6 | #include 7 | 8 | 9 | typedef struct disk_handle 10 | { 11 | /* WARNING: 64 bit types to avoid overflow with large files */ 12 | 13 | int fd; 14 | 15 | uint64_t block_size; 16 | uint64_t block_count; 17 | 18 | size_t chs[3]; 19 | 20 | /* off, size in blocks */ 21 | #define DISK_MAX_PART_COUNT 4 22 | uint64_t part_count; 23 | uint64_t part_off[DISK_MAX_PART_COUNT]; 24 | uint64_t part_size[DISK_MAX_PART_COUNT]; 25 | 26 | } disk_handle_t; 27 | 28 | 29 | int disk_open(disk_handle_t*, const char*); 30 | int disk_open_root(disk_handle_t*); 31 | int disk_open_dev(disk_handle_t*, const char*); 32 | void disk_close(disk_handle_t*); 33 | int disk_seek(disk_handle_t*, size_t); 34 | int disk_write(disk_handle_t*, size_t, size_t, const uint8_t*); 35 | int disk_read(disk_handle_t*, size_t, size_t, uint8_t*); 36 | int disk_update_with_mem(const uint8_t*, size_t); 37 | int disk_update_with_file(const char*); 38 | 39 | 40 | #endif /* DISK_H_INCLUDED */ 41 | --------------------------------------------------------------------------------