Hi,

On Thu, May 16, 2013 at 12:01 AM, Zoltan HERPAI <[email protected]> wrote:
> Add tools support for booting up an i.MX23-based board via bootlets.
>
> Signed-off-by: Zoltan HERPAI <[email protected]>
>
> ---
>
> Index: package/imx-bootlets/patches/003-add-olinuxino.diff
> ===================================================================
> --- package/imx-bootlets/patches/003-add-olinuxino.diff (revision 0)
> +++ package/imx-bootlets/patches/003-add-olinuxino.diff (revision 0)

Minor nitpick: Patches are usually called .patch, not .diff.

> @@ -0,0 +1,171 @@
> +diff -ruN imx-bootlets-10.05.02.orig/linux.db
> imx-bootlets-10.05.02/linux.db
> +--- imx-bootlets-10.05.02.orig/linux.db        2010-05-14
> 06:56:28.000000000 +0200
> ++++ imx-bootlets-10.05.02/linux.db     2012-10-27 01:35:55.000000000 +0200
> +@@ -1,10 +1,10 @@
> +-// STMP378x ROM command script to load and run Linux kernel
> ++// IMX23_OLINUXINO  ROM command script to load and run Linux kernel
> +
> + sources {
> +       power_prep="./power_prep/power_prep";
> +       sdram_prep="./boot_prep/boot_prep";
> +       linux_prep="./linux_prep/output-target/linux_prep";
> +-      zImage="/home/b18647/repos/ltib_latest/rootfs/boot/zImage";
> ++      zImage="../../kernel/linux-3.6-rc1/arch/arm/boot/zImage";

Why is this change necessary? And why does it then not match the
actual used kernel version. Actually, why then not use a path/name
that does not include the version?

> + }
> +
> + section (0) {
> +diff -ruN
> imx-bootlets-10.05.02.orig/linux_prep/board/imx23_olinuxino_dev.c
> imx-bootlets-10.05.02/linux_prep/board/imx23_olinuxino_dev.c
> +--- imx-bootlets-10.05.02.orig/linux_prep/board/imx23_olinuxino_dev.c
> 1970-01-01 01:00:00.000000000 +0100
> ++++ imx-bootlets-10.05.02/linux_prep/board/imx23_olinuxino_dev.c
> 2012-10-27 01:35:55.000000000 +0200
> +@@ -0,0 +1,54 @@
> ++/*
> ++ * Platform specific data for the IMX23_OLINUXINO development board
> ++ *
> ++ * Fadil Berisha <[email protected]>
> ++ *
> ++ * Copyright 2008 SigmaTel, Inc
> ++ * Copyright 2008 Embedded Alley Solutions, Inc
> ++ * Copyright 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved.
> ++ *
> ++ * This file is licensed under the terms of the GNU General Public License
> ++ * version 2. This program is licensed "as is" without any warranty of any
> ++ * kind, whether express or implied.
> ++ *
> ++ * http://www.opensource.org/licenses/gpl-license.html
> ++ * http://www.gnu.org/copyleft/gpl.html
> ++ */
> ++#include <setup.h>
> ++#include <keys.h>
> ++#include <lradc_buttons.h>
> ++
> ++/************************************************
> ++ * LRADC keyboard data *
> ++ ************************************************/
> ++int lradc_keypad_ch = LRADC_CH0;
> ++int lradc_vddio_ch = LRADC_CH6;
> ++
> ++struct lradc_keycode lradc_keycodes[] = {
> ++ { 100, KEY4 },
> ++ { 306, KEY5 },
> ++ { 601, KEY6 },
> ++ { 932, KEY7 },
> ++ { 1260, KEY8 },
> ++ { 1424, KEY9 },
> ++ { 1707, KEY10 },
> ++ { 2207, KEY11 },
> ++ { 2525, KEY12 },
> ++ { 2831, KEY13 },
> ++ { 3134, KEY14 },
> ++ { -1, 0 },
> ++};
> ++
> ++/************************************************
> ++ * Magic key combinations for Armadillo *
> ++ ************************************************/
> ++u32 magic_keys[MAGIC_KEY_NR] = {
> ++ [MAGIC_KEY1] = KEY4,
> ++ [MAGIC_KEY2] = KEY6,
> ++ [MAGIC_KEY3] = KEY10,
> ++};
> ++
> ++/************************************************
> ++ * Default command line *
> ++ ************************************************/
> ++char cmdline_def[] = "console=ttyAMA0,115200";
> +diff -ruN
> imx-bootlets-10.05.02.orig/linux_prep/cmdlines/imx23_olinuxino_dev.txt
> imx-bootlets-10.05.02/linux_prep/cmdlines/imx23_olinuxino_dev.txt
> +---
> imx-bootlets-10.05.02.orig/linux_prep/cmdlines/imx23_olinuxino_dev.txt
> 1970-01-01 01:00:00.000000000 +0100
> ++++ imx-bootlets-10.05.02/linux_prep/cmdlines/imx23_olinuxino_dev.txt
> 2012-10-27 01:35:55.000000000 +0200
> +@@ -0,0 +1,3 @@
> ++noinitrd console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc
> ++noinitrd console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc
> ++noinitrd console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc

Three times' the charm?

> +diff -ruN imx-bootlets-10.05.02.orig/linux_prep/core/setup.c
> imx-bootlets-10.05.02/linux_prep/core/setup.c
> +--- imx-bootlets-10.05.02.orig/linux_prep/core/setup.c 2010-05-14
> 06:56:28.000000000 +0200
> ++++ imx-bootlets-10.05.02/linux_prep/core/setup.c      2012-10-27
> 01:35:55.000000000 +0200
> +@@ -84,6 +84,8 @@
> + #include "../../mach-mx28/includes/registers/regsrtc.h"
> + #elif defined(STMP378X)
> + #include "../../mach-mx23/includes/registers/regsrtc.h"
> ++#elif defined(IMX23_OLINUXINO)
> ++#include "../../mach-mx23/includes/registers/regsrtc.h"
> + #endif
> +
> + #define NAND_SECONDARY_BOOT          0x00000002
> +diff -ruN imx-bootlets-10.05.02.orig/linux_prep/include/mx23/platform.h
> imx-bootlets-10.05.02/linux_prep/include/mx23/platform.h
> +--- imx-bootlets-10.05.02.orig/linux_prep/include/mx23/platform.h
> 2010-05-14 06:56:28.000000000 +0200
> ++++ imx-bootlets-10.05.02/linux_prep/include/mx23/platform.h   2012-10-27
> 01:35:55.000000000 +0200
> +@@ -19,6 +19,10 @@
> +
> + #if defined (BOARD_STMP378X_DEV)
> + #define       MACHINE_ID      0xa45
> ++
> ++#elif defined (BOARD_IMX23_OLINUXINO_DEV)
> ++#define MACHINE_ID 0x1009
> ++
> + #else
> + #error "Allocate a machine ID for your board"
> + #endif
> +diff -ruN imx-bootlets-10.05.02.orig/linux_prep/Makefile
> imx-bootlets-10.05.02/linux_prep/Makefile
> +--- imx-bootlets-10.05.02.orig/linux_prep/Makefile     2010-05-14
> 06:56:28.000000000 +0200
> ++++ imx-bootlets-10.05.02/linux_prep/Makefile  2012-10-27
> 01:35:55.000000000 +0200
> +@@ -69,6 +69,11 @@
> + HW_OBJS = $(LRADC_OBJS)
> + CFLAGS += -DMX28 -DBOARD_MX28_EVK
> + endif
> ++ifeq ($(BOARD), imx23_olinuxino_dev)
> ++ARCH = mx23
> ++HW_OBJS = $(LRADC_OBJS)
> ++CFLAGS += -DIMX23_OLINUXINO -DBOARD_IMX23_OLINUXINO_DEV
> ++endif
> +
> + # Generic code
> + CORE_OBJS = entry.o resume.o cmdlines.o setup.o keys.o
> +diff -ruN imx-bootlets-10.05.02.orig/Makefile
> imx-bootlets-10.05.02/Makefile
> +--- imx-bootlets-10.05.02.orig/Makefile        2012-10-25
> 02:12:41.000000000 +0200
> ++++ imx-bootlets-10.05.02/Makefile     2012-10-27 01:35:55.000000000 +0200
> +@@ -3,9 +3,9 @@
> + export MEM_TYPE
> +
> + DFT_IMAGE=$(DEV_IMAGE)/boot/zImage
> +-DFT_UBOOT=$(DEV_IMAGE)/boot/u-boot
> ++DFT_UBOOT=../boot/u-boot
> +
> +-BOARD ?= stmp378x_dev
> ++BOARD ?= imx23_olinuxino_dev
> +
> + ifeq ($(BOARD), stmp37xx_dev)
> + ARCH = 37xx
> +@@ -16,6 +16,12 @@
> + ifeq ($(BOARD), iMX28_EVK)
> + ARCH = mx28
> + endif
> ++ifeq ($(BOARD), imx23_olinuxino_dev)
> ++ARCH = mx23
> ++endif
> ++ifeq ($(BOARD), imx23_olinuxino_dev)
> ++ARCH = mx23
> ++endif

You add this chunk twice.

> +
> + all: build_prep gen_bootstream
> +
> +@@ -94,6 +100,8 @@
> + clean:
> +       -rm -rf *.sb
> +       rm -f sd_mmc_bootstream.raw
> ++      rm -f linux_prep/board/*.o
> ++      rm -f power_prep/*.o
> +       $(MAKE) -C linux_prep clean ARCH=$(ARCH)
> +       $(MAKE) -C boot_prep clean ARCH=$(ARCH)
> +       $(MAKE) -C power_prep clean ARCH=$(ARCH)
> +diff -ruN imx-bootlets-10.05.02.orig/uboot.db
> imx-bootlets-10.05.02/uboot.db
> +--- imx-bootlets-10.05.02.orig/uboot.db        2010-05-14
> 06:56:28.000000000 +0200
> ++++ imx-bootlets-10.05.02/uboot.db     2012-10-27 01:35:55.000000000 +0200
> +@@ -3,7 +3,7 @@
> + sources {
> +       power_prep="./power_prep/power_prep";
> +       sdram_prep="./boot_prep/boot_prep";
> +-      image="/home/b18647/repos/ltib_latest/rootfs/boot/u-boot";
> ++      image="../boot/u-boot";
> + }
> +
> + section (0) {
> Index: package/imx-bootlets/patches/001-skip_sb_generation.diff
> ===================================================================
> --- package/imx-bootlets/patches/001-skip_sb_generation.diff    (revision 0)
> +++ package/imx-bootlets/patches/001-skip_sb_generation.diff    (revision 0)
> @@ -0,0 +1,18 @@
> +--- imx-bootlets-src-10.05.02.orig/Makefile    2010-05-14
> 06:56:28.000000000 +0200
> ++++ imx-bootlets-src-10.05.02/Makefile 2012-10-24 21:41:44.000000000 +0200
> +@@ -32,10 +32,11 @@
> +       sed -i 's,[^ *]image.*;,\timage="$(DFT_UBOOT)";,' uboot.db
> +       elftosb2 -z -c ./uboot.db -o i$(ARCH)_uboot.sb
> + else
> +-      @echo "by using the pre-built kernel"
> +-      elftosb2 -z -c ./linux_prebuilt.db -o i$(ARCH)_linux.sb
> +-      @echo "generating U-Boot boot stream image"
> +-      elftosb2 -z -c ./uboot_prebuilt.db -o i$(ARCH)_uboot.sb
> ++      @echo "... not generating any image for now."
> ++      #@echo "by using the pre-built kernel"
> ++      #elftosb2 -z -c ./linux_prebuilt.db -o i$(ARCH)_linux.sb
> ++      #@echo "generating U-Boot boot stream image"
> ++      #elftosb2 -z -c ./uboot_prebuilt.db -o i$(ARCH)_uboot.sb
> + endif
> +       #@echo "generating kernel bootstream file sd_mmc_bootstream.raw"
> +       #Please use cfimager to burn xxx_linux.sb. The below way will no
> Index: package/imx-bootlets/patches/002-set_elftosb_config.patch
> ===================================================================
> --- package/imx-bootlets/patches/002-set_elftosb_config.patch   (revision 0)
> +++ package/imx-bootlets/patches/002-set_elftosb_config.patch   (revision 0)
> @@ -0,0 +1,17 @@
> +--- imx-bootlets-10.05.02.orig/linux_prebuilt.db       2010-05-14
> 06:56:28.000000000 +0200
> ++++ imx-bootlets-10.05.02/linux_prebuilt.db    2012-10-24
> 22:04:37.000000000 +0200
> +@@ -4,10 +4,10 @@
> +       flags = 0x01;
> + }
> + sources {
> +-      power_prep="./power_prep/power_prep";
> +-      sdram_prep="./boot_prep/boot_prep";
> +-      linux_prep="./linux_prep/output-target/linux_prep";
> +-      zImage = "./zImage";
> ++      power_prep="./power_prep";
> ++      sdram_prep="./boot_prep";
> ++      linux_prep="./linux_prep";
> ++      zImage = "./zImage_dtb";
> + }
> +
> + section (0) {
> Index: package/imx-bootlets/Makefile
> ===================================================================
> --- package/imx-bootlets/Makefile       (revision 0)
> +++ package/imx-bootlets/Makefile       (revision 0)
> @@ -0,0 +1,42 @@
> +#
> +# Copyright (C) 2006 OpenWrt.org
> +#
> +# This is free software, licensed under the GNU General Public License v2.
> +# See /LICENSE for more information.
> +#
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=imx-bootlets
> +PKG_VERSION:=10.05.02
> +
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
> +PKG_SOURCE_URL:=http://trabant.uid0.hu/openwrt/
> +PKG_MD5SUM:=82e375193b66ca643023c1656d536282
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/imx-bootlets
> +       SECTION:=utils
> +       CATEGORY:=Utilities
> +       TITLE:=i.MX23 bootlets
> +       DEPENDS:=@TARGET_imx23
> +endef
> +
> +define Package/imx-bootlets/description
> + i.MX23 bootlets (for oLinuxino)
> +endef
> +
> +define Build/Compile
> +       $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE="$(TARGET_CROSS)"
> +endef
> +
> +define Package/imx-bootlets/install
> +       @echo Copying boot_prep and power_prep into staging - $(STAGING_DIR)
> +       $(INSTALL_BIN) $(PKG_BUILD_DIR)/boot_prep/boot_prep
> $(STAGING_DIR)/boot_prep
> +       $(INSTALL_BIN) $(PKG_BUILD_DIR)/linux_prep/output-target/linux_prep
> $(STAGING_DIR)/linux_prep
> +       $(INSTALL_BIN) $(PKG_BUILD_DIR)/power_prep/power_prep
> $(STAGING_DIR)/power_prep
> +       $(INSTALL_BIN) $(PKG_BUILD_DIR)/linux_prebuilt.db
> $(STAGING_DIR)/linux_prebuilt.db

Line broken, etc pp.

> +endef
> +
> +$(eval $(call BuildPackage,imx-bootlets))
> +
> Index: tools/elftosb/patches/elftosb-10.12.01-libm.patch
> ===================================================================
> --- tools/elftosb/patches/elftosb-10.12.01-libm.patch   (revision 0)
> +++ tools/elftosb/patches/elftosb-10.12.01-libm.patch   (revision 0)
> @@ -0,0 +1,11 @@
> +--- elftosb-10.12.01/makefile.rules    2012-03-15 11:01:44.979020178 -0400
> ++++ elftosb-10.12.01/makefile.rules    2012-03-15 11:01:16.332761989 -0400
> +@@ -101,7 +101,7 @@
> +       keygen.o
> +
> +
> +-LIBS =     -lstdc++
> ++LIBS =     -lstdc++ -lm
> +
> +
> + ifeq ("${UNAMES}", "Linux")
> Index: tools/elftosb/patches/elftosb-10.12.01-fix-header-path.patch
> ===================================================================
> --- tools/elftosb/patches/elftosb-10.12.01-fix-header-path.patch
> (revision 0)
> +++ tools/elftosb/patches/elftosb-10.12.01-fix-header-path.patch
> (revision 0)
> @@ -0,0 +1,19 @@
> +This package had an absolute path for sys/types.h, which doesn't
> +make much sense. It breaks on newer Ubuntu systems, and probably many
> +others once multiarch becomes more common.
> +
> +This patch makes the types a relative path, and allows the system
> +to use whatever include paths it feels are correct.
> +
> +diff -Naurp elftosb-10.12.01-orig/common/stdafx.h
> elftosb-10.12.01/common/stdafx.h
> +--- elftosb-10.12.01-orig/common/stdafx.h      2012-07-12
> 13:30:10.990249396
> -0400
> ++++ elftosb-10.12.01/common/stdafx.h   2012-07-12 13:30:06.858249391 -0400
> +@@ -27,7 +27,7 @@
> + // For Linux systems only, types.h only defines the signed
> + // integer types.  This is not professional code.
> + // Update: They are defined in the header files in the more recent
> version of redhat enterprise gcc.
> +-#include "/usr/include/sys/types.h"
> ++#include <sys/types.h>
> + #include <stdint.h>
> + //typedef unsigned long uint32_t;
> + //typedef unsigned short uint16_t;
> Index: tools/elftosb/Makefile
> ===================================================================
> --- tools/elftosb/Makefile      (revision 0)
> +++ tools/elftosb/Makefile      (revision 0)
> @@ -0,0 +1,36 @@
> +#
> +# Copyright (C) 2006 OpenWrt.org
> +#
> +# This is free software, licensed under the GNU General Public License v2.
> +# See /LICENSE for more information.
> +#
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=elftosb
> +PKG_VERSION:=10.12.01
> +
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
> +PKG_SOURCE_URL:=http://repository.timesys.com/buildsources/e/elftosb/elftosb-10.12.01/
> +PKG_MD5SUM:=e8005d606c1e0bb3507c82f6eceb3056
> +
> +HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
> +
> +include $(INCLUDE_DIR)/host-build.mk
> +
> +#UTIL_DIR=$(HOST_BUILD_DIR)/C/LzmaUtil
> +#ALONE_DIR=$(HOST_BUILD_DIR)/CPP/7zip/Compress/LZMA_Alone

What are these for, and why are they commented out? Please remove them.

> +
> +define Host/Compile
> +       $(MAKE) -C $(HOST_BUILD_DIR) -f makefile
> LDFLAGS="$(HOST_STATIC_LINKING)"
> +       #$(MAKE) -C $(ALONE_DIR) -f makefile.gcc
> LDFLAGS="$(HOST_STATIC_LINKING)"

Same here.

> +endef
> +
> +define Host/Install
> +       #$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin

Why is this commented out?

> +       $(INSTALL_BIN) $(HOST_BUILD_DIR)/bld/linux/elftosb
> $(STAGING_DIR_HOST)/bin/elftosb
> +endef
> +
> +define Host/Clean
> +endef
> +
> +$(eval $(call HostBuild))
> Index: tools/Makefile
> ===================================================================
> --- tools/Makefile      (revision 36641)
> +++ tools/Makefile      (working copy)
> @@ -20,6 +20,7 @@
>  tools-$(CONFIG_TARGET_orion_generic) += wrt350nv2-builder upslug2
>  tools-$(CONFIG_powerpc) += upx
>  tools-$(CONFIG_TARGET_x86) += qemu
> +tools-$(CONFIG_TARGET_imx23) += elftosb
>  tools-$(CONFIG_TARGET_brcm2708) += mtools dosfstools
>  ifneq ($(CONFIG_TARGET_ar71xx),)
>  tools-y += lzma-old squashfs
> _______________________________________________
> openwrt-devel mailing list
> [email protected]
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Jonas
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to