История изменений
Исправление ncrmnt, (текущая версия) :
Сейчас ядро в штатных прошивках идет с минимальным набором драйверов, без модулей в корневой ФС. Будет в ближайшее время исправлено, как только дойдут руки до обновления образов. Соответственно надо включить поддержку для модема и пересобрать ядро. Потребуется хост на x86_64 и пакеты build-essential, git, uboot-mkimage
Берем свежий тулчейн отсюда: http://www.module.ru/mb7707/toolchains/x86_64/. Для ядра нам без разницы armel/armhf.
Распаковвываем, например в ~/x-tools/, добавляем путь к каталогу с тулчейном в PATH. Например добавив в .bashrc следующее:
export PATH=$PATH:/home/username/x-tools/arm-module-linux-gnueabi/bin/
Кто хочет приключений могут собрать тулчейн и самостоятельно при помощи crosstool-ng, все конфиги лежат на гитхабе.
Теперь забираем ядро с github.
git clone https://github.com/RC-MODULE/linux-3.10.x.git
Текущий стабильный бранч: k1879-3.10.28. Остальные бранчи экспериментальные - на свой страх и риск. Осенью будет след. стабильный 4.х порт.
cd linux-3.10.x
cp arch/arm/configs/uemd_defconfig .config
ARCH=arm CROSS_COMPILE=arm-module-linux-gnueabi- make menuconfig
#Меняем конфиг под себя, включаем все что потребуется.
ARCH=arm CROSS_COMPILE=arm-module-linux-gnueabi- make -j8 uImage dtbs
#-j8, 8 - здесь количество потоков для сборки. Подстроить под себя.
Результат сборки - arch/arm/boot/uImage и arch/arm/boot/module-mb7707.dtb
dtb менять сейчас не потребуется, только uImage.
Это можно сделать двумя вариантами. Первый, традиционный, как в u-boot - через tftp.
На локальной машине поднимаем tftpd, копируем uImage в /tftpboot на локальной машине.
В консоли mboot настраиваем сеть.
setenv serverip 192.168.0.1
setenv ipaddr 192.168.0.2
saveenv
И обновляем раздел kernel
fwu kernel uImage
Второй вариант. Берем всю «кухню» от прошивки, которую мы до этого прошивали и открываем скрипт eupgrade.edcl и немного меняем своим любимым редактором. Перепрошивать загрузчик и корневую фс мы не будем, нам надо только обновить ядро. Вот пример, как оно будет выглядеть в первом приближении:
edcl_init();
fw = require("fw");
mboot_path=""
fw.run_code(mboot_path.."mboot-uemd.bin",true); -- start in slave mode
-- all sizes are in bytes
partition_table = {
{ "kernel", 4*1024*1024 },
{ "rootfs", "-" },
}
fw.partition(partition_table);
fw.mboot_cmd("parterase kernel y y")
fw.flash_part("kernel", "/srv/tftp/uImage", false);
Сохраняем, и прошиваем точно так же, как прошивали прошивку. (Ну или просто тупо подменяем uImage в архиве прошивки на свой и прошиваемся)
Исправление ncrmnt, :
Сейчас ядро в штатных прошивках идет с минимальным набором драйверов, без модулей в корневой ФС. Будет в ближайшее время исправлено, как только дойдут руки до обновления образов. Соответственно надо включить поддержку для модема и пересобрать ядро. Потребуется хост на x86_64 и пакеты build-essential, git, uboot-mkimage
Берем свежий тулчейн отсюда: http://www.module.ru/mb7707/toolchains/x86_64/. Для ядра нам без разницы armel/armhf.
Распаковвываем, например в ~/x-tools/, добавляем путь к каталогу с тулчейном в PATH. Например добавив в .bashrc следующее:
export PATH=$PATH:/home/username/x-tools/arm-module-linux-gnueabi/bin/
Кто хочет приключений могут собрать тулчейн и самостоятельно при помощи crosstool-ng, все конфиги лежат на гитхабе.
Теперь забираем ядро с github.
git clone https://github.com/RC-MODULE/linux-3.10.x.git
Текущий стабильный бранч: k1879-3.10.28. Остальные бранчи экспериментальные - на свой страх и риск. Осенью будет след. стабильный 4.х порт.
cd linux-3.10.x
cp arch/arm/configs/uemd_defconfig .config
ARCH=arm CROSS_COMPILE=arm-module-linux-gnueabi- make menuconfig
#Меняем конфиг под себя, включаем все что потребуется.
ARCH=arm CROSS_COMPILE=arm-module-linux-gnueabi- make -j8 uImage dtbs
#-j8, 8 - здесь количество потоков для сборки. Подстроить под себя.
Результат сборки - arch/arm/boot/uImage и arch/arm/boot/module-mb7707.dtb
dtb менять сейчас не потребуется, только uImage.
Это можно сделать двумя вариантами. Первый, традиционный, как в u-boot - через tftp.
На локальной машине поднимаем tftpd, копируем uImage в /tftpboot на локальной машине.
В консоли mboot настраиваем сеть.
setenv serverip 192.168.0.1
setenv ipaddr 192.168.0.2
saveenv
И обновляем раздел kernel
fwu kernel uImage
Второй вариант. Берем всю «кухню» от прошивки, которую мы до этого прошивали и открываем скрипт eupgrade.edcl и немного меняем своим любимым редактором. Перепрошивать загрузчик и корневую фс мы не будем, нам надо только обновить ядро. Вот пример, как оно будет выглядеть в первом приближении:
edcl_init();
fw = require("fw");
mboot_path=""
fw.run_code(mboot_path.."mboot-uemd.bin",true); -- start in slave mode
-- all sizes are in bytes
partition_table = {
{ "kernel", 4*1024*1024 },
{ "rootfs", "-" },
}
fw.partition(partition_table);
fw.mboot_cmd("parterase kernel y y")
fw.flash_part("kernel", "/srv/tftp/uImage", false);
Сохраняем, и прошиваем точно так же, как прошивали прошивку. (Ну или просто тупо подменяем uImage в архиве прошивки на свой и прошиваемся)
Исходная версия ncrmnt, :
Сейчас ядро в штатных прошивках идет с минимальным набором драйверов, без модулей в корневой ФС. Будет в ближайшее время исправлено, как только дойдут руки до обновления образов. Соответственно надо включить поддержку для модема и пересобрать ядро. Потребуется хост на x86_64 и пакеты build-essential, git, uboot-mkimage
Берем свежий тулчейн отсюда: http://www.module.ru/mb7707/toolchains/x86_64/. Для ядра нам без разницы armel/armhf.
Распаковвываем, например в ~/x-tools/, добавляем путь к каталогу с тулчейном в PATH. Например добавив в .bashrc следующее:
export PATH=$PATH:/home/username/x-tools/arm-module-linux-gnueabi/bin/
Кто хочет приключений могут собрать тулчейн и самостоятельно при помощи crosstool-ng, все конфиги лежат на гитхабе.
Теперь забираем ядро с github.
git clone https://github.com/RC-MODULE/linux-3.10.x.git
Текущий стабильный бранч: k1879-3.10.28. Остальные бранчи экспериментальные - на свой страх и риск. Осенью будет след. стабильный 4.х порт.
cd linux-3.10.x
cp arch/arm/configs/uemd_defconfig .config
ARCH=arm CROSS_COMPILE=arm-module-linux-gnueabi- make menuconfig
#Меняем конфиг под себя, включаем все что потребуется.
ARCH=arm CROSS_COMPILE=arm-module-linux-gnueabi- make -j8 uImage dtbs
#-j8, 8 - здесь количество потоков для сборки. Подстроить под себя.
Результат сборки - arch/arm/boot/uImage и arch/arm/boot/module-mb7707.dtb
dtb менять сейчас не потребуется, только uImage.
Это можно сделать двумя вариантами. Первый, традиционный, как в u-boot - через tftp.
На локальной машине поднимаем tftpd, копируем uImage в /tftpboot на локальной машине.
В консоли mboot настраиваем сеть.
setenv serverip 192.168.0.1
setenv ipaddr 192.168.0.2
saveenv
И обновляем раздел kernel
fwu kernel uImage
Второй вариант. Берем всю «кухню» от прошивки, которую мы до этого прошивали и открываем скрипт eupgrade.edcl и немного меняем своим любимым редактором. Перепрошивать загрузчик и корневую фс мы не будем, нам надо только обновить ядро. Вот пример, как оно будет выглядеть в первом приближении:
edcl_init();
fw = require("fw");
mboot_path=""
fw.run_code(mboot_path.."mboot-uemd.bin",true); -- start in slave mode
-- all sizes are in bytes
partition_table = {
{ "kernel", 4*1024*1024 },
{ "rootfs", "-" },
}
fw.partition(partition_table);
fw.mboot_cmd("parterase kernel y y")
fw.flash_part("kernel", "/srv/tftp/uImage", false);
Сохраняем, и прошиваем точно так же, как прошивали прошивку.