E' complicato, ma procedendo un passo alla volta si può fare. Sui forum di cyanogen ed xda si trovano maggiori dettagli (e gente parecchio esperta), ma per farti una prima ideadi massima ...
Se dai un occhiata su Free Electrons e ti scarichi da li slides.pdf (un "mini corso" in inglese da 400 slide su come è fatto Android, come lo si compila ecc.) ti puoi fare un idea a grandi linee di "come si fa", poi ovviamente ci sono le scorciatoie
tipo usare una build abbastanza generica già compilata ed aggiungere i moduli del kernel Linux e le .apk aggiuntive/sostitutive che servono per adattare una build ad un tablet diverso da quello originale.
Buona parte della complessità è dovuta al fatto che un "sistema Android" è in realtà un sistema linux molto particolare (ottimizzato in vari modi per le necessità di smartphone e tablet, ad esempio con i wakelock nel kerenle e nuove librerie per varie funzionalita, ecc. ecc.) su cui sopra gira l'ambiente Android (la VM Dalvik ed un mix di librerie native ed in bytecode Dalvik "inpacchettate" in file .apk).
Poi c'è la faccenda dellla sequenza di boot/avvio, che a differenza che sugli x86 varia da un produttore all'altro di chip ARM (ed anche da una famiglia di chip all'altra).
Ad esempio se guardi su qui trovi la descrizione di come un Allwinner A10 fa il boot.
Carica a catena fino 5 diversi bootloader prima di iniziare a caricare in ram il kernel linux. :o
I primi 3 bootloader di solito sono "fissi", il quarto è boot.axf (il "bootloader standard" di Android, standard nel senso che deve fornire tutta una serie di funzioni che sono l'equivalente del bios degli x86, ma il sorgente di boot.axf di solito è di proprieta del produttore del chip ed i suoi sorgenti non sono disponibili) e dopo di esso c'è il bootloader di linux (es: u_boot) o direttamente un kernel linux compilato per essere avviato direttamente da boot.axf.
Significa che oltre a ricompilare da zero oppure cucinare linux+android a volte bisogna pure andare a sostituire gli utlimi due bootloader o almeno riconfigurarli per fargli lanciare correttamente il nuovo kernel.
Nel caso del 930i dovrebbe essere sufficiente un nuovo compatibility package (un "pacchetto" di file con moduli e configurazioni specifiche per il 930i da copiare sopra una installazione cyanogenmod "più generica") la parte più rognosa dovrebbe essere ritoccare alcuni dei settaggi "copiati" dal firmware mediacom in modo da migliorare il funzionamento del tablet (tipo i settaggi della luminosità minima, sono troppo alti) mentre per altra roba tipo il bluetooth dovrebbe bastare i moduli del kernel (i file con estensione ko) e modificare alcuni settaggi per permettere ad esempio il tethering bluetooth DUN.
Da parte mia ho intenzione di lavorarci sopra nel tempo libero, specialmente perchè anche al lavoro stiamo iniziando a spostare su Android alcune applicazioni ed altra roba, solo che con lunedi ritorno a lavorare a pieno regime su cose più urgenti e non credo potrò dedicare molto tempo a roba "solo mia" per almeno un paio di mesi.