Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision |
howtos:hardware:arm:olinuxinoa10s [2013/11/07 05:46 (UTC)] – [Setup of development environment] balky | howtos:hardware:arm:olinuxinoa10s [2013/11/15 01:26 (UTC)] – [Compiling the kernel (Copied from http://olimex.wordpress.com/2013/06/19/building-linux-for-a10s-from-scratch/ and http://olimex.wordpress.com/2013/10/28/building-debian-sd-card-for-linux-with-kernel-3-4-from-scratch-for-a10s-olinuxino-micro/ with some m balky |
---|
This document can also be found at [[http://www.malaya-digital.org/setting-up-slackware-arm-14-0-on-the-olinuxino-a10s-from-scratch/]] | This document can also be found at [[http://www.malaya-digital.org/setting-up-slackware-arm-14-0-on-the-olinuxino-a10s-from-scratch/]] |
====Setup of development environment==== | ====Setup of development environment==== |
* Create a VirtualBox VM for Debian 7.2.0 i386. I allocated 1024MB of RAM to it. As for the virtual hard drive space, I allocated 8GB. I also recommend that you disable audio support for the VM. | * Create a VirtualBox VM for Debian 7.2.0 i386. I allocated 1024MB of RAM to it. As for the virtual hard drive space, I allocated 8GB. I also recommend that you disable audio support for the VM. |
* Download the Net Install ISO image for Debian 7.2.0 i386. Boot the mentioned ISO in the VirtualBox VM you've created. I used the "Install" option in the installer boot menu. | * Download the Net Install ISO image for Debian 7.2.0 i386. Boot the mentioned ISO in the VirtualBox VM you've created. I used the "Install" option in the installer boot menu. |
* This set of instructions will work with everything deselected under "Software selection." You may select software to your taste during installation. | * This set of instructions will work with everything deselected under "Software selection." You may select software to your taste during installation. |
* After the installation, the guest OS will automatically get an IP Address via DHCP. | * After the installation, the guest OS will automatically get an IP Address via DHCP. |
* As root in your guest OS: | * As root in your guest OS: |
<code># apt-get update | <code># apt-get update |
# apt-get upgrade</code> | # apt-get upgrade</code> |
* Install OpenSSH client and server software as root in your guest OS if this will make file transfers and access to your development environment convenient for you: | * Install OpenSSH client and server software as root in your guest OS if this will make file transfers and access to your development environment convenient for you: |
<code># apt-get install openssh-client openssh-server</code> | <code># apt-get install openssh-client openssh-server</code> |
* As root in your guest OS: | * As root in your guest OS: |
# wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.01/+download/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2 | # wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.01/+download/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2 |
# tar xjfv gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2</code> | # tar xjfv gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2</code> |
* Add toolchain directory to $PATH in your guest OS(You may want to add this to /etc/profile . Appending it will do.): | * Add toolchain directory to $PATH in your guest OS(You may want to add this to /etc/profile . Appending it will do.): |
<code>export PATH=/root/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/bin:$PATH</code> | <code>export PATH=/root/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/bin:$PATH</code> |
* Restart your guest OS as root: | * Restart your guest OS as root: |
<code># shutdown -r now</code> | <code># shutdown -r now</code> |
====Compiling the kernel (Copied from http://olimex.wordpress.com/2013/06/19/building-linux-for-a10s-from-scratch/ and http://olimex.wordpress.com/2013/10/28/building-debian-sd-card-for-linux-with-kernel-3-4-from-scratch-for-a10s-olinuxino-micro/ with some modifications)==== | ====Compiling the kernel (Copied from http://olimex.wordpress.com/2013/06/19/building-linux-for-a10s-from-scratch/ and http://olimex.wordpress.com/2013/10/28/building-debian-sd-card-for-linux-with-kernel-3-4-from-scratch-for-a10s-olinuxino-micro/ with some modifications)==== |
<code># cd ~/linux-sunxi/ | <code># cd ~/linux-sunxi/ |
# git checkout 9ee9fc5f0988df5677f0f142b5b88a8988d283d7</code> | # git checkout 9ee9fc5f0988df5677f0f142b5b88a8988d283d7</code> |
| * Do a "make clean": |
| <code># cd ~/linux-sunxi |
| # make clean</code> |
* Download a10s_defconfig: | * Download a10s_defconfig: |
<code># cd ~/linux-sunxi | <code># cd ~/linux-sunxi |
<code># make ARCH=arm menuconfig</code> | <code># make ARCH=arm menuconfig</code> |
* HINT: If you're having problems with Logitech wireless keyboards and mice, don't build the following (for Linux 3.4.61): | * HINT: If you're having problems with Logitech wireless keyboards and mice, don't build the following (for Linux 3.4.61): |
* Under Kernel Configuration, this must be built in the kernel: | |
* Device Drivers->HID Devices->Special HID drivers->< > Logitech Unifying receivers full support | * Device Drivers->HID Devices->Special HID drivers->< > Logitech Unifying receivers full support |
* HINT: To verify OTG is enabled(for Linux 3.4.61): | * HINT: To verify OTG is enabled(for Linux 3.4.61): |
* Device Drivers->Network device support->Ethernet driver support-><*> Allwinner Ethernet MAC support | * Device Drivers->Network device support->Ethernet driver support-><*> Allwinner Ethernet MAC support |
* Note that before compiling kernel, you have to patch it: | * Note that before compiling kernel, you have to patch it: |
* Download the patch hcd_axp-md.patch from <a href="http://www.malaya-digital.org/hcd_axp-md.patch">http://www.malaya-digital.org/hcd_axp-md.patch</a>: | * Download the patch hcd_axp-md.patch from http://www.malaya-digital.org/hcd_axp-md.patch : |
<code># cd ~/linux-sunxi/ | <code># cd ~/linux-sunxi/ |
# wget http://www.malaya-digital.org/hcd_axp-md.patch</code> | # wget http://www.malaya-digital.org/hcd_axp-md.patch</code> |
* Then copy the kernel uImage to the first filesystem of the micro SD card. | * Then copy the kernel uImage to the first filesystem of the micro SD card. |
<code># cp uImage /mnt/olinuxino0 # Get the uImage file from the environment you've compiled the kernel.</code> | <code># cp uImage /mnt/olinuxino0 # Get the uImage file from the environment you've compiled the kernel.</code> |
* Copy the script.bin file in /mnt/olinuxino0 . The mentioned file can be found here: <a href="https://drive.google.com/file/d/0B-bAEPML8fwlYkItdU1TTm1VN0E/edit?usp=sharing">https://drive.google.com/file/d/0B-bAEPML8fwlYkItdU1TTm1VN0E/edit?usp=sharing</a> | * Copy the script.bin file in /mnt/olinuxino0 . The mentioned file can be found here: https://drive.google.com/file/d/0B-bAEPML8fwlYkItdU1TTm1VN0E/edit?usp=sharing |
* Or iff you need to compile your own script.bin, you can get the fex files here in a scripts_A10s.7z archive: <a href="https://drive.google.com/file/d/0B-bAEPML8fwlY3llVDJxelY3d28/edit?usp=sharing">https://drive.google.com/file/d/0B-bAEPML8fwlY3llVDJxelY3d28/edit?usp=sharing</a> | * Or iff you need to compile your own script.bin, you can get the fex files here in a scripts_A10s.7z archive: https://drive.google.com/file/d/0B-bAEPML8fwlY3llVDJxelY3d28/edit?usp=sharing |
* Unmount /mnt/olinuxino0 : | * Unmount /mnt/olinuxino0 : |
<code># umount /mnt/olinuxino0</code> | <code># umount /mnt/olinuxino0</code> |
<code># mkdir /mnt/olinuxino1 | <code># mkdir /mnt/olinuxino1 |
# mount /dev/sdX2 /mnt/olinuxino1 # Substitute the appropriate value for X in /dev/sdX1</code> | # mount /dev/sdX2 /mnt/olinuxino1 # Substitute the appropriate value for X in /dev/sdX1</code> |
* Extract the Slackware ARM 14.0 mini root filesystem in /mnt/olinuxino1 . Slackware mini root filesystem can be found here: <a href="ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-devtools/minirootfs/roots">ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-devtools/minirootfs/roots</a> | * Extract the Slackware ARM 14.0 mini root filesystem in /mnt/olinuxino1 . Slackware mini root filesystem can be found here: ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-devtools/minirootfs/roots |
* Delete all contents of /mnt/olinuxino1/dev/* | * Delete all contents of /mnt/olinuxino1/dev/* |
* Extract this file in /mnt/olinuxino1/dev : <a href="http://www.malaya-digital.org/dev.tar.gz">http://www.malaya-digital.org/dev.tar.gz</a> | * Extract this file in /mnt/olinuxino1/dev : http://www.malaya-digital.org/dev.tar.gz |
* Proceed to copy the generated kernel modules ("~/linux-sunxi/out/lib/modules/3.x.xx" in the development environment where you've compiled the kernel) in the second filesystem of the micro SD card. | * Proceed to copy the generated kernel modules ("~/linux-sunxi/out/lib/modules/3.x.xx" in the development environment where you've compiled the kernel) in the second filesystem of the micro SD card. |
* If the /mnt/olinuxino1/lib/modules directory does not exist, create it. | * If the /mnt/olinuxino1/lib/modules directory does not exist, create it. |