Toolchain new
From t-hack.com - Hack X300T / X301T
Line 1: | Line 1: | ||
− | *Grab [[Media:Smp86xx_toolchain_2.8.0.1.tar.gz]], unpack, make, wait...<br> | + | *Prerequisites: |
+ | |||
+ | gcc3.4 (it doesn't matter if you also have gcc4.x, as long as you have 3.4)<br> | ||
+ | zlib-dev (zlib1g-dev on Ubuntu - possibly others)<br> | ||
+ | bison<br> | ||
+ | flex<br> | ||
+ | genromfs<br> | ||
+ | libncurses5-dev<br> | ||
+ | <br> | ||
+ | Run this before you start (if you close the terminal you were working in you'll have to run this again):<br> | ||
+ | <pre>export CC=gcc-3.4</pre> | ||
+ | |||
+ | *Grab [[Media:Smp86xx_toolchain_2.8.0.1.tar.gz]], unpack, then run:<br> | ||
+ | <pre>make menuconfig && make</pre> | ||
+ | You'll get the Buildroot configuration page, don't change anything, just exit. When it asks if you want to save choose yes, then wait...<br> | ||
+ | Once it's done (the last line should be 'creating toolchain-path.env...') run: | ||
<pre>source /path/to/smp86xx_toolchain_2.8.0.1/toolchain-path.env</pre> | <pre>source /path/to/smp86xx_toolchain_2.8.0.1/toolchain-path.env</pre> | ||
− | *Grab [[Media:Rootfs-2.7.127.0.tar.bz2]], unpack, make, | + | *Grab [[Media:Rootfs-2.7.127.0.tar.bz2]], unpack, then run:<br> |
+ | <pre>make menuconfig && make</pre> | ||
+ | Same as before, just exit and save the config, then some more waiting...<br> | ||
+ | If it claims you don't have zlib-dev but /usr/include/zlib.h exists, then change /path/to/rootfs_2.7.127.0/test_if_zlib_is_available.sh to: | ||
+ | <pre>#! /bin/sh | ||
+ | echo yes</pre> | ||
+ | '''Only do this if /usr/include/zlib.h exists!''' | ||
+ | |||
+ | Once it's compiled run: | ||
<pre>source /path/to/rootfs_2.7.127.0/rootfs-path.env</pre> | <pre>source /path/to/rootfs_2.7.127.0/rootfs-path.env</pre> | ||
*Grab [[Media:Kernel-2.7.127.0.tar.bz2]], unpack, make menuconfig, make vmlinux.bin, wait...<br> | *Grab [[Media:Kernel-2.7.127.0.tar.bz2]], unpack, make menuconfig, make vmlinux.bin, wait...<br> | ||
− | You have to tell te kernel not to use the whole ram in dram0, i.e. via mem=32M, this is required, otherwise it will crash ! | + | Use my nfsroot kernel .config file if you are not sure about the settings [[Media:27127config.gz| <<rename this file to .config, it is not compressed>>]]<br> |
+ | Recommended settings (Machine Selection screen)<br> | ||
+ | [[Image:Tango2_machine_sel.JPG]]<br> | ||
+ | If you are using a [[Setup_NFS-Root-Filesystem|nfsroot]] : Just create an empty directory, ie mkdir ../initramfs, then edit the kernel .config and set CONFIG_INITRAMFS_SOURCE to "../initramfs", if you do not do this the kernel will use the initramfs as root and willl never mount the nfsroot<br> | ||
+ | You have to tell te kernel not to use the whole ram in dram0, i.e. via mem=32M, this is '''required''', otherwise it will crash ! | ||
The use [[MakeNK]] create a lx.bin compatible with the wince bootloader (uncheck romfs). | The use [[MakeNK]] create a lx.bin compatible with the wince bootloader (uncheck romfs). | ||
− | *Get mrua-2.7.127.0-prod.tar.bz2 from "somewhere" | + | *Get mrua-2.7.127.0-prod.tar.bz2 from "somewhere" <span style="color:red">works only for wince based stbs !</span> |
<pre>export UCLINUX_KERNEL=/path/to/kernel_source_2.7.127.0/linux-2.6.15/</pre> | <pre>export UCLINUX_KERNEL=/path/to/kernel_source_2.7.127.0/linux-2.6.15/</pre> | ||
copy /modules, bin/ and /lib to your rootfs, nfsroot, .. | copy /modules, bin/ and /lib to your rootfs, nfsroot, .. | ||
+ | |||
+ | *apply [[Media:Dbgmonodram1.gz|<<this patch, not a gz file !>>]] via | ||
+ | <pre> | ||
+ | cd mrua-2.7.127.0-prod && patch -p1 < ../Dbgmonodram1.gz | ||
+ | </pre>for more debug output and to be able to play videos from dram1 with mono (the command line option should be "-dram 1 -ve1" or something like that) |