Ho provato la cube9gt e non mi va la wifi, l'audio ed il sensore di rotazione non ho provato. Credo comunque sia relativamente inutile provare immagini compilate di cui non abbiamo i sorgenti pero...:P
Ho provato la cube9gt e non mi va la wifi, l'audio ed il sensore di rotazione non ho provato. Credo comunque sia relativamente inutile provare immagini compilate di cui non abbiamo i sorgenti pero...:P
Ciao, se può esservi utile, questo script dovrebbe "recuperare" il file config.gz dal kernel. Io non soo riuscito a farlo funzionare, ma forse eldiau...
A questo link c'è l'esempio su come utilizzare lo script...
http://wiki.cyanogenmod.com/wiki/How..._a_Kernel_Port
extract-ikconfig
#!/bin/sh
# extracts .config info from a [b]zImage file
# uses: binoffset (new), dd, zcat, strings, grep
# $arg1 is [b]zImage filename
binoffset="./scripts/binoffset"
test -e $binoffset || cc -o $binoffset ./scripts/binoffset.c || exit 1
IKCFG_ST="0x49 0x4b 0x43 0x46 0x47 0x5f 0x53 0x54"
IKCFG_ED="0x49 0x4b 0x43 0x46 0x47 0x5f 0x45 0x44"
dump_config() {
file="$1"
start=`$binoffset $file $IKCFG_ST 2>/dev/null`
[ "$?" != "0" ] && start="-1"
if [ "$start" -eq "-1" ]; then
return
fi
end=`$binoffset $file $IKCFG_ED 2>/dev/null`
[ "$?" != "0" ] && end="-1"
if [ "$end" -eq "-1" ]; then
return
fi
start=`expr $start + 8`
size=`expr $end - $start`
dd if="$file" ibs=1 skip="$start" count="$size" 2>/dev/null | zcat
clean_up
exit 0
}
usage()
{
echo " usage: extract-ikconfig [b]zImage_filename"
}
clean_up()
{
if [ "$TMPFILE" != "" ]; then
rm -f $TMPFILE
fi
}
if [ $# -lt 1 ]
then
usage
exit 1
fi
TMPFILE=`mktemp -t ikconfig-XXXXXX` || exit 1
image="$1"
# vmlinux: Attempt to dump the configuration from the file directly
dump_config "$image"
GZHDR1="0x1f 0x8b 0x08 0x00"
GZHDR2="0x1f 0x8b 0x08 0x08"
ELFHDR="0x7f 0x45 0x4c 0x46"
# vmlinux.gz: Check for a compressed images
off=`$binoffset "$image" $GZHDR1 2>/dev/null`
[ "$?" != "0" ] && off="-1"
if [ "$off" -eq "-1" ]; then
off=`$binoffset "$image" $GZHDR2 2>/dev/null`
[ "$?" != "0" ] && off="-1"
fi
if [ "$off" -eq "0" ]; then
zcat <"$image" >"$TMPFILE"
dump_config "$TMPFILE"
elif [ "$off" -ne "-1" ]; then
(dd ibs="$off" skip=1 count=0 && dd bs=512k) <"$image" 2>/dev/null | \
zcat >"$TMPFILE"
dump_config "$TMPFILE"
# check if this is simply an ELF file
else
off=`$binoffset "$image" $ELFHDR 2>/dev/null`
[ "$?" != "0" ] && off="-1"
if [ "$off" -eq "0" ]; then
dump_config "$image"
fi
fi
echo "ERROR: Unable to extract kernel configuration information."
echo " This kernel image may not have the config info."
clean_up
exit 1
https://github.com/CyanogenMod/htc-k...tract-ikconfig
Ultima modifica di yatto; 15-11-11 alle 16:19
gexking (15-11-11)
Il fatto è che questo file non c'e nel kernel. Infatti è possibile, compilando il kernel, fare in modo che tale file non sia incluso.Chi sviluppa in maniera disinteressata (come Eldiau suppongo) lascia flaggato questo campo..I produttori invece se ne guardano bene.. Se il tuo script riesce ad estrapolarlo in qualche altro modo che non comprendo allora proviamo...
D
Veramente, lo script serve per estrarre il config.gz direttamente dall'immagine di boot:
Retrieve a kernel .config file:
This can be pulled from the phone, or extracted from a boot.img:
1. Retrieve a working kernel config from your phone:
adb pull /proc/config.gz .
gunzip config.gz && mv config .config
OR
2. Alternatively, you can pull the .config from the newest boot.img
scripts/extract-ikconfig boot.img > .config
Durante la compilazione si puo' decidere se includere la configurazione nel kernel (parametro CONFIG_IKCONFIG=y) e in piu' se renderla disponibile a runtime via /proc/config.gz (parametro CONFIG_IKCONFIG_PROC=y), lo script funziona solo se almeno il primo parametro e' stato attivato, cosa che ovviamente non e' stata fatta perche' evidentemente il produttore ritiene il codice GPL di sua proprieta'
Purtroppo in Cina nemmeno Apple riesce a vincere le cause, figuariamoci la free software foundation! Certo la cosa e' tanto piu' irritante quando una compania commerciale si appropria di codice che e' una ricchezza della comunita'....
Ultima modifica di eldiau; 15-11-11 alle 20:39
simulatorhck (15-11-11)
Allora un aggiornamento... siamo concentrati sul far funzionare il touch screen che e' abbastanza vitale !
In base ai boot con il kernel standard il touch sembrerebbe essere un FocalTech ft5406 e' spero di non prendere cantonate su questo senno' sto buttando vie ore e ore di hacking!
Il FocalTech e' collegato al SoC via bus I2c.
Il driver viene registrato, e viene chiamata la sua funzione init, ma non passa alla funzione probe, sto seguendo a ritroso le chiamate in kernel nel gestore i2c e ancora su nel gestore dei bus...
Ecco la catena delle chiamate fino a dove sono arrivato ieri sera:
IN drivers/input/touchscreen/ft5406_ts.c: ft5406_ts_init() -> IN drivers/i2c/i2c-core.c: i2c_add_driver() -> IN drivers/i2c/i2c-core.c: i2c_register_driver ->IN drivers/base/driver.c: driver_register() -> IN drivers/base/bus.c: bus_add_driver()...
Per dereferenziare le chiamate in kernel c'e' un comodo sito web the Linux Cross Reference http://lxr.linux.no
Ultima modifica di eldiau; 15-11-11 alle 21:13
Immagino che questo sia stato già visionato ma nell' incertezza!!
https://github.com/Asure/Dropad-kern...7/pull/1/files