Разборка/сборка и компиляция прошивки Tomato

Amarh

Сообщение Amarh » 28 окт 2011, 13:45

Добрый день. Пытаюсь собрать теперь прошивку, добавил в исходную нужные мне пакеты, но получаю в конце операции это - ERROR: New firmware image will be larger than original image! This is not supported.
В корне рабочего каталога появляются файлы new-filesystem.squashfs и new-firmware.bin, но шиться этим new-firmware.bin боюсь :) Можно ли игнорировать, приведённую выше, ошибку или необходимы какие-то манипуляции по её устранению и какие тогда именно действия необходимы? И как вообще должно всё "это" выглядеть правильно?

Amarh

Обсуждение Tomatousb RAF

Сообщение Amarh » 28 окт 2011, 23:46

Так как собрать свою прошивку? Кто подскажет?
Вот так у меня всё выглядит:
 
Изображение
Свернуть

В логах пусто, как будто "build" вообще не было... Вот полный листинг из терминала:
 

Код: Выделить всё

root@ubuntu:~/firmware-mod-kit-read-only/trunk# ./build-ng.sh tagert_en/
Firmware Mod Kit (build-ng) 0.71 beta, (c)2011 Craig Heffner, Jeremy Collake
http://www.bitsum.com

Building new squashfs file system...
Found a valid SQUASHFS superblock on tagert_en//new-filesystem.squashfs.
	Inodes are compressed
	Data is compressed
	Fragments are compressed
	Check data is not present in the filesystem
	Fragments are  present in the filesystem
	Always_use_fragments option is not specified
	Duplicates are  removed
	Filesystem size 7494.95 Kbytes (7.32 Mbytes)
	Block size 65536
	Number of fragments 78
	Number of inodes 4397
	Number of uids 1
	Number of gids 0

Scanning existing filesystem...
Read existing filesystem, 4396 inodes scanned
Appending to existing little endian 3.0 filesystem on tagert_en//new-filesystem.squashfs, block size 65536
All -be, -le, -b, -noI, -noD, -noF, -check_data, no-duplicates, no-fragments, -always-use-fragments and -2.0 options ignored

If appending is not wanted, please re-run with -noappend specified!

Source directory entry cifs2 already used! - trying cifs2_1
Source directory entry cifs2_1 already used! - trying cifs2_2
Source directory entry cifs2_2 already used! - trying cifs2_3
Source directory entry cifs2_3 already used! - trying cifs2_4
Source directory entry root already used! - trying root_1
Source directory entry root_1 already used! - trying root_2
Source directory entry root_2 already used! - trying root_3
Source directory entry root_3 already used! - trying root_4
Source directory entry dev already used! - trying dev_1
Source directory entry dev_1 already used! - trying dev_2
Source directory entry dev_2 already used! - trying dev_3
Source directory entry dev_3 already used! - trying dev_4
Source directory entry usr already used! - trying usr_1
Source directory entry usr_1 already used! - trying usr_2
Source directory entry usr_2 already used! - trying usr_3
Source directory entry usr_3 already used! - trying usr_4
Source directory entry sys already used! - trying sys_1
Source directory entry sys_1 already used! - trying sys_2
Source directory entry sys_2 already used! - trying sys_3
Source directory entry sys_3 already used! - trying sys_4
Source directory entry proc already used! - trying proc_1
Source directory entry proc_1 already used! - trying proc_2
Source directory entry proc_2 already used! - trying proc_3
Source directory entry proc_3 already used! - trying proc_4
Source directory entry lib already used! - trying lib_1
Source directory entry lib_1 already used! - trying lib_2
Source directory entry lib_2 already used! - trying lib_3
Source directory entry lib_3 already used! - trying lib_4
Source directory entry nas already used! - trying nas_1
Source directory entry nas_1 already used! - trying nas_2
Source directory entry nas_2 already used! - trying nas_3
Source directory entry nas_3 already used! - trying nas_4
Source directory entry tmp already used! - trying tmp_1
Source directory entry tmp_1 already used! - trying tmp_2
Source directory entry tmp_2 already used! - trying tmp_3
Source directory entry tmp_3 already used! - trying tmp_4
Source directory entry bin already used! - trying bin_1
Source directory entry bin_1 already used! - trying bin_2
Source directory entry bin_2 already used! - trying bin_3
Source directory entry bin_3 already used! - trying bin_4
Source directory entry etc already used! - trying etc_1
Source directory entry etc_1 already used! - trying etc_2
Source directory entry etc_2 already used! - trying etc_3
Source directory entry etc_3 already used! - trying etc_4
Source directory entry www already used! - trying www_1
Source directory entry www_1 already used! - trying www_2
Source directory entry www_2 already used! - trying www_3
Source directory entry www_3 already used! - trying www_4
Source directory entry sbin already used! - trying sbin_1
Source directory entry sbin_1 already used! - trying sbin_2
Source directory entry sbin_2 already used! - trying sbin_3
Source directory entry sbin_3 already used! - trying sbin_4
Source directory entry home already used! - trying home_1
Source directory entry home_1 already used! - trying home_2
Source directory entry home_2 already used! - trying home_3
Source directory entry home_3 already used! - trying home_4
Source directory entry cifs1 already used! - trying cifs1_1
Source directory entry cifs1_1 already used! - trying cifs1_2
Source directory entry cifs1_2 already used! - trying cifs1_3
Source directory entry cifs1_3 already used! - trying cifs1_4
Source directory entry opt already used! - trying opt_1
Source directory entry opt_1 already used! - trying opt_2
Source directory entry opt_2 already used! - trying opt_3
Source directory entry opt_3 already used! - trying opt_4
Source directory entry jffs already used! - trying jffs_1
Source directory entry jffs_1 already used! - trying jffs_2
Source directory entry jffs_2 already used! - trying jffs_3
Source directory entry jffs_3 already used! - trying jffs_4
Source directory entry var already used! - trying var_1
Source directory entry var_1 already used! - trying var_2
Source directory entry var_2 already used! - trying var_3
Source directory entry var_3 already used! - trying var_4
Source directory entry bkp already used! - trying bkp_1
Source directory entry bkp_1 already used! - trying bkp_2
Source directory entry bkp_2 already used! - trying bkp_3
Source directory entry bkp_3 already used! - trying bkp_4
Source directory entry rom already used! - trying rom_1
Source directory entry rom_1 already used! - trying rom_2
Source directory entry rom_2 already used! - trying rom_3
Source directory entry rom_3 already used! - trying rom_4
Source directory entry mnt already used! - trying mnt_1
Source directory entry mnt_1 already used! - trying mnt_2
Source directory entry mnt_2 already used! - trying mnt_3
Source directory entry mnt_3 already used! - trying mnt_4

Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments
Filesystem size 7512.69 Kbytes (7.34 Mbytes)
	6.35% of uncompressed filesystem size (118381.67 Kbytes)
Inode table size 43810 bytes (42.78 Kbytes)
	24.53% of uncompressed inode table size (178623 bytes)
Directory table size 47594 bytes (46.48 Kbytes)
	53.99% of uncompressed directory table size (88154 bytes)
Number of duplicate files found 3420
Number of inodes 5496
Number of files 4275
Number of fragments 78
Number of symbolic links  915
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 306
Number of uids 1
	root (0)
Number of gids 0
ERROR: New firmware image will be larger than original image! This is not supported.
	Original file size: 8393728
	Current file size:  8641568
Quitting...
Свернуть

П.С.
Сделал ход конём. Просто распаковал прошивку в корень каталога trunk и следом запустил ./build-ng.sh Ошибка таже:
 

Код: Выделить всё

root@ubuntu:~/firmware-mod-kit-read-only/trunk# ./build-ng.sh
Firmware Mod Kit (build-ng) 0.71 beta, (c)2011 Craig Heffner, Jeremy Collake
http://www.bitsum.com

Building new squashfs file system...
Creating little endian 3.0 filesystem on fmk/new-filesystem.squashfs, block size 65536.

Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments
Filesystem size 7282.49 Kbytes (7.11 Mbytes)
	31.34% of uncompressed filesystem size (23238.36 Kbytes)
Inode table size 8380 bytes (8.18 Kbytes)
	23.72% of uncompressed inode table size (35328 bytes)
Directory table size 9431 bytes (9.21 Kbytes)
	55.14% of uncompressed directory table size (17105 bytes)
Number of duplicate files found 0
Number of inodes 1087
Number of files 843
Number of fragments 73
Number of symbolic links  182
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 62
Number of uids 1
	root (0)
Number of gids 0
ERROR: New firmware image will be larger than original image! This is not supported.
	Original file size: 8393728
	Current file size:  8404000
Quitting...
Свернуть


П.П.С.
Вот ещё, теперь с логами:
[*]Распаковка
это из терминала
 

Код: Выделить всё

root@ubuntu:~/firmware-mod-kit-read-only/trunk# ./extract_firmware.sh tomato-E4200USB-NVRAM60K-1.28.RT-N-5xRAF-EN-MIPSR2-079V-AIO.bin fmk

 Firmware Mod Kit (extract) v0.71 beta, (c)2010-2011 Jeremy Collake, - Newer NG edition by Craig Heffner
 Checking for updates ...
  You have the latest version of this kit.
 LINUX system detected. Compatibility ok.
 Testing file system of fmk ...
 Building tools ...
 ERROR - Build did not succeed. Check log file, you are probably
         missing one or more necessary pre-requisites. See docs for
         a list of pre-requsites.
 CONTINUING anyway, attempting to use pre-built binaries (x32 linux)
 Preparing working directory ...
 Removing any previous files ...
 Creating directories ...
 Extracting firmware
 Attempting squashfs 3.0 lzma ...
 Firmware appears extracted correctly!
 Now make changes and run build_firmware.sh.
Свернуть

Лог распаковки
 

Код: Выделить всё

make: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src'
make -C ./uncramfs/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs'
make -C ./uncramfs-lzma/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs-lzma'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs-lzma'
make -C ./cramfs-2.x/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfs-2.x'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfs-2.x'
make -C ./cramfsswap/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap'
gcc -Wall -g -O -o cramfsswap -lz cramfsswap.c
cramfsswap.c: В функции «main»:
cramfsswap.c:112:8: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:242:10: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:250:10: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:302:12: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:328:12: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:341:10: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
/tmp/ccnHJGlO.o: In function `main':
/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap/cramfsswap.c:348: undefined reference to `crc32'
/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap/cramfsswap.c:350: undefined reference to `crc32'
/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap/cramfsswap.c:350: undefined reference to `crc32'
collect2: выполнение ld завершилось с кодом возврата 1
make[1]: *** [cramfsswap] Ошибка 1
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap'
make: *** [all] Ошибка 2
make: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src'
 untrx 0.54 beta - (c)2006-2010 Jeremy Collake
 Opening tomato-E4200USB-NVRAM60K-1.28.RT-N-5xRAF-EN-MIPSR2-079V-AIO.bin
 read 8393728 bytes
  Writing fmk/image_parts/segment1
    size 2748 from offset 28 ...
  Writing fmk/image_parts/segment2
    size 942376 from offset 2776 ...
 SQUASHFS magic: 0x73717368
 SQUASHFS version: 3.0
  SQUASHFS v3.0 image detected
  Writing fmk/image_parts/squashfs_magic
  Writing fmk/image_parts/squashfs-lzma-image-3_0
    size 7448576 from offset 945152 ...
  Done!

created 843 files
created 62 directories
created 182 symlinks
created 0 devices
created 0 fifos
Свернуть

[*]Сборка
терминал
 

Код: Выделить всё

root@ubuntu:~/firmware-mod-kit-read-only/trunk# ./build_firmware.sh fmk_new/ fmk/

 Firmware Mod Kit (extract) v0.71 beta, (c)2010-2011 Jeremy Collake, - Newer NG edition by Craig Heffner
 Checking for updates ...
  You have the latest version of this kit.
 LINUX system detected. Compatibility ok.
 Testing file system of fmk/ ...
./build_firmware.sh: 328: cannot create fmk//rootfs/etc/rebuild_info: Directory nonexistent
 Building tools ...
 ERROR - Build did not succeed. Check log file, you are probably
         missing one or more necessary pre-requisites. See docs for
         a list of pre-requsites.
 CONTINUING anyway, attempting to use pre-built binaries (x32 linux)
 Preparing output directory fmk_new/ ...
 Detected WRT squashfs-lzma style.
 Building squashfs-lzma filesystem ...
 Utilizing lzma standard variant ...
 Building base firmware image (generic) ...
 Building base firmware image (asus) ...
 Making fmk_new//custom_image_00001-wrtsl54gs.bin
 Making fmk_new//custom_image_00001-wrt54g.bin
 Making fmk_new//custom_image_00001-wrt54gs.bin
 Making fmk_new//custom_image_00001-wrt54gsv4.bin
 Making fmk_new//custom_image_00001-generic.bin
 Firmware images built.
итого 49264
-rw-r--r-- 1 root root 8404992 2011-10-29 10:54 custom_image_00001-asus.trx
lrwxrwxrwx 1 root root      22 2011-10-29 10:54 custom_image_00001-generic.bin -> custom_image_00001.trx
-rw-r--r-- 1 root root 8404992 2011-10-29 10:54 custom_image_00001.trx
-rw-r--r-- 1 root root 8406016 2011-10-29 10:54 custom_image_00001-wrt54g.bin
-rw-r--r-- 1 root root 8406016 2011-10-29 10:54 custom_image_00001-wrt54gs.bin
-rw-r--r-- 1 root root 8406016 2011-10-29 10:54 custom_image_00001-wrt54gsv4.bin
-rw-r--r-- 1 root root 8406016 2011-10-29 10:54 custom_image_00001-wrtsl54gs.bin
 All done!
Свернуть

Лог
 

Код: Выделить всё

make: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src'
make -C ./uncramfs/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs'
make -C ./uncramfs-lzma/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs-lzma'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/uncramfs-lzma'
make -C ./cramfs-2.x/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfs-2.x'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfs-2.x'
make -C ./cramfsswap/
make[1]: Вход в каталог `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap'
gcc -Wall -g -O -o cramfsswap -lz cramfsswap.c
cramfsswap.c: В функции «main»:
cramfsswap.c:112:8: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:242:10: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:250:10: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:302:12: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:328:12: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
cramfsswap.c:341:10: предупреждение: ignoring return value of «write», declared with attribute warn_unused_result [-Wunused-result]
/tmp/ccjmeO29.o: In function `main':
/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap/cramfsswap.c:348: undefined reference to `crc32'
/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap/cramfsswap.c:350: undefined reference to `crc32'
/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap/cramfsswap.c:350: undefined reference to `crc32'
collect2: выполнение ld завершилось с кодом возврата 1
make[1]: *** [cramfsswap] Ошибка 1
make[1]: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src/cramfsswap'
make: *** [all] Ошибка 2
make: Выход из каталога `/home/aleksey/firmware-mod-kit-read-only/trunk/src'
rm: невозможно удалить «fmk_new//custom_image_00001*.*»: Нет такого файла или каталога
rm: невозможно удалить «fmk_new/»: Это каталог
Creating little endian 3.0 filesystem on fmk//image_parts/squashfs-lzma-image-new, block size 65536.

Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments
Filesystem size 7282.44 Kbytes (7.11 Mbytes)
	31.34% of uncompressed filesystem size (23238.36 Kbytes)
Inode table size 8377 bytes (8.18 Kbytes)
	23.71% of uncompressed inode table size (35328 bytes)
Directory table size 9433 bytes (9.21 Kbytes)
	55.15% of uncompressed directory table size (17105 bytes)
Number of duplicate files found 0
Number of inodes 1087
Number of files 843
Number of fragments 73
Number of symbolic links  182
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 62
Number of uids 1
	root (0)
Number of gids 0
mjn3's trx replacement - v0.90, modified to pack ASUS compatible trx
mjn3's trx replacement - v0.90, modified to pack ASUS compatible trx
mjn3's addpattern replacement - v0.81
writing firmware v4.20.6 on 11/10/29 (y/m/d)
adding 992 bytes of garbage
mjn3's addpattern replacement - v0.81
writing firmware v4.20.6 on 11/10/29 (y/m/d)
adding 992 bytes of garbage
mjn3's addpattern replacement - v0.81
writing firmware v4.70.6 on 11/10/29 (y/m/d)
adding 992 bytes of garbage
mjn3's addpattern replacement - v0.81
writing firmware v1.5.0 on 11/10/29 (y/m/d)
adding 992 bytes of garbage
Свернуть

Amarh

Как разобрать и собрать tomato

Сообщение Amarh » 29 окт 2011, 16:13

Спасибо! Буду очень признателен за ликбез)).
П.С.
Пишу автору firmware-mod-kit в issues.) Пускай Он, что-нибудь скажет)))...
П.П.С.
У меня вообще с этой "cramfsswap" сборка самого "напильника" при первом запуске обламывалась. Пришлось во всех каталогах после "cramfsswap" ручками make делать. А то вообще всё стопорилось.

Amarh

Как разобрать и собрать tomato

Сообщение Amarh » 29 окт 2011, 21:01

Из SVN. svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-read-only Я только такой вариант имею). Он при первом старте компилит бинарники.
П.С.
Если верить этому: The new firmware generated by build-ng.sh will be located at 'fmk/new-firmware.bin', while build_firmware.sh will generate firmware images in several different formats and save them in the specified output directory. - то вроде у меня всё "пучком", но только ошибки смущают зело)). А то прошьюсь и получу кирпич на первой неделе пользования роутером :mrgreen: :lol: .
П.П.С.
А вы как и чем собираете?

Vlad

Как разобрать и собрать tomato

Сообщение Vlad » 30 окт 2011, 04:29

Краткий курс

1) Нам понадобится linux.
Я пошел по пути наименьшего сопротивления, поставил virtualbox, в него Ubuntu 10.10 (весной заканчивается поддержка, есть наверно смысл поставить 10.04 LTS)- одна из самых "дружелюбных" систем для незнакомых с linux, 11 версия мне что то не понравилась, не было времени ковырятся. Так же есть дружелюбная linux mint - интерфейс "виндоусообразный".
Изображение
2) В домашней папке пользователя (у меня это /home/vlad/ - у вас своя) создаем папку mod-kit,
Изображение чтоб не вводить каждый раз sudo, я запустил midnight commander через sudo и в нем продолжал (ctrl+o - скрыть окно - открывает командную оболочку)

внутри нее еще 4 папки:
firmware - в нее сложим прошивки которые будем разбирать
firmware_new - в ней будут наши готовые модифицированные прошивки
target - в ней будет распакованная структура прошивки
trunk - в ней будет пакет программ, который будет собирать и разбирать прошивки
Изображение

3) Далее нам нужно скачать пакет Firmware Modification Kit (зеркало) и распаковать архив в папку /home/vlad/mod-kit/trunk
Изображение

4) Для корректной работы в системе должны быть установлены g++ и zlib пакеты
Изображение
Если во время работы будут ошибки - в папке с программой появится лог работы, в котором будет написано, в каком файле, в какой строке ошибка, посмотрев эту строку можно догадаться каких еще пакетов не хватает в системе.

5) Ну теперь все готово ) закидываем прошивку, которую хотим вскрыть в каталог firmware, назовем ее к примеру tomato3g.trx

6) переходим в папку /home/vlad/mod-kit/trunk и даем команду

Код: Выделить всё

./extract_firmware.sh ../firmware/tomato3g.trx ../target
- распакует содержимое прошивки tomato3g.trx в папку /target (корневой каталог прошивки root)
Изображение

7) Дальше можете посмотреть, что то изменить, добавить в прошивку (веб-интерфейс лежит в папке www)
Изображение

8) После того как все сделали (а в dual wan сгенерировали контрольную сумму в папке www запуском signit.sh) собираем прошивку, для этого снова переходим в папку /home/vlad/mod-kit/trunk и даем команду

Код: Выделить всё

./build_firmware.sh ../firmware_new ../target

это соберебет заготовку из папки target в файл прошивки в папку firware_new
Изображение

9) В нашем случае нужен только файл custom_image_asus.trx - это и есть наша модифицированная прошивка (файлы отличаются начальным кодом, поэтому прошивки от linksys wrt54*.bin не совместимы с asus)

Ну вот и все, дерзайте!

Amarh

Как разобрать и собрать tomato

Сообщение Amarh » 31 окт 2011, 17:17

А вот, что мне ответили на code.google.com
 
Comment 1 by project member heffne...@gmail.com, Yesterday (32 hours ago)

extract-ng will not build firmware images that are larger than the original, as this could potentially cause problems when writing the firmware image to the device. The reason the image is larger, even when un-modified, is likely due to differences in compression optimizations in our mksquashfs vs tomato's mksquashfs.

You have two options:

1) Remove anything that you don't need from the Tomato file system in order to reduce the size.
2) Comment out the file size checks in the extract-ng script (it will *probably* be OK, but there are no guarantees!! Doing this could brick your router!!!)

I should probably add an option to extract-ng that allows you to continue even if the firmware image size is too large, accompanied by an appropriate warning about the dangers of doing so.
Свернуть

P.S.
Vlad, Вы уточните, пожалуйста, для тех, кто будет использовать Ваше руководство, что выполнять надо из под "рута". (Я по Вашим скринам сужу)), хотя то же всё делал с sudo -s)

Amarh

Как разобрать и собрать tomato

Сообщение Amarh » 31 окт 2011, 20:23

Сменил юбунту 11.10 на 10.10 и всё скомпилилось.
Всё получилось, была ошибка с самим образом прошивки, заменил всё распаковалось - запаковалось. Ошибок и предупреждений нет))).
Вывод: Ubuntu 11.xx в топку.
Отредактировал пост, чтоб не вводить в заблуждение.

Vlad

Как разобрать и собрать tomato

Сообщение Vlad » 05 ноя 2011, 15:38

Amarh писал(а):
Vlad писал(а):
Amarh писал(а):Сменил юбунту 11.10 на 10.10 и всё скомпилилось.
Всё получилось, была ошибка с самим образом прошивки, заменил всё распаковалось - запаковалось. Ошибок и предупреждений нет))).
Вывод: Ubuntu 11.xx в топку.
Отредактировал пост, чтоб не вводить в заблуждение.

Говорят fedora 13 идеальна для сборок разборок и компиляции

Надо будет попробовать.))

что то у меня в ней нужные пакет не находит

Vlad

Компиляция прошивки

Сообщение Vlad » 06 ноя 2011, 11:55

Требуется помощь )
Кто компилировал, какие пакеты должны быть? все доставляю и доставляю, то одни ошибки, то другие, может есть где полный список необходимых пакетов?

Vlad

Компиляция прошивки

Сообщение Vlad » 06 ноя 2011, 21:19

Ладно, начнем с 0 - с видеоурока ) http://www.megaupload.com/?d=81K2AB3I


Вернуться в «TomatoUSB»

Кто сейчас на конференции

Всего 0 посетителей :: 0 зарегистрированных, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей