Unofficial Arch Linux ARM image for A20-OLinuXino-MICRO

Started by progmetalbg, September 12, 2013, 04:27:38 PM

Previous topic - Next topic

xanb

Your image has FAT first partition or EXT4? In new uimage, we could use ext4. In official installation, for example Cubieboard2, it uses FAT

Thanks,

xanb

After installing your img, after doing `pacman -Syu` I get that Olimex does not boot.

progmetalbg

Latest systemd requires special kernel modification in order to boot. As I'm using my OLinuXino only headless I tried the mainline kernel (3.16 and 3.17-rc) and both work very good on my board. If I have enough free time I'll prepare instructions for building Arch Linux ARM image for A20-OLinuXino using vanilla kernel from kernel.org

xanb

The problem is that network is not boot. The system itself boots but not the network. I haave no screen so I NEED that network works.

Why don't you put efforts to support the archlinuxarm official distro?

progmetalbg

Quote from: xanb on September 23, 2014, 06:06:40 PM
The problem is that network is not boot. The system itself boots but not the network. I haave no screen so I NEED that network works.

Why don't you put efforts to support the archlinuxarm official distro?

I don't know why Arch Linux ARM developers don't support Allwineer based OLinuXino boards.
As you can see list of supported boards is not so small:
http://archlinuxarm.org/platforms/armv7/allwinner
Probably they need to receive free boards from Olimex in order to officially support them.
Better ask in their forums for more info.
The main difference between all those boards is the u-boot bootloader config, so if you compile one for OLinuXino and replace the Cubieboard's in the official ALARM image it will most probably run w/o issues.

progmetalbg

Although no official support is provided for AllWinnner based OLinuXino boards in Arch Linux ARM, it seems that there is at least semi-official support  ;).
ALARM developers provide generic AllWinner sun7i (A20), sun4i (A10) and sun5i (A13, A10s) rootfs and kernel.
There are also u-boot pacman packages for many boards including A20-OLinuXino-MICRO located here:
http://os.archlinuxarm.org/armv7h/alarm/

So here is a simplified version howto install Arch Linux ARM on your A20-OLinuXino-MICRO board:

Follow the official guide for Cubieboard 2 (Installation tab):
http://archlinuxarm.org/platforms/armv7/allwinner/cubieboard-2
Execute steps 1-4.
Download u-boot package for A20-OLinuXino-MICRO, current one is available here:
http://os.archlinuxarm.org/armv7h/alarm/uboot-a20-olinuxino-micro-2014.04-9-armv7h.pkg.tar.xz
Open it with Archive program such as Archive Manager, Ark, etc. Go to boot directory and extract the 3 files (uEnv.txt, script.bin, u-boot-sunxi-wth-spl.bin) on mnt/boot replacing the Cubieboard ones.
Proceed with steps 5-7 from Cubieboard2 guide (except that you need 12V power supply)
That's it

xanb

Yes, it works, but but `uboot-cubieboard2` in the ignore list of packages of pacman.conf. Else you can say "no" to this question everytime:

(14/14) upgrading uboot-cubieboard2                                         [##########################################] 100%
A new U-Boot version needs to be flashed onto /dev/mmcblk0.
Do you want to do this now? [y|N]
n
You can do this later by running:
# dd if=/boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8

xanb

You could circumvent it, installing uboot-a20-olinuxino-micro:

# pacman -Si uboot-a20-olinuxino-micro
Repository     : alarm
Name           : uboot-a20-olinuxino-micro
Version        : 2014.04-10
Description    : U-Boot for A20 OLinuXino Micro
Architecture   : armv7h
URL            : https://github.com/linux-sunxi/u-boot-sunxi
Licenses       : GPL
Groups         : None
Provides       : uboot-sunxi
Depends On     : None
Optional Deps  : None
Conflicts With : uboot-sunxi
Replaces       : None
Download Size  : 107.60 KiB
Installed Size : 318.00 KiB
Packager       : Arch Linux ARM Build System <builder+xu6@archlinuxarm.org>
Build Date     : Sat Oct 4 18:36:04 2014
Validated By   : MD5 Sum  SHA256 Sum  Signature

[root@alarm ~]# pacman -S uboot-a20-olinuxino-micro
resolving dependencies...
looking for inter-conflicts...
:: uboot-a20-olinuxino-micro and uboot-cubieboard2 are in conflict (uboot-sunxi). Remove uboot-cubieboard2? [y/N] y

Packages (2): uboot-cubieboard2-2014.04-10 [removal]  uboot-a20-olinuxino-micro-2014.04-10

Total Download Size:    0.11 MiB
Total Installed Size:   0.31 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages ...
uboot-a20-olinuxino-micro-2014.04-10-armv7h       107.6 KiB   262K/s 00:00 [##########################################] 100%
(1/1) checking keys in keyring                                              [##########################################] 100%
(1/1) checking package integrity                                            [##########################################] 100%
(1/1) loading package files                                                 [##########################################] 100%
(1/1) checking for file conflicts                                           [##########################################] 100%
(2/2) checking available disk space                                         [##########################################] 100%
(1/1) removing uboot-cubieboard2                                            [##########################################] 100%
(1/1) installing uboot-a20-olinuxino-micro                                  [##########################################] 100%
A new U-Boot version needs to be flashed onto /dev/mmcblk0.
Do you want to do this now? [y|N]
y
258+1 records in
258+1 records out
264252 bytes (264 kB) copied, 0.00612632 s, 43.1 MB/s
[root@alarm ~]# nano /etc/pacman.conf

xanb

Following your instructions, I get empty /boot/uEnv.txt. How can I pass kernel parameters to that?
Could I simply pass extraargs directly?


extraargs=rootwait sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0 sunxi_no_mali_mem_reserve
ipv6.disable=1 ethaddr=00:CE:39:B7:74:4E
?

without

boot_mmc=fatload mmc 0 0x43000000 ${fexfile}; fatload mmc 0 0x48000000 ${kernel}; bootm 0x48000000
?

What's the meaning of these?

Thanks,


xanb

Quote from: JohnS on November 20, 2014, 12:34:02 PM
google gave me http://linux-sunxi.org/UEnv.txt as first item

John

John, I found this already. But it's useless information.

By the other hand, the boot process ignores the uEnv.txt information in my case. If I put

setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
ext2load mmc 0 0x43000000 script.bin
ext2load mmc 0 0x48000000 uImage
bootm 0x48000000
extraargs=rootwait ipv6.disable=1


then dmesg shows me it ignores me. Why? ext2load? What's that? ext4load exists?  A lot of info is missing....

JohnS


xanb

Quote from: JohnS on November 23, 2014, 05:36:41 PM
I don't understand you.

John

Contents in uEnv.txt does not take into account (dmesg does not show those)

JohnS

Sounds like you're using it wrongly.

I see others have posted suggestions which also will work if used correctly.  Pick one and persevere?

John

xanb

Quote from: JohnS on November 24, 2014, 12:11:37 PM
Sounds like you're using it wrongly.

I see others have posted suggestions which also will work if used correctly.  Pick one and persevere?

John

This is why I posted here. Can you be more specific please.