dCore Import Debian Packages to Mountable SCE extensions > dCore Armv7
Alwinner A20
keksl22:
Yes, please share it with us!
Do you have Gigabit LAN up & running?
Thanks!
Jason W:
I am not able to test anything outside of A10 but I am very interested in any success with dCore and other hardware. I only wish I had the time and means to invest further in A20 and other boards.
Jason W:
And I would be happy to host files in an A20 section for others to test and use.
vdelf:
Hi @all!
Okay, i will try to show what i did:
Get the source for uboot bootloader, i used 2015.4
--- Code: ---wget ftp://ftp.denx.de/pub/u-boot/u-boot-2015.04.tar.bz2
--- End code ---
Extract it an look for a matching config in configs/. I used Bananapi_defconfig
--- Code: ---make CROSS_COMPILE=arm-linux-gnueabihf- Bananapi_defconfig
--- End code ---
I did no modifications, so just compile it
--- Code: ---make CROSS_COMPILE=arm-linux-gnueabihf-
--- End code ---
after that you got the u-boot-sunxi-with-spl.bin.
Now to the kernel. Since v4.0 there is some good support for the allwinner cpu, thats why i tried to build and run a kernel. First i tried a debian system, and after i got it running, i tried tinycore/dcore on top. So my kernel config changes may not all be nessessary for dcore. Feel free to try for yourself.
First download kernel source, i started with 4.0.5. Newer kernels will likely work, but i didnt tried
--- Code: ---wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.5.tar.xz
--- End code ---
extract it an clean up
--- Code: ---make mrproper
--- End code ---
For the allwinner, there is the sunxi_defconfig, so use it
--- Code: ---make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfig
--- End code ---
Now do the changes. I use the script in ./scripts/config so i dont need to go to all the menus. But you can use it, too. From extracted root directory do
--- Code: ---./scripts/config --enable CONFIG_AUTOFS4_FS
--- End code ---
bluetooth is optional, i wanted it
--- Code: ---./scripts/config --enable CONFIG_BT
./scripts/config --enable CONFIG_BT_RFCOMM
./scripts/config --enable CONFIG_BT_RFCOMM_TTY
./scripts/config --enable CONFIG_BT_BNEP
./scripts/config --enable CONFIG_BT_BNEP_MC_FILTER
./scripts/config --enable CONFIG_BT_BNEP_PROTO_FILTER
./scripts/config --enable CONFIG_BT_HIDP
./scripts/config --enable CONFIG_BT_HCIBTUSB
--- End code ---
--- Code: ---./scripts/config --enable CONFIG_CGROUPS
--- End code ---
cifs is optional, i needed it to use some windows shares
--- Code: ---./scripts/config --enable CONFIG_CIFS
./scripts/config --enable CONFIG_CIFS_WEAK_PW_HASH
./scripts/config --enable CONFIG_CIFS_SMB2
--- End code ---
--- Code: ---./scripts/config --enable CONFIG_INPUT_EVDEV
--- End code ---
--- Code: ---./scripts/config --enable CONFIG_FHANDLE
--- End code ---
--- Code: ---./scripts/config --enable CONFIG_FB
./scripts/config --enable CONFIG_FRAMEBUFFER_CONSOLE
./scripts/config --enable CONFIG_FB_SIMPLE
--- End code ---
kernel config in /proc is optional, i liked it
--- Code: ---./scripts/config --enable CONFIG_IKCONFIG
./scripts/config --enable CONFIG_IKCONFIG_PROC
--- End code ---
i mainly enabled ipv6 because of errors during boot of debian, i think its optional
--- Code: ---./scripts/config --enable CONFIG_IPV6
--- End code ---
--- Code: ---./scripts/config --enable CONFIG_BLK_DEV_LOOP
--- End code ---
ntfs support is optional
--- Code: ---./scripts/config --enable CONFIG_NTFS_FS
./scripts/config --enable CONFIG_NTFS_RW
--- End code ---
squashfs is needed for dcore. I was not sure about the compression methods, i included all to be on the safe side
--- Code: ---./scripts/config --enable CONFIG_SQUASHFS
./scripts/config --enable CONFIG_SQUASHFS_XATTR
./scripts/config --enable CONFIG_SQUASHFS_LZ4
./scripts/config --enable CONFIG_SQUASHFS_LZO
./scripts/config --enable CONFIG_SQUASHFS_XZ
--- End code ---
After all changes do
--- Code: ---make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- olddefconfig
--- End code ---
now build the kernel
--- Code: ---make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage dtbs
--- End code ---
i used the -j8 option to speed things up. compiling takes 1:49 minutes on my i7
Now we got the arch/arm/boot/zImage, and the arch/arm/boot/dts/sun7i-a20-<yourboard>.dtb. I used of course the sun7i-a20-bananapi.dtb
Okay, now we need to put it all together. Use an empty sdcard. First install bootloader
--- Code: ---dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=1
dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8
--- End code ---
Then create a ext4-partition, and copy the zImage and the sun7i-a20-<yourboard>.dtb to the root directory of the sdcard.
Now get the uCore ramdisk image from dcore A10 download section
--- Code: ---wget http://distro.ibiblio.org/tinycorelinux/dCore/armv7/Allwinner-A10/uCore
--- End code ---
put it into root of sdcard.
Last step is to create the boot.scr. First create a plan text file, like boot.txt with the following content
--- Code: ---ext4load mmc 0 0x46000000 zImage
ext4load mmc 0 0x49000000 sun7i-a20-<yourboard>.dtb
ext4load mmc 0 0x41000000 uCore
setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
bootz 0x46000000 0x41000000 0x49000000
--- End code ---
Now compile it with the tool in the u-boot-directory tools/mkimage
--- Code: ---./tools/mkimage -C none -A arm -T script -d boot.txt boot.scr
--- End code ---
This creates the boot.scr, put it into the sdcard root directory, too.
Done. If i didnt miss something, then you can put the sdcard into your bord and boot it.
Christof
vdelf:
@keks22
yes, gigabit lan is up and running, but i didnt test the performance yet. Only used ssh and rdesktop so far without any hiccups.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version