LINUX.ORG.RU

История изменений

Исправление 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/
И открываем свежий терминал, проверяем что теперь можем теперь запустить arm-module-linux-gnueabi-gcc.

Кто хочет приключений могут собрать тулчейн и самостоятельно при помощи 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/
И открываем свежий терминал, проверяем что теперь можем теперь запустить arm-module-linux-gnueabi-gcc.

Кто хочет приключений могут собрать тулчейн и самостоятельно при помощи 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/
И открываем свежий терминал, проверяем что теперь можем теперь запустить arm-module-linux-gnueabi-gcc.

Кто хочет приключений могут собрать тулчейн и самостоятельно при помощи 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);

Сохраняем, и прошиваем точно так же, как прошивали прошивку.