How to compile OpenWrt18.06 to BIT5
-
Ready?
Solve the necessary dependencies!
$ sudo apt-get update $ sudo apt-get install git g++ make libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip wget python xz-utils vim zlibc zlib1g zlib1g-dev openjdk-8-jdk build-essential ccache gettext xsltproc
refer from https://cn.widora.io/compile
Download (20190227)
$ git clone https://github.com/openwrt/openwrt.git
Checkout 18.06
$ git checkout openwrt-18.06
feeds update
$ ./scripts/feeds update -a $ ./scripts/feeds install -a
change dts
Openwrt official dts configuration is NEO (32 + 128), and the BIT5 configuration is (32 + 64), so you need to modify the RAM configuration from the DTS file.
$ vi target/linux/ramips/dts/WIDORA-NEO.dtsi
line 15: reg = <0x0 0x8000000>;
change into
reg = <0x0 0x4000000>;make menuconfig
$ make menuconfig
select below:
Target System (MediaTek Ralink MIPS) --->
Subtarget (MT76x8 based boards) --->
Target Profile (Widora-NEO (32M)) --->save and compile
openwrt-ramips-mt76x8-widora_neo-32m-squashfs-sysupgrade.bin
-
dmesg
[ 0.000000] Linux version 4.14.103 (mango@mangodeMBP.lan) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7123-5a9 [ 0.000000] Board has DDR2 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: MediaTek MT7628AN ver:1 eco:2 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019655 (MIPS 24KEc) [ 0.000000] MIPS: machine is Widora-NEO (32M) [ 0.000000] Determined 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, PIPT, no 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] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat 804448a0, node_mem_map 81000040 [ 0.000000] Normal zone: 128 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 16384 pages, LIFO batch:3 [ 0.000000] random: get_random_bytes called from start_kernel+0x8c/0x474 with crng_init=0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 [ 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=000530c0 [ 0.000000] Readback ErrCtl register=000530c0 [ 0.000000] Memory: 60104K/65536K available (3388K kernel code, 164K rwdata, 820K rodata, 164K init, 200) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS: 256 [ 0.000000] intc: using register map from devicetree [ 0.000000] CPU Clock: 580MHz [ 0.000000] timer_probe: no matching timers found [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns [ 0.000013] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns [ 0.007535] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.073494] pid_max: default: 32768 minimum: 301 [ 0.078192] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.084538] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.097267] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000s [ 0.106759] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.112703] pinctrl core: initialized pinctrl subsystem [ 0.118279] NET: Registered protocol family 16 [ 0.149104] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.154718] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.160311] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.169928] clocksource: Switched to clocksource MIPS [ 0.175992] NET: Registered protocol family 2 [ 0.181050] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.187744] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.193924] TCP: Hash tables configured (established 1024 bind 1024) [ 0.200174] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.205776] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.212116] NET: Registered protocol family 1 [ 0.216292] PCI: CLS 0 bytes, default 32 [ 0.219655] Crashlog allocated RAM at address 0x3f00000 [ 0.226251] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.238190] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.243810] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, I. [ 0.263035] io scheduler noop registered [ 0.266767] io scheduler deadline registered (default) [ 0.272700] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled [ 0.280059] console [ttyS0] disabled [ 0.283495] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A [ 0.292234] console [ttyS0] enabled [ 0.299228] bootconsole [early0] disabled [ 0.307996] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A [ 0.317585] 10000e00.uart2: ttyS2 at MMIO 0x10000e00 (irq = 30, base_baud = 2500000) is a 16550A [ 0.327099] cacheinfo: Failed to find cpu0 device node [ 0.332349] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 0.339318] spi-mt7621 10000b00.spi: sys_freq: 193333333 [ 0.361258] m25p80 spi0.0: w25q256 (32768 Kbytes) [ 0.366084] 4 fixed-partitions partitions found on MTD device spi0.0 [ 0.372542] Creating 4 MTD partitions on "spi0.0": [ 0.377409] 0x000000000000-0x000000030000 : "u-boot" [ 0.383375] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.389588] 0x000000040000-0x000000050000 : "factory" [ 0.395674] 0x000000050000-0x000002000000 : "firmware" [ 0.471120] 2 uimage-fw partitions found on MTD device firmware [ 0.477149] 0x000000050000-0x0000001b62ed : "kernel" [ 0.483107] 0x0000001b62ed-0x000002000000 : "rootfs" [ 0.488970] mtd: device 5 (rootfs) set to be root filesystem [ 0.496191] 1 squashfs-split partitions found on MTD device rootfs [ 0.502529] 0x0000003b0000-0x000002000000 : "rootfs_data" [ 0.509996] libphy: Fixed MDIO Bus: probed [ 0.524222] rt3050-esw 10110000.esw: link changed 0x00 [ 0.532470] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5 [ 0.542722] NET: Registered protocol family 10 [ 0.551042] Segment Routing with IPv6 [ 0.554875] NET: Registered protocol family 17 [ 0.559425] 8021q: 802.1Q VLAN Support v1.8 [ 0.571195] VFS: Mounted root (squashfs filesystem) readonly on device 31:5. [ 0.579242] Freeing unused kernel memory: 164K [ 0.583808] This architecture does not have kernel memory protection. [ 1.331193] init: Console is alive [ 1.334875] init: - watchdog - [ 2.142345] random: fast init done [ 2.229684] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 2.378665] usbcore: registered new interface driver usbfs [ 2.384402] usbcore: registered new interface driver hub [ 2.389906] usbcore: registered new device driver usb [ 2.401122] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 2.409504] ehci-platform: EHCI generic platform driver [ 2.425192] phy phy-10120000.usbphy.0: remote usb device wakeup disabled [ 2.432004] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz [ 2.437320] ehci-platform 101c0000.ehci: EHCI Host Controller [ 2.443191] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 2.451353] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 2.479965] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 2.487322] hub 1-0:1.0: USB hub found [ 2.491626] hub 1-0:1.0: 1 port detected [ 2.498916] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 2.506901] ohci-platform: OHCI generic platform driver [ 2.512563] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 2.519498] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 2.527669] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 2.605083] hub 2-0:1.0: USB hub found [ 2.609273] hub 2-0:1.0: 1 port detected [ 2.616664] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 2.625385] init: - preinit - [ 3.843192] rt3050-esw 10110000.esw: link changed 0x00 [ 7.026085] mount_root: jffs2 not ready yet, using temporary tmpfs overlay [ 7.061764] urandom-seed: Seed file not found (/etc/urandom.seed) [ 7.104315] procd: - early - [ 7.107347] procd: - watchdog - [ 7.282132] rt3050-esw 10110000.esw: link changed 0x01 [ 7.827875] procd: - watchdog - [ 7.831413] procd: - ubus - [ 7.959655] random: ubusd: uninitialized urandom read (4 bytes read) [ 8.101186] random: ubusd: uninitialized urandom read (4 bytes read) [ 8.108189] random: ubusd: uninitialized urandom read (4 bytes read) [ 8.115724] procd: - init - [ 8.651475] kmodloader: loading kernel modules from /etc/modules.d/* [ 8.663165] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 8.681133] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180 [ 8.689258] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d [ 8.699542] ip_tables: (C) 2000-2006 Netfilter Core Team [ 8.714394] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 8.786150] xt_time: kernel timezone is -0000 [ 8.849830] mt76_wmac 10300000.wmac: ASIC revision: 76280001 [ 9.872135] mt76_wmac 10300000.wmac: Firmware Version: 20151201 [ 9.878158] mt76_wmac 10300000.wmac: Build Time: 20151201183641 [ 9.899941] mt76_wmac 10300000.wmac: firmware init done [ 10.076340] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 10.123094] PPP generic driver version 2.4.2 [ 10.134050] NET: Registered protocol family 24 [ 10.228549] kmodloader: done loading kernel modules from /etc/modules.d/* [ 11.506447] urandom_read: 5 callbacks suppressed [ 11.506456] random: jshn: uninitialized urandom read (4 bytes read) [ 11.663478] random: jshn: uninitialized urandom read (4 bytes read) [ 16.477823] rt3050-esw 10110000.esw: link changed 0x00 [ 19.335565] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 [ 19.355449] jffs2_build_filesystem(): unlocking the mtd device... [ 19.355510] done. [ 19.363803] jffs2_build_filesystem(): erasing all blocks after the end marker... [ 19.504313] rt3050-esw 10110000.esw: link changed 0x01 [ 24.644164] br-lan: port 1(eth0) entered blocking state [ 24.649478] br-lan: port 1(eth0) entered disabled state [ 24.655208] device eth0 entered promiscuous mode [ 24.707212] br-lan: port 1(eth0) entered blocking state [ 24.712583] br-lan: port 1(eth0) entered forwarding state [ 24.718271] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 25.700029] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 127.609990] random: crng init done [ 139.310744] done. [ 139.312746] jffs2: notice: (910) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xd. [ 139.482265] overlayfs: upper fs does not support tmpfile. [ 260.278734] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 260.289546] br-lan: port 2(wlan0) entered blocking state [ 260.295035] br-lan: port 2(wlan0) entered disabled state [ 260.300785] device wlan0 entered promiscuous mode [ 260.318983] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 260.325719] br-lan: port 2(wlan0) entered blocking state [ 260.331143] br-lan: port 2(wlan0) entered forwarding state [ 270.468795] device wlan0 left promiscuous mode [ 270.473491] br-lan: port 2(wlan0) entered disabled state [ 271.032798] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 271.057355] br-lan: port 2(wlan0) entered blocking state [ 271.062828] br-lan: port 2(wlan0) entered disabled state [ 271.068570] device wlan0 entered promiscuous mode [ 271.073475] br-lan: port 2(wlan0) entered blocking state [ 271.078866] br-lan: port 2(wlan0) entered forwarding state [ 271.137618] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
-
Can I change IoT gateway mode or IoT Device mode (1port/ 5port) in dts?
-
@neige I am still not sure about this.
-
So a BIT5 can be put in a mpcie slot and serves as a PC in a PC? How does it communicate with the PC, just as a wireless device or can it share storage to?
-
@roel
No, biT5 itself is already CPU master, it just uses the NGFF connector.