View Single Post
  #62 (permalink)  
Old 12-25-2010, 07:44 PM
natemcnutty's Avatar
natemcnutty
VIP Member
Offline
Threadstarter
 
Join Date: Nov 2009
Posts: 845
Reputation: 3070
natemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIPnatemcnutty is still contributing even after becoming a VIP
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Re: How To Compile Your Own Kernels, Modules, Tinboot (NAND boot), and More for Begin

Quote:
Originally Posted by maurice.green View Post
Tinboot modified to allow the modules to be combined with the kernel. Its not completed as of yet as I have only been working on the rhod400. I will modify in the next day to support other keyboards. If you would like to try send me a message and I will send you the zImage and the modified tinboot. Also I have been able to create mtd 0 - 4 on the nand so we are just about there.

Combining the ext2 was just a process of merging it into the rootfs system folder since thats where its mounted to anyway, although I am now thinking of moving it to its own partition. The idea is that you would be able to update any component with a rom flash with out touching the other components. The data file I have not been to worried about as it will be empty on first load anyway. I will bind it to mtd4. I went with 4 partitions because I wanted to have a recovery partition available. Merry Christmas!
Maurice, this sounds awesome. If you have a chance, would you mind PM'ing me the details of your tinboot2.S file or build script as to how you are creating multiple partitions? Also, I thought I could help you out with the keyboard assignment portion. Just replace the keyboard section for init (in rootfs) with this:
Code:
LAYOUT=`/bin/grep ".*0*" /sys/class/htc_hw/machine_variant`

if [ -e $card/tilt2.kb ] ; then
        echo "USING EXPERIMENTAL TILT2 LAYOUT"
        cp -f /init.etc/keymaps/tilt2_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/tilt2_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/tilt2_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ -e $card/rhod210.kb ] ; then
        echo "USING EXPERIMENTAL RHOD210 LAYOUT"
        cp -f /init.etc/keymaps/rhod210_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod210_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod210_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ -e $card/rhod400.kb ] ; then
        echo "USING EXPERIMENTAL RHOD400 LAYOUT"
        cp -f /init.etc/keymaps/rhod400_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod400_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod400_navi_pad.kl /etc/keymaps/raph_navi_pad.kl #does not exist, just following example
elif [ -e $card/rhod500.kb ] ; then
        echo "USING EXPERIMENTAL RHOD500 LAYOUT"
        cp -f /init.etc/keymaps/rhod500_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod500_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod500_navi_pad.kl /etc/keymaps/raph_navi_pad.kl #does not exist, just following example
elif [ -e $card/rhod100_de.kb] ; then
        echo "USING RHOD100 DE LAYOUT"
        cp -f /init.etc/keymaps/rhod100_de_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod100_de_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod100_de_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ -e $card/rhod100_fr.kb] ; then
        echo "USING RHOD100 FR LAYOUT"
        cp -f /init.etc/keymaps/rhod100_fr_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod100_fr_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod100_fr_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ -e $card/rhod100_it.kb] ; then
        echo "USING RHOD100 IT LAYOUT"
        cp -f /init.etc/keymaps/rhod100_it_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod100_it_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod100_it_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ -e $card/rhod100_uk.kb] ; then
        echo "USING RHOD100 UK LAYOUT"
        cp -f /init.etc/keymaps/rhod100_uk_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod100_uk_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod100_uk_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ -e $card/rhod100_nordic.kb] ; then
        echo "USING RHOD100 NORDIC LAYOUT"
        cp -f /init.etc/keymaps/rhod100_nordic_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod100_nordic_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod100_nordic_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ $LAYOUT = "TILT2000" ] ; then
        echo "USING EXPERIMENTAL TILT2 LAYOUT"
        cp -f /init.etc/keymaps/tilt2_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/tilt2_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/tilt2_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ $LAYOUT = "RHOD21000" ] ; then
        echo "USING EXPERIMENTAL RHOD210 LAYOUT"
        cp -f /init.etc/keymaps/rhod210_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod210_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod210_navi_pad.kl /etc/keymaps/raph_navi_pad.kl
elif [ $LAYOUT = "RHOD40000" ] ; then
        echo "USING EXPERIMENTAL RHOD400 LAYOUT"
        cp -f /init.etc/keymaps/rhod400_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod400_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod400_navi_pad.kl /etc/keymaps/raph_navi_pad.kl #does not exist, just following example
elif [ $LAYOUT = "RHOD50000" ] ; then
        echo "USING EXPERIMENTAL RHOD500 LAYOUT"
        cp -f /init.etc/keymaps/rhod500_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod500_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod500_navi_pad.kl /etc/keymaps/raph_navi_pad.kl #does not exist, just following example
else
        echo "DEFAULTING TO RHOD500 LAYOUT BECAUSE WE CAN'T DETERMINE YOUR MODEL TYPE AND NO .KB FILE EXISTS IN ANDBOOT FOLDER ON THE SD CARD!"
        cp -f /init.etc/keymaps/rhod500_microp-keypad.kl /etc/keymaps/microp-keypad.kl
        cp -f /init.etc/keymaps/rhod500_microp-keypad.kcm.bin /etc/keymaps/microp-keypad.kcm.bin
        cp -f /init.etc/keymaps/rhod500_navi_pad.kl /etc/keymaps/raph_navi_pad.kl #does not exist, just following example
fi
Notes: You can leave off the .kb file overrides as I only added those until we got all of the variant values. We still don't have them for all of the rhod100 variants or tilt2 (that I know of), but the variable machine_variant is there to pull from on NAND. Also,

Last edited by natemcnutty; 12-25-2010 at 07:52 PM.
Reply With Quote