во-первых: после правки /etc/network/interfaces можно просто сделать ifdown eth0
ifup eth0
во-вторых: Что значит "где-то виснет"? Она же печатает что-то на дебаг порт вот и смотрите что там не так.
И в-третьих: По написанию драйверов есть книжки и в свободном доступе в интернете в том числе, например Linux Device Drivers, 3rd Edition, гуглить по ключевику LDD3. Но сперва Вам надо разобраться почему не собирается ядро, при сборке ведь тоже есть диагностический вывод компилятора.