[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
howtos:hardware:arm:olinuxinoa10s [2013/11/07 05:31 (UTC)] – [Compiling the kernel] balky | howtos:hardware:arm:olinuxinoa10s [2014/07/28 04:41 (UTC)] (current) – balky | ||
---|---|---|---|
Line 4: | Line 4: | ||
This document can also be found at [[http:// | This document can also be found at [[http:// | ||
- | NOTE: Please use the aforementioned link for the latest documentation. | + | NOTE: The documentation below needs updating. I recommend that you use the link I've just given above as it leads to updated |
====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. | ||
Line 15: | Line 16: | ||
* 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: | ||
< | < | ||
- | * As root in your guest OS: | + | |
< | < | ||
# cd ~ | # cd ~ | ||
Line 24: | Line 25: | ||
* Restart your guest OS as root: | * Restart your guest OS as root: | ||
< | < | ||
- | ====Compiling the kernel(Copied from http:// | + | ====Compiling the kernel (Copied from http:// |
* In the development environment you've made above, login as root. Then get the kernel source code: | * In the development environment you've made above, login as root. Then get the kernel source code: | ||
< | < | ||
Line 35: | Line 36: | ||
< | < | ||
# git checkout 9ee9fc5f0988df5677f0f142b5b88a8988d283d7</ | # git checkout 9ee9fc5f0988df5677f0f142b5b88a8988d283d7</ | ||
+ | * Do a "make clean": | ||
+ | < | ||
+ | # make clean</ | ||
* Download a10s_defconfig: | * Download a10s_defconfig: | ||
< | < | ||
Line 46: | Line 50: | ||
< | < | ||
* 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, | ||
* Device Drivers-> | * Device Drivers-> | ||
* HINT: To verify OTG is enabled(for Linux 3.4.61): | * HINT: To verify OTG is enabled(for Linux 3.4.61): | ||
Line 59: | Line 62: | ||
* Device Drivers-> | * Device Drivers-> | ||
* 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:// | + | * Download the patch hcd_axp-md.patch from http:// |
< | < | ||
# wget http:// | # wget http:// | ||
Line 110: | Line 113: | ||
< | < | ||
* If you got this file, well done so far. | * If you got this file, well done so far. | ||
- | ====Format and setup the micro SD-card==== | + | ====Format and setup the SD-card (Copied from http:// |
- | + | * We suggest that you use a 4GB class 10 micro SD card. But you can use any micro SD card between 2GB and 16GB. | |
- | (Copied from http:// | + | |
- | + | ||
- | * We suggest that you use a 4GB class 10 micro SD card. But you can use micro SD any card between 2GB and 16GB. | + | |
* First, we have to make the correct card partitions. This is done with fdisk. | * First, we have to make the correct card partitions. This is done with fdisk. | ||
- | * Plug the micro SD card into your SD card reader. Then, enter in the terminal: < | + | * Plug the micro SD card into your SD card reader. Then, enter in the terminal: |
- | ls /dev/sd | + | < |
- | </ | + | * Then press TAB twice. You will see a list of your sd devices like sda, sdb, sdc, etc. Note that some of these devices may be your hard disk, so make sure you know which one is your micro SD card before you proceed. You can damage your HDD if you choose the wrong sd device. You can do this by unplugging your micro SD card reader, and identify which ?sd? devices was removed from the list. |
- | * Then press TAB twice. You will see a list of your sd devices like sda, sdb, sdc, etc. Note that some of these devices may be your hard disk, so make sure you know which one is your micro SD card before you proceed. You can damage your HDD if you choose the wrong sd device. You can do this by unplugging your SD card reader, and identify which “sd” devices was removed from the list. | + | * Once you know which device is your micro SD card, use this text instead of the sdX name in the references below: |
- | * Once you know which device is your micro SD card, use this text instead of the sdX name in the references below: < | + | < |
- | fdisk -u=sectors /dev/sdX | + | |
- | </ | + | |
* Then do these steps: | * Then do these steps: | ||
- | | + | |
- | * p | + | * p |
- | * If there are already partitions on your card, do: | + | * If there are already partitions on your card, do: |
- | * d 1 | + | * d 1 |
- | * If you have more than one partitition, | + | * If you have more than one partitition, |
- | * Create the first partition. It should start from 2048 and end at 34815: | + | * Create the first partition. It should start from 2048 and end at 34815: |
- | * n p 1 | + | * n p 1 |
- | * Create the second partition: | + | * Create the second partition: |
- | * n p 2 enter enter | + | * n p 2 enter enter |
- | * List the created partitions: | + | * List the created partitions: |
- | * p | + | * p |
- | * If you did everything correctly on a 4GB card, you should see something like: < | + | * If you did everything correctly on a 4GB card, you should see something like: |
- | Disk /dev/sdX: 3980 MB, 3980394496 bytes | + | < |
123 heads, 62 sectors/ | 123 heads, 62 sectors/ | ||
Units = sectors of 1 * 512 = 512 bytes | Units = sectors of 1 * 512 = 512 bytes | ||
Line 142: | Line 140: | ||
I/O size (minimum/ | I/O size (minimum/ | ||
Disk identifier: 0x00000000 | Disk identifier: 0x00000000 | ||
+ | |||
Device Boot Start End Blocks Id System | Device Boot Start End Blocks Id System | ||
/dev/sdg1 2048 34815 16384 83 Linux | /dev/sdg1 2048 34815 16384 83 Linux | ||
- | /dev/sdg2 34816 7774207 3869696 83 Linux | + | /dev/sdg2 34816 7774207 3869696 83 Linux</ |
- | </ | + | |
- | * Write changes to the micro SD card. | + | |
- | * w | + | * w |
* Now, we have to format the file system on the card: | * Now, we have to format the file system on the card: | ||
- | | + | |
- | mkfs.vfat /dev/sdX1 | + | < |
- | </ | + | * The second partition should be a normal Linux EXT4 FS: |
- | * The second partition should be a normal Linux EXT4 FS: < | + | < |
- | mkfs.ext4 /dev/sdX2 | + | |
- | </ | + | |
====Installing the kernel, Slackware ARM 14.0 mini root filesystem, and kernel modules==== | ====Installing the kernel, Slackware ARM 14.0 mini root filesystem, and kernel modules==== | ||
- | * Copy the " | + | * Proceed to copy the " |
- | Mount the first partition: < | + | |
- | mkdir / | + | < |
- | mount /dev/sdX1 / | + | # mount /dev/sdX1 / |
- | </ | + | * 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. < | + | < |
- | cp uImage / | + | * Copy the script.bin |
- | </ | + | * 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/ |
- | * Extract this file in / | + | * Unmount / |
- | * Unmount / | + | < |
- | umount / | + | * Mount the second partition: |
- | </ | + | < |
- | * Mount the second partition: < | + | # mount /dev/sdX2 / |
- | mkdir / | + | * Extract the Slackware ARM 14.0 mini root filesystem in / |
- | mount /dev/sdX2 / | + | |
- | </ | + | |
- | * Extract the Slackware ARM 14.0 mini root filesystem in / | + | |
* Delete all contents of / | * Delete all contents of / | ||
* Extract this file in / | * Extract this file in / | ||
* Proceed to copy the generated kernel modules (" | * Proceed to copy the generated kernel modules (" | ||
- | *If the / | + | * If the / |
- | mkdir / | + | < |
- | cp -rf 3.x.xx+ / | + | # cp -rf 3.x.xx+ / |
- | </ | + | * Append the following in / |
- | * Append the following in / | + | < |
- | / | + | * Unmount / |
- | </ | + | < |
- | * Unmount / | + | ====Write Uboot (Copied from http:// |
- | umount / | + | * Note that you have to write u-boot-sunxi-with-spl.bin in /dev/sdX (not sdX1 or sdX2). |
- | </ | + | < |
- | + | # sync</ | |
- | ====Write Uboot==== | + | ====NB: When you boot OLinuXino using the micro SD card with Slackware 14.0 for ARM, the " |
- | + | ||
- | (Copied from http:// | + | |
- | + | ||
- | * Note that you have to write u-boot-sunxi-with-spl.bin in /dev/sdX (not sdX1 or sdX2). < | + | |
- | dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8 | + | |
- | sync | + | |
- | </ | + | |
- | + | ||
- | **NB: When you boot OLinuXino using the micro SD card with Slackware 14.0 for ARM, the " | + | |
====== Sources ====== | ====== Sources ====== | ||
<!-- If you are copying information from another source, then specify that source --> | <!-- If you are copying information from another source, then specify that source --> | ||
* Original source: [[http:// | * Original source: [[http:// | ||
* Original source: [[https:// | * Original source: [[https:// | ||
+ | * Original source: [[http:// | ||
<!-- Authors are allowed to give credit to themselves! --> | <!-- Authors are allowed to give credit to themselves! --> | ||
* Originally written by [[wiki: | * Originally written by [[wiki: |