LINUX.ORG.RU

Уменьшить размер ядра openwrt

 , ,


0

2

Доброго времени суток.
Собираю себе прошивку на микротик. Размер раздела kernel у меня 3.8мб а ядро на выходе 4 с чем то. Сконфигурировал его вроди бы по минимуму а выход такой жирный. У тех кто сталкивался с такой бедой прошу совета.
Заранее благодарен.
Конфиг прилагаю.

★★★★
Ответ на: комментарий от xaTa

Ну, тогда, если не пользуешься ipv6, можешь вырубить: CONFIG_DEFAULT_ip6tables, CONFIG_DEFAULT_odhcp6c, CONFIG_DEFAULT_odhcpd-ipv6only. Поддержку аудио отрубить, если не нужно (CONFIG_AUDIO_SUPPORT). Отрубить CONFIG_DEFAULT_ppp, CONFIG_DEFAULT_ppp-mod-pppoe. Также попробуй собрать ядро без initramfs - на обычных дистрибутивах initramfs не обязателен, возможно, на openwrt тоже.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Вышеперечисленный шлак вырубил еще до создания треда. На 100 киллобайт ужал только что меньше не могу.

xaTa ★★★★
() автор топика

у openwrt разделы kernel и rootfs - динамические, на самом деле у тебя раздел firmware, который уже ядром пилится на kernel + rootfs, хвост которого в свою очередь становится rootfs_data.

4 метра - это скорее всего с initramfs, так ядро должно весить в районе пары мегабайт.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

залил пожатое ядро openwrt-ar71xx-mikrotik-vmlinux-lzma.elf
С ним у меня паника:

OpenWrt kernel loader for AR7XXX/AR9XXX
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... done!                      
Starting kernel at 80060000...
                              
[    0.000000] Linux version 4.9.86 (chunk@desktop) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r6459-4943afd781)8
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Atheros AR7130 rev 2
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] User-defined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: gpio=1983 HZ=150000000 mem=64M kmac=00:0C:42:49:60:79 board=411 boot=1 d
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=000777a0
[    0.000000] Readback ErrCtl register=000777a0
[    0.000000] Memory: 59776K/65536K available (3403K kernel code, 148K rwdata, 808K rodata, 176K init, 205)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:300.000MHz, DDR:300.000MHz, AHB:150.000MHz, Ref:40.000MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 12741736309 ns
[    0.000017] sched_clock: 32 bits at 150MHz, resolution 6ns, wraps every 14316557820ns
[    0.007937] Calibrating delay loop... 199.06 BogoMIPS (lpj=995328)
[    0.090575] pid_max: default: 32768 minimum: 301
[    0.095379] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.101996] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.113332] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000s
[    0.123209] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.130262] NET: Registered protocol family 16
[    0.137249] MIPS: machine is MikroTik RouterBOARD 411/A/AH
[    0.674522] registering PCI controller with io_map_base unset
[    0.700262] rb4xx-spi rb4xx-spi: master is unqueued, this is deprecated
[    0.708794] PCI host bridge to bus 0000:00
[    0.712911] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
[    0.719829] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.725393] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.732184] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.741110] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
[    0.747946] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
[    0.754739] pci 0000:00:11.0: using irq 42 for pin 1
[    0.759714] pci 0000:00:12.0: using irq 40 for pin 1
[    0.765904] clocksource: Switched to clocksource MIPS
[    0.772792] NET: Registered protocol family 2
[    0.778601] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.785597] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.792037] TCP: Hash tables configured (established 1024 bind 1024)
[    0.798591] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.804448] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.811082] NET: Registered protocol family 1
[    0.823415] Crashlog allocated RAM at address 0x3f00000
[    0.830444] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.849654] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.855474] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, I.
[    0.878578] io scheduler noop registered
[    0.882509] io scheduler deadline registered (default)
[    0.888205] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.895257] console [ttyS0] disabled
[    0.918921] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 9375000) is a 16550A
[    0.927555] console [ttyS0] enabled
[    0.927555] console [ttyS0] enabled
[    0.934501] bootconsole [early0] disabled
[    0.934501] bootconsole [early0] disabled
[    0.944155] m25p80 spi0.0: pm25lv512 (64 Kbytes)
[    0.952348] Creating 4 MTD partitions on "spi0.0":
[    0.957231] 0x000000000000-0x00000000b000 : "routerboot"
[    0.964931] 0x00000000b000-0x00000000c000 : "hard_config"
[    0.973029] 0x00000000d000-0x00000000f000 : "bios"
[    0.980486] 0x00000000f000-0x000000010000 : "soft_config"
[    0.988810] NAND flash driver for RouterBoard 4xx series version 0.2.0
[    0.995630] nand: device found, Manufacturer ID: 0x20, Chip ID: 0x76
[    1.002049] nand: ST Micro NAND 64MiB 3,3V 8-bit
[    1.006678] nand: 64 MiB, SLC, erase size: 16 KiB, page size: 512, OOB size: 16
[    1.013999] Scanning device for bad blocks
[    1.471112] Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
[    1.477272] 0x000000000000-0x000000040000 : "booter"
[    1.484606] 0x000000040000-0x000000400000 : "kernel"
[    1.493085] 0x000000400000-0x000004000000 : "ubi"
[    1.515729] libphy: Fixed MDIO Bus: probed
[    1.521284] tun: Universal TUN/TAP device driver, 1.6
[    1.526373] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.534434] Netfilter messages via NETLINK v0.30.
[    1.539332] ip_set: protocol 6
[    1.543015] NET: Registered protocol family 17
[    1.547595] 8021q: 802.1Q VLAN Support v1.8
[    1.551939] rb: no calibration data found
[    1.568669] UBI error: no valid UBI magic found inside mtd6
[    1.575125] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[    1.582684] Please append a correct "root=" boot option; here are the available partitions:
[    1.591039] 1f00              44 mtdblock0 [    1.595036]  (driver?)
[    1.597431] 1f01               4 mtdblock1 [    1.601421]  (driver?)
[    1.603790] 1f02               8 mtdblock2 [    1.607797]  (driver?)
[    1.610166] 1f03               4 mtdblock3 [    1.614156]  (driver?)
[    1.616542] 1f04             256 mtdblock4 [    1.620532]  (driver?)
[    1.622902] 1f05            3840 mtdblock5 [    1.626909]  (driver?)
[    1.629278] 1f06           61440 mtdblock6 [    1.633267]  (driver?)
[    1.635629] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    1.645939] Rebooting in 1 seconds..

xaTa ★★★★
() автор топика
Ответ на: комментарий от xaTa

Наверное записать в ubi раздел что-то подходящее.

Сделать это можно, например, загрузившись из initramfs образа и сделав sysupgrade. вроде можно из микротиковского бута, но я его видел только на картинках так что хз

Dark_SavanT ★★★★★
()

[ 1.635629] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

anonymous
()
Ответ на: комментарий от Dark_SavanT

У меня нет раздела ubi

root@OpenWrt:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 0000b000 00001000 "routerboot"
mtd1: 00001000 00001000 "hard_config"
mtd2: 00002000 00001000 "bios"
mtd3: 00001000 00001000 "soft_config"
mtd4: 00040000 00004000 "booter"
mtd5: 003c0000 00004000 "kernel"
mtd6: 03c00000 00004000 "rootfs"

xaTa ★★★★
() автор топика
Ответ на: комментарий от Dark_SavanT

Да действительно, гружусь с того инитрамфс что компилю и вижу ubi, монтирование только в нем не работает.

xaTa ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.