View Single Post
  #1046 (permalink)  
Old 02-04-2011, 03:49 AM
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: NAND Boot Testing - 01-07: Panel power on/off fixes

Well, this is going better than I expected. Unless someone tells me otherwise, I'm modifying the new bootenv/tinboot for the following:

1) Full NAND only (at least initially until it is stable)
2) Rhodium support only (taking out detection of other phones)
3) build.prop is now responsible for setting lcd density (currently 240 in FRX04 and makes our cmdline is redundant...)
4) Incorporating stinebd's OTA update.zip method
5) Froyo libs moved into system (see note below)

I've learned that you can't bind mount onto an initrd, so you have to use links and copy the data that way. Unfortunately, this poses a problem for our method of copying hw lib files based on the build type. For now, I am going to cook the libs into the system. This means we need to cook the libs and stuff into system for each build type (i.e. froyo, gingerbread, cynogen, etc.) that you want to try.

Here's the code I'm talking about:
Code:
RCSCRIPT=""
RCCONFIG=""

echo "Checking for build type..."
if [ -f /system/hero.build ] ; then
    echo "Hero build detected"
    RCSCRIPT="hero"
    RCCONFIG="hero"
    ln /data/app_s /system/app

elif [ -f /system/eclairhero.build ] ; then
    echo "HERO 2.1 BUILD DETECTED -- ECLAIR"
    RCSCRIPT="eclairhero"
    RCCONFIG="eclairhero"
    mount --bind /lib/eclair/hw /system/lib/hw

elif [ -f /system/eclair.build ] ; then
    echo "Eclair build detected"
    RCSCRIPT="eclair"
    RCCONFIG="eclair"
    mount --bind /lib/eclair/hw /system/lib/hw

elif [ -f /system/froyo.build ] ; then
    echo "Froyo build detected"
    RCSCRIPT="froyo"
    RCCONFIG="froyo"
    ln -s /lib/froyo/hw /system/lib/hw

    # vold: Fix sdcard device location for CDMA boards (thanks paalsteek)
    if [ -d /sys/devices/platform/msm_sdcc.3 ]; then
        /bin/sed -i -e 's:/devices/platform/msm_sdcc\.2:/devices/platform/msm_sdcc.3:g' /etc/vold.fstab
    fi

elif [ -f /system/gingerbread.build ] ; then
    echo "Gingerbread build detected"
    RCSCRIPT="gingerbread"
    RCCONFIG="gingerbread"
    ln -s /lib/froyo/hw /system/lib/hw

    # vold: Fix sdcard device location for CDMA boards (thanks paalsteek)
    if [ -d /sys/devices/platform/msm_sdcc.3 ]; then
        /bin/sed -i -e 's:/devices/platform/msm_sdcc\.2:/devices/platform/msm_sdcc.3:g' /etc/vold.fstab
    fi

elif [ -f /system/tattoo.build ] ; then
    echo "Tattoo build detected"
    RCSCRIPT="tattoo"
    RCCONFIG="tattoo"

elif [ -f /system/donut.build ] ; then
    echo "Donut build detected"
    RCSCRIPT="donut"
    RCCONFIG="donut"
    mount --bind /lib/donut/hw /system/lib/hw

elif [ -d /system/lib/donut ] ; then
    echo "Donut build detected"
    RCSCRIPT="donut"
    RCCONFIG="donut"

elif [ -f /system/xrom.build ] ; then
    echo "xROM build detected"
    RCSCRIPT="xrom"
    RCCONFIG="xrom"

elif [ -f /system/rogers.build ] ; then
    echo "Rogers build detected"
    RCSCRIPT="rogers"
    RCCONFIG="rogers"

elif [ -f /system/cyanogen.build ] ; then
    echo "cyanogen experimental detected.....eating donuts"
    RCSCRIPT="cyanogen"
    RCCONFIG="cyanogen"

elif [ -f /system/custom.build ] ; then
    echo "Custom init.rc detected"
    cp /system/sysinit.rc /build.cfg/init.sysinit.rc
    RCCONFIG="hero"
    RCSCRIPT="sysinit"
    
else
    echo "Unknown Android build. Assuming Ion variant"
    RCSCRIPT="ion"
    RCCONFIG="ion"

    # for the fake sensors library
    mount /lib/hw /system/lib/hw -o loop
    chmod 666 /dev/input/event0
fi

echo "using /init.$RCSCRIPT.rc as init.rc"
echo "using $card/conf/$RCCONFIG.user.conf"
cp "/init.cfg/init.$RCSCRIPT.rc" /etc/init.rc
Edit: We also need to cook the rootfs file /lib/froyo/libhardware_legacy.so into system.

Last edited by natemcnutty; 02-04-2011 at 04:02 AM.
Reply With Quote
This post has been thanked 3 times.