dCore Import Debian Packages to Mountable SCE extensions > Allwinner A10

A10 boot files

<< < (5/13) > >>

roberts:
That wiki is for x86. The marsboard being an A10 requires uImage which is a mkimaged from compiled kernel. You choice to use Allwinner is a more complex arm development environment that say rPi or even i.MX6. Anyway, if you have access to a powered hard drive to use as persistent storage then you can compile both kernel and modules on the marsbard using a10Core. You must also have swap available.

From running a10Core you just need to import

build-essential
libncurses5-dev

Then a make menuconfig should work

make
make modules

then be sure you have, get, or compile, mkimage from sunxi tools

make uImage
make modules_install=INSTALL_MOD_PATH=/mnt/sdX/some-persistent storage

If all you need are a few modules, then you may get by with make modules and make modules_install thereby bypassing sunxi tools mkimage.

Good luck

persian:
Dear Roberts,

Thank you for your replies to my questions.

I imported (with -b switch) the [build-eesential] and [nlibcurses5-dev] and I am working only with [linux-sunxi-g2d.zip] source codes (from http://tinycorelinux.net/5.x/armv7/src/) and make and compile them on my Marsbord (not on a PC virtual machine).

I don't know how to do the following tasks:

1- How to define or enable Swap ?

2- Which version of Sunxi tools is sweet for A10 chip and how to get and install it on my Marsborad for compilation?

3- The make menuconfig  have many options for AllWinner SUN4I Platform (ARCH_SUN4I) and I don't know how to select options and sub-options for this or other (such as CPU freq., Kernel, Memory split, Preemption model, ELF, Net and ...) parameters setting ?

Note: My Marsborad have a uSD 8GB (without Hard disk) and I compile on it with the selection of  Ugly GPIO and SPI drivers options in make menuconfig  .

Thank you again.

persian:
Dear Robers,

I found how to define chip with [make menuconfig] from <linux-sunxi-g2d> directory.

But I got the following warnings and error with [make] :
 
:
:
  CC      arch/arm/mach-sun4i/dma/dma_15.o
  LD      arch/arm/mach-sun4i/dma/built-in.o
WARNING: arch/arm/mach-sun4i/dma/built-in.o(.devinit.text+0xc): Section mismatch in reference from the function sw_dmac_probe() to the function .init.text:sw15_dma_init()
The function __devinit sw_dmac_probe() references
a function __init sw15_dma_init().
If sw15_dma_init is only used by sw_dmac_probe then
annotate sw15_dma_init with a matching annotation.

WARNING: arch/arm/mach-sun4i/dma/built-in.o(.devinit.text+0x14): Section mismatch in reference from the function sw_dmac_probe() to the function .init.text:sw_dma_init_map()
The function __devinit sw_dmac_probe() references
a function __init sw_dma_init_map().
If sw_dma_init_map is only used by sw_dmac_probe then
annotate sw_dma_init_map with a matching annotation.

  CC      arch/arm/mach-sun4i/pm/pm.o
  LD      arch/arm/mach-sun4i/pm/built-in.o
  CC      arch/arm/mach-sun4i/core.o
  CC      arch/arm/mach-sun4i/devices.o
  CC      arch/arm/mach-sun4i/sys_config.o
  LD      arch/arm/mach-sun4i/built-in.o
WARNING: arch/arm/mach-sun4i/built-in.o(.devinit.text+0xc): Section mismatch in reference from the function sw_dmac_probe() to the function .init.text:sw15_dma_init()
The function __devinit sw_dmac_probe() references
a function __init sw15_dma_init().
If sw15_dma_init is only used by sw_dmac_probe then
annotate sw15_dma_init with a matching annotation.

WARNING: arch/arm/mach-sun4i/built-in.o(.devinit.text+0x14): Section mismatch in reference from the function sw_dmac_probe() to the function .init.text:sw_dma_init_map()
The function __devinit sw_dmac_probe() references
a function __init sw_dma_init_map().
If sw_dma_init_map is only used by sw_dmac_probe then
annotate sw_dma_init_map with a matching annotation.

  CC      kernel/sched.o
  CC      kernel/fork.o
:
:
:
  LD      drivers/i2c/built-in.o
  CC      drivers/input/input.o
drivers/input/input.c: In function 'input_pass_event':
drivers/input/input.c:106:7: warning: unused variable 'not_gsensor' [-Wunused-variable]
drivers/input/input.c:105:6: warning: unused variable 'i' [-Wunused-variable]
drivers/input/input.c: At top level:
drivers/input/input.c:88:20: warning: 'gsensor_name_list' defined but not used [-Wunused-variable]
  CC      drivers/input/input-compat.o
  CC      drivers/input/input-mt.o
:
:
:
  LD      drivers/media/built-in.o
  CC      drivers/misc/sun4i-gpio.o
drivers/misc/sun4i-gpio.c: In function 'sun4i_gpio_init':
drivers/misc/sun4i-gpio.c:248:20: warning: ignoring return value of 'sysfs_create_group', declared with attribute warn_unused_result [-Wunused-result]
  LD      drivers/misc/built-in.o
  LD      drivers/net/built-in.o
  CC      drivers/rtc/rtc-lib.o
  LD      drivers/rtc/built-in.o
  CC      drivers/spi/spi.o
  CC      drivers/spi/spi_sunxi.o
  LD      drivers/spi/built-in.o
WARNING: drivers/spi/built-in.o(.text+0x2818): Section mismatch in reference from the function spi_sunxi_register_spidev() to the function .init.text:spi_register_board_info()
The function spi_sunxi_register_spidev() references
the function __init spi_register_board_info().
This is often because spi_sunxi_register_spidev lacks a __init
annotation or the annotation of spi_register_board_info is wrong.

  CC      drivers/tty/tty_io.o
  CC      drivers/tty/n_tty.o
:
:
:
  LD      drivers/built-in.o
WARNING: drivers/built-in.o(.text+0x2abc0): Section mismatch in reference from the function spi_sunxi_register_spidev() to the function .init.text:spi_register_board_info()
The function spi_sunxi_register_spidev() references
the function __init spi_register_board_info().
This is often because spi_sunxi_register_spidev lacks a __init
annotation or the annotation of spi_register_board_info is wrong.

  CC      net/nonet.o
:
:
:
  AR      lib/lib.a
  LD      vmlinux.o
  MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x119020): Section mismatch in reference from the function spi_sunxi_register_spidev() to the function .init.text:spi_register_board_info()
The function spi_sunxi_register_spidev() references
the function __init spi_register_board_info().
This is often because spi_sunxi_register_spidev lacks a __init
annotation or the annotation of spi_register_board_info is wrong.

WARNING: vmlinux.o(.devinit.text+0x74): Section mismatch in reference from the function sw_dmac_probe() to the function .init.text:sw15_dma_init()
The function __devinit sw_dmac_probe() references
a function __init sw15_dma_init().
If sw15_dma_init is only used by sw_dmac_probe then
annotate sw15_dma_init with a matching annotation.

WARNING: vmlinux.o(.devinit.text+0x7c): Section mismatch in reference from the function sw_dmac_probe() to the function .init.text:sw_dma_init_map()
The function __devinit sw_dmac_probe() references
a function __init sw_dma_init_map().
If sw_dma_init_map is only used by sw_dmac_probe then
annotate sw_dma_init_map with a matching annotation.

  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
drivers/built-in.o: In function `mma7660_probe':
hid-input.c:(.devinit.text+0xdc): undefined reference to `input_allocate_polled_device'
hid-input.c:(.devinit.text+0x1a0): undefined reference to `input_register_polled_device'
make: *** [.tmp_vmlinux1] Error 1

tc@box:/mnt/mmcblk0p2/tce/linux-sunxi-g2d$
 

I found [mma7660] is an I2C G-sensor but I did not enable any G-sensor with [make menuconfig] and this option is not selected in menuconfig !

please help me about the above warning and error.

Thank you.

roberts:
Sorry, but if you don't know basic Linux, i.e., enabling swap, then I would suggest that you should start there. Get a book on Linux, also there are books on embedded linux development explaining u-boot, as well a much available on the internet. Without basic Linux knowledge this task will be most difficult.

When compiling a kernel there will be some warning messages. Did you start with a10-kernel.config and just add you requirements? You still haven't even indicated the kernel config additions that meet your requirements. What did you add to a10-kernel.config?

Another thing, I am sure that you would not want to load the compiler environment upon evey boot. Using import -b is not recommended. Basic use of dCore is import, which is used only once, loadsce which is used when you want to load and use an application.

persian:
Dear Roberts,

Thank you, I know the difference of  (import -b) and (loadsce).

As I said before I want to enable Ugly GPIO and SPI driver, then I think at file [a10Core-kernel.config] the following line
# CONFIG_SUN4I_GPIO_UGLY is not set
must be change to
CONFIG_SUN4I_GPIO_UGLY=y
but I did not find any line for enabling general SPI functions (for general hardware devices such as  RFM12B RF modules or other self-made GSM, ADXL345 sensor or GPS devices ).

I done the above with [make menuconfig] but after make I got the following error.

Why the following error occued ? I did not enable any G-sensore such as mma7660 !

drivers/built-in.o: In function `mma7660_probe':
hid-input.c:(.devinit.text+0xdc): undefined reference to `input_allocate_polled_device'
hid-input.c:(.devinit.text+0x1a0): undefined reference to `input_register_polled_device'
make: *** [.tmp_vmlinux1] Error 1

Thanks again.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version