打印
[新唐博主]

新唐ARM9 NU980 移植OpenWrt LEDE

[复制链接]
3932|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zljiu|  楼主 | 2021-8-14 16:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
内容初步准备
Openwrt 源码下载 feeds 更新 内核移植
openwrt 下载最好是安装 git 使用 git clone 比较方便
首先你需要有一个可以运行linux 系统的主机 系统可以使用虚拟
打开终端,安装好开发环境git gcc make autoconfig 等工具

git clone https://github.com/openwrt/openwrt.git
./scripts/feeds update -a
./scripts/feeds install -a
接下来添加 target 复制 AT91或者其他的BOARD 重命名为Nuvoton

内核修改需要在 include 的kernel-version.mk里增加 SHA256数值,并且需要自己先下载内核再计算指定 LINUX_VERSION和LINUX_KERNEL_HASH
这两个变量,这样才会 自动下载内核

内核的patch
参考这篇博文 使用 diff 生成 patch ,解压官方的内核 和BSP内核,
a为官方,b为修改后
https://blog.csdn.net/wind0419/article/details/8299673
diff -ruN a/ b/ > patch
再使用vim工具
删除包含diff -ruN的所有行
:g/diff -ruN/d
,由于没有发现如何隐藏命令 所以使用VIM删除


使用特权

评论回复
沙发
zljiu|  楼主 | 2021-8-14 17:00 | 只看该作者
NUC980移植openwrt简便方法
make menuconfig 后
使用官方4.4.201 最新内核
手动设置内核,设置OK后编译时,openwrt 会建立一个软连接指向 BSP linux 目录



需要在内核目录上级建立个一个文件夹 名称为image
否则内核编译过程会出错,因为make 脚本里会吧image拷贝到这个目录


使用特权

评论回复
板凳
zljiu|  楼主 | 2021-8-14 17:01 | 只看该作者

[ 0.185666] console [ttyS0] enabled

本帖最后由 zljiu 于 2021-8-14 17:06 编辑

使用LEDE 内核版本4.4.194

比较官方内核生成patch 移植成功,可以网页更新UBIFS
启动log 不支持更新内核


Boot from SPI-NAND
DDR-OK
4-bit
finish SPI dowd

SPL load main U-Boot from SPI NAND Flash! (Feb 20 2019 09:12:29)


U-Boot 2016.11-g8127c47 (Feb 20 2019 - 09:12:26 +0800)

CPU: NUC980
Board: NUC980
DRAM:  64 MiB
SF: Detected W25N01GV with page size 2 KiB, erase size 128 KiB, total 128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0
SF: Detected W25N01GV with page size 2 KiB, erase size 128 KiB, total 128 MiB
device 0 offset 0x200000, size 0x800000
SF: 8388608 bytes @ 0x200000 Read: OK
## Booting kernel from Legacy Image at 00007fc0 ...
   Image Name:   
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6073280 Bytes = 5.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

SF: Detected W25N01GV with page size 2 KiB, erase size 128 KiB, total 128 MiB
SF: Device[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.4.194 (legend@legend) (gcc version 5.4.0 (LEDE GCC 5.4.0 unknown) ) #0 PREEMPT Tue Nov 19 05:51:15 2019
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: NUC980
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: noinitrd rootfstype=ubifs ubi.mtd=2 root=ubi0:rootfs console=ttyS0,115200n8 mem=64M init=/sbin/init rw
[    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] Memory: 58732K/65536K available (3966K kernel code, 282K rwdata, 1524K rodata, 156K init, 200K bss, 6804K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc4800000 - 0xff800000   ( 944 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0564f04   (5492 kB)
[    0.000000]       .init : 0xc0565000 - 0xc058c000   ( 156 kB)
[    0.000000]       .data : 0xc058c000 - 0xc05d2bc0   ( 283 kB)
[    0.000000]        .bss : 0xc05d2bc0 - 0xc0604db4   ( 201 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:545
[    0.000000] clocksource: nuc980-timer5: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 62215505635 ns
[    0.000033] sched_clock: 24 bits at 120kHz, resolution 8333ns, wraps every 69905062489ns
[    0.000733] Console: colour dummy device 80x30
[    0.185666] console [ttyS0] enabled
[    0.189149] Calibrating delay loop... 148.88 BogoMIPS (lpj=744448)
[    0.262791] pid_max: default: 32768 minimum: 301
[    0.267649] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.274333] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.283474] CPU: Testing write buffer coherency: ok
[    0.289449] Setting up static identity map for 0x8400 - 0x843c
[    0.321208] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.332016] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.338599] pinctrl core: initialized pinctrl subsystem
[    0.346024] NET: Registered protocol family 16

[    0.506799] SCSI subsystem initialized
[    0.516391] usbcore: registered new interface driver usbfs
[    0.524441] usbcore: registered new interface driver hub
[    0.531258] usbcore: registered new device driver usb
[    0.544266] clocksource: Switched to clocksource nuc980-timer5
[    0.632516] NET: Registered protocol family 2
[    0.640858] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.648683] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.655508] TCP: Hash tables configured (established 1024 bind 1024)
[    0.662083] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.668199] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.675391] NET: Registered protocol family 1
[    0.680591] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.693549] Crashlog allocated RAM at address 0x3f00000
[    0.775641] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.785049] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.869733] io scheduler noop registered (default)
[    0.875433] nuc980_gpio_probe - pdev = nuc980-gpio
[    0.884683] nuc980_dma_probe - pdev = nuc980-dma
[    0.910333] nuc980-dma nuc980-dma: NUC980 DMA ready
[    1.456849] nuc980-uart.0: ttyS0 at I/O 0x0 (irq = 36, base_baud = 750000) is a NUC980
[    1.467966] nuc980-uart.1: ttyS1 at I/O 0x0 (irq = 37, base_baud = 9375000) is a NUC980
[    1.478916] nuc980-uart.2: ttyS2 at I/O 0x0 (irq = 38, base_baud = 9375000) is a NUC980
[    1.565541] brd: module loaded
[    1.577591] RX nuc980_qspi0_probe: dma0chan0 module removed
[    1.583224] TX nuc980_qspi0_probe: dma0chan1 module removed
[    1.608991] libphy: nuc980_rmii0: probed
[    1.683433] libphy: nuc980_rmii1: probed
[    1.693058] PPP generic driver version 2.4.2
[    1.700133] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.708549] nuc980-ehci nuc980-ehci: Nuvoton NUC980 EHCI Host Controller
[    1.715841] nuc980-ehci nuc980-ehci: new USB bus registered, assigned bus number 1
[    1.724016] nuc980-ehci nuc980-ehci: irq 23, io mem 0xb0015000
[    1.744474] nuc980-ehci nuc980-ehci: USB 2.0 started, EHCI 0.95
[    1.754058] hub 1-0:1.0: USB hub found
[    1.758691] hub 1-0:1.0: 2 ports detected
[    1.764983] ehci-platform: EHCI generic platform driver
[    1.771416] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.778608] usb_hcd_nuc980_probe, id = 0, name: nuc980-ohci.0, 0
[    1.785249] nuc980-ohci nuc980-ohci.0: Nuvoton NUC980 OHCI Host Controller
[    1.792216] nuc980-ohci nuc980-ohci.0: new USB bus registered, assigned bus number 2
[    1.800316] nuc980-ohci nuc980-ohci.0: irq 24, io mem 0xb0017000
[    1.870024] hub 2-0:1.0: USB hub found
[    1.874774] hub 2-0:1.0: 8 ports detected
[    1.881983] usb_hcd_nuc980_probe, id = 1, name: nuc980-ohci.1, 0
[    1.888791] usb_hcd_nuc980_probe, id = 2, name: nuc980-ohci.2, 0
[    1.895641] usb_hcd_nuc980_probe, id = 3, name: nuc980-ohci.3, 0
[    1.902158] usb_hcd_nuc980_probe, id = 4, name: nuc980-ohci.4, 0
[    1.909224] usb_hcd_nuc980_probe, id = 5, name: nuc980-ohci.5, 0
[    1.916283] usb_hcd_nuc980_probe, id = 6, name: nuc980-ohci.6, 0
[    1.922891] ohci-platform: OHCI generic platform driver
[    1.930449] usbcore: registered new interface driver usb-storage
[    1.938674] usbcore: registered new interface driver usbserial
[    1.945983] usbcore: registered new interface driver option
[    1.952699] usbserial: USB Serial support registered for GSM modem (1-port)
[    1.967174] do_sha - sha last has no data!
[    1.971258] alg: hash: Test 1 failed for nuc980-sha1
[    1.977574] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    1.983974] 00000010: 00 00 00 00
[    1.988424] do_sha - sha last has no data!
[    1.992499] alg: hash: Test 1 failed for nuc980-sha224
[    1.997891] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.004524] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00
[    2.010608] do_sha - sha last has no data!
[    2.014974] alg: hash: Test 1 failed for nuc980-sha256
[    2.020083] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.026716] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.033841] do_sha - sha last has no data!
[    2.038224] alg: hash: Test 1 failed for nuc980-sha384
[    2.043333] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.049958] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.056616] 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.063733] do_sha - sha last has no data!
[    2.068074] alg: hash: Test 1 failed for nuc980-sha512
[    2.073183] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.079816] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.086483] 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.092883] 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.100149] alg: No test for hmac-sha1 (nuc980-hmac-sha1)
[    2.106383] alg: No test for hmac-sha224 (nuc980-hmac-sha224)
[    2.112724] alg: No test for hmac-sha256 (nuc980-hmac-sha256)
[    2.119299] alg: No test for hmac-sha384 (nuc980-hmac-sha384)
[    2.125908] alg: No test for hmac-sha512 (nuc980-hmac-sha512)
[    2.131708] NUC980 Crypto engine enabled.
[    2.154758] usbcore: registered new interface driver usbhid
[    2.160299] usbhid: USB HID core driver
[    2.176683] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    2.182999] nand: Winbond W25N01GV 1G 3.3V
[    2.187591] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    2.195374] nand: WARNING: spi0.0: the ECC used on your system is too weak compared to the one required by the NAND chip
[    2.206408] Scanning device for bad blocks
[    2.576099] Creating 3 MTD partitions on "nand0":
[    2.580791] 0x000000000000-0x000000200000 : "u-boot"
[    2.591858] 0x000000200000-0x000001600000 : "Kernel"
[    2.602983] 0x000001600000-0x000008000000 : "rootfs"
[    2.616008] mtd: device 2 (rootfs) set to be root filesystem
[    2.623099] mtdsplit: no squashfs found in "rootfs"
[    2.638041] NET: Registered protocol family 10
[    2.648124] NET: Registered protocol family 17
[    2.652849] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    2.665999] 8021q: 802.1Q VLAN Support v1.8
[    2.670283] lib80211: common routines for IEEE802.11 drivers
[    2.687324] ubi0: attaching mtd2
[    3.957283] ubi0: scanning is finished
[    3.987283] ubi0: attached mtd2 (name "rootfs", size 106 MiB)
[    3.992991] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    4.000108] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    4.007066] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    4.013974] ubi0: good PEBs: 848, bad PEBs: 0, corrupted PEBs: 0
[    4.020374] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    4.027808] ubi0: max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 957642553
[    4.037016] ubi0: available PEBs: 0, total reserved PEBs: 848, PEBs reserved for bad PEB handling: 20
[    4.046341] ubi0: background thread "ubi_bgt0d" started, PID 1103
[    4.086008] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 1105
[    4.277691] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    4.285216] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    4.295191] UBIFS (ubi0:0): FS size: 103231488 bytes (98 MiB, 813 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[    4.305749] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[    4.311549] UBIFS (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID 17CCEA80-C408-4362-BECF-EF1DC049714E, small LPT model
[    4.325241] VFS: Mounted root (ubifs filesystem) on device 0:12.
[    4.333041] Freeing unused kernel memory: 156K
[    4.854883] init: Console is alive
[    5.482049] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    5.596933] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    5.620358] init: - preinit -
[    6.432324] random: jshn: uninitialized urandom read (4 bytes read, 59 bits of entropy available)
[    6.568058] random: jshn: uninitialized urandom read (4 bytes read, 60 bits of entropy available)
[    6.738008] random: jshn: uninitialized urandom read (4 bytes read, 60 bits of entropy available)
[    6.861383] random: jshn: uninitialized urandom read (4 bytes read, 60 bits of entropy available)
[    7.011583] random: jshn: uninitialized urandom read (4 bytes read, 60 bits of entropy available)
[    7.185324] nuc980-emac0 nuc980-emac0: eth0 is OPENED
[    7.191158] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    8.604849] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   10.694108] mount_root: mounting /dev/root
- config restore -
[   10.913483] urandom-seed: Seed file not found (/etc/urandom.seed)
[   11.051883] procd: - early -
[   14.708499] procd: - ubus -
[   14.869366] random: ubusd: uninitialized urandom read (4 bytes read, 76 bits of entropy available)
[   14.914191] random: ubusd: uninitialized urandom read (4 bytes read, 76 bits of entropy available)
[   14.938116] random: ubusd: uninitialized urandom read (4 bytes read, 76 bits of entropy available)
[   14.953983] random: ubusd: uninitialized urandom read (4 bytes read, 76 bits of entropy available)
[   14.988108] random: ubusd: uninitialized urandom read (4 bytes read, 76 bits of entropy available)
[   15.008816] procd: - init -
Please press Enter to activate this console.
[   16.559324] kmodloader: loading kernel modules from /etc/modules.d/*
[   16.638424] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   16.771191] usbcore: registered new interface driver cdc_acm
[   16.784558] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   16.808574] usbcore: registered new interface driver cdc_wdm
[   16.846399] usbcore: registered new interface driver ch341
[   16.855183] usbserial: USB Serial support registered for ch341-uart
[   16.876924] Loading modules backported from Linux version wt-2017-01-31-0-ge882dff19e7f
[   16.894808] Backport generated by backports.git backports-20160324-13-g24da7d3c
[   16.917066] usbcore: registered new interface driver cp210x
[   16.932608] usbserial: USB Serial support registered for cp210x
[   16.975033] usbcore: registered new interface driver ftdi_sio
[   16.982616] usbserial: USB Serial support registered for FTDI USB Serial Device
[   17.010524] ip_tables: (C) 2000-2006 Netfilter Core Team
[   17.119399] nf_conntrack version 0.5.0 (920 buckets, 3680 max)
[   17.235333] usbcore: registered new interface driver pl2303
[   17.244558] usbserial: USB Serial support registered for pl2303
[   17.265316] NET: Registered protocol family 24
[   17.321291] usbcore: registered new interface driver r8152
[   17.444124] xt_time: kernel timezone is -0000
[   17.466249] usbcore: registered new interface driver cdc_ether
[   18.527216] usbcore: registered new interface driver mt7601u
[   18.601566] usbcore: registered new interface driver qmi_wwan
[   18.631216] usbcore: registered new interface driver rndis_host
[   18.683541] usbcore: registered new interface driver rtl8187
[   18.921691] usbcore: registered new interface driver rtl8192cu
[   18.934949] kmodloader: done loading kernel modules from /etc/modules.d/*
[   31.214466] random: nonblocking pool is initialized



BusyBox v1.25.1 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
/________/  LE  \  |____|___|___/|___|                      lede-project.org
\        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01-SNAPSHOT, unknown)
    \________\/    -----------------------------------------------------------

root@LEDE:/# [   49.755208] nuc980-emac0 nuc980-emac0: eth0 is OPENED
[   49.774874] device eth0 entered promiscuous mode
[   49.800616] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   49.924591] nuc980-emac1 nuc980-emac1: eth1 is OPENED
[   49.930424] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   53.645041] br-lan: port 1(eth0) entered forwarding state
[   53.650566] br-lan: port 1(eth0) entered forwarding state
[   53.713941] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   55.644433] br-lan: port 1(eth0) entered forwarding state

使用特权

评论回复
地板
zljiu|  楼主 | 2021-8-14 17:03 | 只看该作者
固件通过 网页升级 log
固件通过 UBIFS 系统升级

root@LEDE:/# killall: telnetd: no process killed
killall: dropbear: no process killed
Sending TERM to remaining processes ... ubusd logd rpcd netifd odhcpd ntpd uhttpd
Sending KILL to remaining processes ...
Switching to ramdisk...
[  218.734091] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" stops
[  218.829633] UBIFS (ubi0:0): un-mount UBI device 0
[  219.079649] ubi0: detaching mtd2
[  219.086333] ubi0: mtd2 is detached
ubiformat: mtd2 (nand), size 111149056 bytes (106.0 MiB), 848 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 847 -- 100 % complete  
ubiformat: 848 eraseblocks have valid erase counter, mean value is 0
ubiformat: flashing eraseblock 70 -- 100 % complete  
ubiformat: formatting erase[  233.011833] ubi0: attaching mtd2
ubiformat: formatting eraseblock 847 -- 100 % complete  
[  234.322449] ubi0: scanning is finished
[  234.395299] ubi0: volume 0 ("rootfs") re-sized from 69 to 824 LEBs
[  234.404216] ubi0: attached mtd2 (name "rootfs", size 106 MiB)
[  234.410524] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[  234.417608] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[  234.424358] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[  234.431558] ubi0: good PEBs: 848, bad PEBs: 0, corrupted PEBs: 0
[  234.437791] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[  234.444974] ubi0: max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 1593348356
[  234.454258] ubi0: available PEBs: 0, total reserved PEBs: 848, PEBs reserved for bad PEB handling: 20
[  234.463666] ubi0: background thread "ubi_bgt0d" started, PID 4855
UBI device number 0, total 848 LEBs (107675648 bytes, 102.7 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
[  234.730424] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 4875
[  234.831033] UBIFS (ubi0:0): start fixing up free space
[  235.769383] UBIFS (ubi0:0): free space fixup complete
[  235.826691] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[  235.834066] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[  235.844108] UBIFS (ubi0:0): FS size: 103231488 bytes (98 MiB, 813 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[  235.854674] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[  235.860574] UBIFS (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID 17CCEA80-C408-4362-BECF-EF1DC049714E, small LPT model
[  235.971016] UBIFS (ubi0:0): un-mount UBI device 0
[  235.975966] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" stops
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[  236.192599] reboot: Restarting system


使用特权

评论回复
5
zljiu|  楼主 | 2021-8-14 17:04 | 只看该作者
LEDE-NUC980 release 0.1版本
固件更新内容2020-3-10 02:25:30
1.降低内核版本为4.4.194同步LEDE内核,采用打patch 的方式
2.修正QMI内核模块版本加载问题
3.修复eth0 默认无法DHCP问题
4.增加WEB更新固件
5.增加WIFI支持 USB WIFI RTL8192 RTL818X MT7601U
6.修改文件系统为UBIFS
7.内核配置开启eth1 关闭 pwm,sd
8.4G模块支持EC20 (QMI) ,NDIS(AIR720)
9.修改内核 SPI NAND MTD 分区名称
10.增加USB转串口驱动 CH341 CP210X FTDI USB-ACM

2020-3-14 19:54:15
release 0.1版本更内容
1.使用squash + ubi 文件系统
2.内核开启设备树支持使用cat 命令 合并设备树文件与内核
3.修正 设备树分区名称内核分区 : “kernel” ,ubi分区 “ubi”
4.target/linux/nuvoton/image/Makefile 修改
增加 lede-nuvoton-nuc980-ubi-squashfs-sysupgrade.tar 与
lede-nuvoton-nuc980-ubi-ubifs-sysupgrade.tar,并且测试OK,可以做到完美更新rootfs 与rootfs_date

分区表信息

root@LEDE:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00200000 00020000 "u-boot"
mtd1: 01400000 00020000 "kernel"
mtd2: 06a00000 00020000 "ubi"
mtd3: 0081d000 0001f000 "rootfs"
mtd4: 05bab000 0001f000 "rootfs_data"
root@LEDE:~#


5.增加lan口网卡led指示,与系统运行diag.sh 修改
6.增加默认root用户和密码,以及WIFI 默认配置


使用特权

评论回复
6
zljiu|  楼主 | 2021-8-14 17:08 | 只看该作者
web升级 使用.tar升级device-tree kernel rootfs rootfs_data log
killall: telnetd: no process killed
killall: dropbear: no process killed
Sending TERM to remaining processes ... ubusd logd rpcd netifd odhcpd watchcat.sh sleep ntpd ztk_service.py dnsmasq
Sending KILL to remaining processes ...
Switching to ramdisk...
[  899.248508] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" stops
[  899.378916] UBIFS (ubi0:1): un-mount UBI device 0
Unlocking kernel ...

Writing from <stdin> to kernel ...     
removing ubiblock0_0
[  906.196624] block ubiblock0_0: released
Volume ID 0, size 67 LEBs (8507392 bytes, 8.1 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1
Set volume size to 96120832
Volume ID 1, size 757 LEBs (96120832 bytes, 91.7 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs_data", alignment 1
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
UC980 IBR 20180813oot: Restarting system
Boot from SPI-NAND
DDR-OK
4-bit
finish SPI dowd

SPL load main U-Boot from SPI NAND Flash! (Feb 20 2019 09:12:29)


U-Boot 2016.11-g8127c47 (Feb 20 2019 - 09:12:26 +0800)

CPU: NUC980
Board: NUC980
DRAM:  64 MiB
SF: Detected W25N01GV with page size 2 KiB, erase size 128 KiB, total 128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0
SF: Detected W25N01GV with page size 2 KiB, erase size 128 KiB, total 128 MiB
device 0 offset 0x200000, size 0x800000
SF: 8388608 bytes @ 0x200000 Read: OK
## Booting kernel from Legacy Image at 00007fc0 ...
   Image Name:   OpenWrt ARM 4.4.194
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2774236 Bytes = 2.6 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

SF: Detected W25N01GV with page size 2 KiB, erase size 128 KiB, total 128 MiB
SF: Device[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.4.194 (legend@ubuntu) (gcc version 5.4.0 (LEDE GCC 5.4.0 unknown) ) #0 PREEMPT Tue Nov 19 05:51:15 2019
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine model: Nuvoton NUC980 IOT-GateWay V0.1
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: noinitrd rootfstype=squashfs ubi.mtd=2 root=/dev/ubiblock0_0 console=ttyS0,115200n8 mem=64M init=/sbin/init
[    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] Memory: 58620K/65536K available (3950K kernel code, 282K rwdata, 1520K rodata, 168K init, 203K bss, 6916K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc4800000 - 0xff800000   ( 944 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc055ff04   (5472 kB)
[    0.000000]       .init : 0xc0560000 - 0xc058a000   ( 168 kB)
[    0.000000]       .data : 0xc058a000 - 0xc05d0a48   ( 283 kB)
[    0.000000]        .bss : 0xc05d0a48 - 0xc0603854   ( 204 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:545
[    0.000000] clocksource: nuc980-timer5: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 62215505635 ns
[    0.000024] sched_clock: 24 bits at 120kHz, resolution 8333ns, wraps every 69905062489ns
[    0.000733] Console: colour dummy device 80x30
[    0.188774] console [ttyS0] enabled
[    0.192308] Calibrating delay loop... 148.88 BogoMIPS (lpj=744448)
[    0.262774] pid_max: default: 32768 minimum: 301
[    0.267641] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.274324] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.283491] CPU: Testing write buffer coherency: ok
[    0.289458] Setting up static identity map for 0x8400 - 0x843c
[    0.335816] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.346583] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.353399] pinctrl core: initialized pinctrl subsystem
[    0.360966] NET: Registered protocol family 16
[    0.367541] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.380924] <DT> nuc980_dt_device_init +
[    0.419491] <DT> nuc980_dt_device_init -
[    0.426891] pinctrl-nuc980 apb:pinctrl@b0000000: initialized NUC980 pinctrl driver
[    0.547074] SCSI subsystem initialized
[    0.557199] usbcore: registered new interface driver usbfs
[    0.565174] usbcore: registered new interface driver hub
[    0.571933] usbcore: registered new device driver usb
[    0.585508] clocksource: Switched to clocksource nuc980-timer5
[    0.673591] NET: Registered protocol family 2
[    0.682349] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.690208] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.697058] TCP: Hash tables configured (established 1024 bind 1024)
[    0.703641] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.709758] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.716949] NET: Registered protocol family 1
[    0.722166] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.734641] Crashlog allocated RAM at address 0x3f00000
[    0.817233] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.894208] io scheduler noop registered (default)
[    0.901058] nuc980_gpio_probe - pdev = b0004000.gpio
[    0.908508] nuc980_dma_probe - pdev = b0008000.dma
[    0.934058] nuc980-dma b0008000.dma: NUC980 DMA ready
[    1.480516] b0070000.serial: ttyS0 at I/O 0xf0070000 (irq = 36, base_baud = 750000) is a NUC980
[    1.492383] b0071000.serial: ttyS1 at I/O 0xf0071000 (irq = 37, base_baud = 9375000) is a NUC980
[    1.503966] b0072000.serial: ttyS2 at I/O 0xf0072000 (irq = 38, base_baud = 9375000) is a NUC980
[    1.590599] brd: module loaded
[    1.599699] RX nuc980_qspi0_probe: dma0chan0 module removed
[    1.605333] TX nuc980_qspi0_probe: dma0chan1 module removed
[    1.631066] libphy: nuc980_rmii0: probed
[    1.640941] PPP generic driver version 2.4.2
[    1.648108] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.655391] nuc980-ehci b0015000.usbh_ehci: Nuvoton NUC980 EHCI Host Controller
[    1.663391] nuc980-ehci b0015000.usbh_ehci: new USB bus registered, assigned bus number 1
[    1.672533] nuc980-ehci b0015000.usbh_ehci: irq 23, io mem 0xb0015000
[    1.695724] nuc980-ehci b0015000.usbh_ehci: USB 2.0 started, EHCI 0.95
[    1.704883] pinctrl-nuc980 apb:pinctrl@b0000000: pin PE10 already requested by b0015000.usbh_ehci; cannot claim for usb1
[    1.716233] pinctrl-nuc980 apb:pinctrl@b0000000: pin-74 (usb1) status -22
[    1.723016] pinctrl-nuc980 apb:pinctrl@b0000000: could not request pin 74 (PE10) from group usbh-ppwr-ovc  on device apb:pinctrl@b0000000
[    1.735683] usb usb1: Error applying setting, reverse things back
[    1.743083] hub 1-0:1.0: USB hub found
[    1.747574] hub 1-0:1.0: 2 ports detected
[    1.753591] ehci-platform: EHCI generic platform driver
[    1.760199] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.767574] usb_hcd_nuc980_probe, id = -1, name: b0017000.usbh_ohci, 0
[    1.774266] nuc980-ohci b0017000.usbh_ohci: Nuvoton NUC980 OHCI Host Controller
[    1.781991] nuc980-ohci b0017000.usbh_ohci: new USB bus registered, assigned bus number 2
[    1.790616] nuc980-ohci b0017000.usbh_ohci: irq 24, io mem 0xb0017000
[    1.861166] hub 2-0:1.0: USB hub found
[    1.865874] hub 2-0:1.0: 8 ports detected
[    1.873191] ohci-platform: OHCI generic platform driver
[    1.880766] usbcore: registered new interface driver usb-storage
[    1.888958] usbcore: registered new interface driver usbserial
[    1.896583] usbcore: registered new interface driver option
[    1.902741] usbserial: USB Serial support registered for GSM modem (1-port)
[    1.917466] do_sha - sha last has no data!
[    1.921541] alg: hash: Test 1 failed for nuc980-sha1
[    1.927058] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    1.933458] 00000010: 00 00 00 00
[    1.937766] do_sha - sha last has no data!
[    1.941849] alg: hash: Test 1 failed for nuc980-sha224
[    1.947249] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    1.953649] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00
[    1.959958] do_sha - sha last has no data!
[    1.964033] alg: hash: Test 1 failed for nuc980-sha256
[    1.970233] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    1.976891] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    1.984041] do_sha - sha last has no data!
[    1.988424] alg: hash: Test 1 failed for nuc980-sha384
[    1.993533] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.000174] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.006841] 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.013966] do_sha - sha last has no data!
[    2.018308] alg: hash: Test 1 failed for nuc980-sha512
[    2.023416] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.030049] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.036708] 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.043108] 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    2.050383] alg: No test for hmac-sha1 (nuc980-hmac-sha1)
[    2.056624] alg: No test for hmac-sha224 (nuc980-hmac-sha224)
[    2.062966] alg: No test for hmac-sha256 (nuc980-hmac-sha256)
[    2.069558] alg: No test for hmac-sha384 (nuc980-hmac-sha384)
[    2.076191] alg: No test for hmac-sha512 (nuc980-hmac-sha512)
[    2.081999] NUC980 Crypto engine enabled.
[    2.104508] usbcore: registered new interface driver usbhid
[    2.111166] usbhid: USB HID core driver
[    2.127074] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    2.133391] nand: Winbond W25N01GV 1G 3.3V
[    2.137733] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    2.145283] nand: WARNING: spi0.0: the ECC used on your system is too weak compared to the one required by the NAND chip
[    2.156308] Scanning device for bad blocks
[    2.564216] 3 ofpart partitions found on MTD device nand0
[    2.569841] Creating 3 MTD partitions on "nand0":
[    2.574558] 0x000000000000-0x000000200000 : "u-boot"
[    2.586483] 0x000000200000-0x000001600000 : "kernel"
[    2.597641] 0x000001600000-0x000008000000 : "ubi"
[    2.619566] NET: Registered protocol family 10
[    2.629491] NET: Registered protocol family 17
[    2.634216] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    2.647349] 8021q: 802.1Q VLAN Support v1.8
[    2.662516] ubi0: attaching mtd2
[    4.688033] ubi0: scanning is finished
[    4.729333] ubi0: attached mtd2 (name "ubi", size 106 MiB)
[    4.734791] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    4.741899] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    4.748866] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    4.756224] ubi0: good PEBs: 848, bad PEBs: 0, corrupted PEBs: 0
[    4.762191] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    4.769633] ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 1934896559
[    4.778941] ubi0: available PEBs: 0, total reserved PEBs: 848, PEBs reserved for bad PEB handling: 20
[    4.788266] ubi0: background thread "ubi_bgt0d" started, PID 1025
[    4.800399] mtd: device 3 (rootfs) set to be root filesystem
[    4.820933] block ubiblock0_0: created from ubi0:0(rootfs)
[    4.872591] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    4.881941] Freeing unused kernel memory: 168K
[    6.148666] init: Console is alive
[    7.824116] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.978833] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    7.997291] init: - preinit -
[    9.422299] random: jshn: uninitialized urandom read (4 bytes read, 89 bits of entropy available)
[    9.619383] random: jshn: uninitialized urandom read (4 bytes read, 90 bits of entropy available)
[    9.759549] random: jshn: uninitialized urandom read (4 bytes read, 90 bits of entropy available)
[    9.882424] random: jshn: uninitialized urandom read (4 bytes read, 90 bits of entropy available)
[   10.011483] random: jshn: uninitialized urandom read (4 bytes read, 90 bits of entropy available)
[   10.144933] nuc980-emac0 b0012000.emac0: eth0 is OPENED
[   10.151266] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   10.223074] random: procd: uninitialized urandom read (4 bytes read, 90 bits of entropy available)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   11.846099] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   13.776016] UBIFS (ubi0:1): default file-system created
[   13.786808] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 1112
[   14.020558] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   14.028516] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   14.038616] UBIFS (ubi0:1): FS size: 94724096 bytes (90 MiB, 746 LEBs), journal size 4698112 bytes (4 MiB, 37 LEBs)
[   14.049108] UBIFS (ubi0:1): reserved for root: 4474052 bytes (4369 KiB)
[   14.055891] UBIFS (ubi0:1): media format: w4/r0 (latest is w4/r0), UUID AA9B0AA3-040F-4C79-B8FF-5182E8D79BBA, small LPT model
[   14.074683] mount_root: overlay filesystem has not been fully initialized yet
[   14.084566] mount_root: switching to ubifs overlay
[   14.122366] urandom-seed: Seed file not found (/etc/urandom.seed)
[   14.421258] procd: - early -
[   18.041216] procd: - ubus -
[   18.406308] random: ubusd: uninitialized urandom read (4 bytes read, 109 bits of entropy available)
[   18.766133] random: ubusd: uninitialized urandom read (4 bytes read, 109 bits of entropy available)
[   18.968599] random: ubusd: uninitialized urandom read (4 bytes read, 110 bits of entropy available)
[   18.987174] random: ubusd: uninitialized urandom read (4 bytes read, 110 bits of entropy available)
[   19.029966] procd: - init -
Please press Enter to activate this console.
[   21.317733] kmodloader: loading kernel modules from /etc/modules.d/*
[   21.561791] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   21.691308] u32 classifier
[   21.693983]     input device check on
[   21.706249]     Actions configured
[   21.730291] Mirror/redirect action on
[   21.772158] nf_conntrack version 0.5.0 (918 buckets, 3672 max)
[   21.969424] usbcore: registered new interface driver cdc_acm
[   21.975049] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   22.001449] usbcore: registered new interface driver cdc_wdm
[   22.027899] usbcore: registered new interface driver ch341
[   22.039391] usbserial: USB Serial support registered for ch341-uart
[   22.066674] Loading modules backported from Linux version wt-2017-01-31-0-ge882dff19e7f
[   22.074641] Backport generated by backports.git backports-20160324-13-g24da7d3c
[   22.107791] usbcore: registered new interface driver cp210x
[   22.116399] usbserial: USB Serial support registered for cp210x
[   22.147891] usbcore: registered new interface driver ftdi_sio
[   22.156358] usbserial: USB Serial support registered for FTDI USB Serial Device
[   22.196558] ip_tables: (C) 2000-2006 Netfilter Core Team
[   22.348074] usbcore: registered new interface driver pl2303
[   22.366258] usbserial: USB Serial support registered for pl2303
[   22.386458] NET: Registered protocol family 24
[   22.408041] usbcore: registered new interface driver r8152
[   22.647008] xt_time: kernel timezone is -0000
[   22.667908] usbcore: registered new interface driver cdc_ether
[   23.263791] usbcore: registered new interface driver mt7601u
[   23.346666] usbcore: registered new interface driver qmi_wwan
[   23.378033] usbcore: registered new interface driver rndis_host
[   23.417983] usbcore: registered new interface driver rtl8187
[   23.556483] usbcore: registered new interface driver rtl8192cu
[   23.562774] kmodloader: done loading kernel modules from /etc/modules.d/*
[   28.900349] random: nonblocking pool is initialized

LEDE login: root
Password:


BusyBox v1.25.1 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
/________/  LE  \  |____|___|___/|___|                      lede-project.org
\        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01-SNAPSHOT, unknown)
    \________\/    -----------------------------------------------------------

root@LEDE:~#

root@LEDE:~#
root@LEDE:~# [   61.916508] nuc980-emac0 b0012000.emac0: eth0 is OPENED
[   61.937616] device eth0 entered promiscuous mode
[   61.962066] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   65.136274] br-lan: port 1(eth0) entered forwarding state
[   65.141808] br-lan: port 1(eth0) entered forwarding state
[   65.208291] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   67.135683] br-lan: port 1(eth0) entered forwarding state


使用特权

评论回复
7
zljiu|  楼主 | 2021-8-14 17:09 | 只看该作者
可以看出rootfs 为 squashfs rootfs_data 为 ubifs
这里移植可以参考这几个

Openwrt squafs文件系统及sysupgrade升级探究
OpenWrt升级脚本sysupgrade详解

使用ubifs作为根文件系统的openwrt如何在进行sysupgrade时保存旧的配置
Openwrt 15.05.1增加对MT7620a NAND flash的支持

OpenWrt LEDE 对NAND的支持还是蛮不错的,支持ubi,ubifs,squashfs,还可以更新内核
这里把移植中最重要的Makefile 贴出来

文件目录:
/openwrt-lede-17.01/target/linux/nuvoton/image

#
# Copyright (C) 2008-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk

UBIFS_OPTS := -F -m 2048 -e 124KiB -c 848  -U
UBI_OPTS := -m 2048 -p 128KiB -s 2048

#UBIFS_OPTS = -F -m 2048 -e 124KiB -c 848  -U
#UBI_OPTS = -m 2048 -p 128KiB -s 2048

#DEVICE_nuc980_UBIFS_OPTS = -m 2048 -e 124KiB -c 848
#DEVICE_nuc980_UBI_OPTS = -m 2048 -p 128KiB -s 2048

#$(PROFILE)_UBI_OPTS :=  -m 2048 -e 124KiB -c 848
#$(PROFILE)_UBIFS_OPTS := -m 2048 -p 128KiB -s 2048

#echo DEVICE_nuc980_UBI_OPTS DEVICE_nuc980_UBIFS_OPTS

VMLINUX:=$(IMG_PREFIX)-vmlinux
UIMAGE:=$(IMG_PREFIX)-uImage

DEVICE_VARS += DTS MKUBIFS_OPTS

loadaddr-y := 0x00008000
loadaddr-$(CONFIG_TARGET_nuvoton_nuc970) := 0x00008000
loadaddr-$(CONFIG_TARGET_nuvoton_nuc980) := 0x00008000


KERNEL_LOADADDR := $(loadaddr-y)

#KERNEL_DTB = kernel-bin
#KERNEL_DTB = kernel-bin | patch-dtb | lzma

#define Device/Default
#  PROFILES = Default $$(DTS)
#  KERNEL_DEPENDS = $$(wildcard ../dts/$$(DTS).dts)
#  KERNEL := $(KERNEL_DTB) | uImage lzma
#endef

define Build/patch-dtb
        $(call Image/BuildDTB,../dts/$(DTS).dts,$@.dtb)
        $(STAGING_DIR_HOST)/bin/patch-dtb $@ $@.dtb
endef

define Image/Prepare
        cp $(LINUX_DIR)/arch/arm/boot/Image $(KDIR)/Image
        cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage
endef

define MkuImageDtb
        ###MkuImageDtb###
        $(if $(wildcard $(KDIR)/zImage $(DTS_DIR)/$(2).dtb),$(shell cat $(KDIR)/zImage $(DTS_DIR)/$(2).dtb > $(KDIR)/zImage-$(1)))
        cat $(KDIR)/zImage $(DTS_DIR)/$(2).dtb > $(KDIR)/zImage-$(1)
        mkimage -A arm -T kernel -C none -a $(KERNEL_LOADADDR) -e $(KERNEL_LOADADDR) \
                -n "OpenWrt ARM $(LINUX_VERSION)" \
                -d $(KDIR)/zImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage
endef

define MkOftree
        cp -u $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
        cp $(DTS_DIR)/$(2).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-oftree.dtb
endef



#dd if=$(KDIR)/nuc980.uImage.align.128k; dd if=$(2) > $(KDIR)/$(output_name)
#cat $(1) $(2) > $(KDIR)/$(output_name)
#cat $(KDIR)/nuc980.uImage.align.128k $(2) > $(KDIR)/$(output_name)
#dd if=$(1) of=$(KDIR)/nuc980.uImage.align.128k bs=128k conv=sync
#$(call prepare_generic_squashfs,$(KDIR)/$(output_name))


#( \
#dd if=$(1) bs=128k conv=sync; \
#dd if=$(2) bs=128k conv=sync; \
#) > $(KDIR)/$(output_name)





#define Image/Build/squashfs
# $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
# ( \
# dd if=$(KDIR)/uImage bs=1024k conv=sync; \
# dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
# ) > $(BIN_DIR)/openwrt-$(BOARD)-$(1).img
# $(STAGING_DIR_HOST)/bin/mkyaffs2image-page2k $(STAGING_DIR_ROOT)/ $(BIN_DIR)/openwrt-$(BOARD)-yaffs2-128k.img
# endef


ifeq ($(SUBTARGET),nuc980)
include nuc980.mk
endif

# NUC980
Image/Build/Kernel/NUC980=$(call MkuImageDtb,nuc980-iot-gateway,nuc980-iot-gateway)

#define Image/Build/Kernel/Default
#        #$(call Image/Build/Kernel/NUC980)
#endef

define Image/BuildKernel
        mkimage -A arm -T kernel -C none -a $(KERNEL_LOADADDR) -e $(KERNEL_LOADADDR) \
                -d $(KDIR)/Image $(BIN_DIR)/$(IMG_PREFIX)-uImage
        if [ $(CONFIG_FLEXIBITY_ROOT) ]; then \
                $(INSTALL_BIN) $(BIN_DIR)/$(IMG_PREFIX)-uImage $(TARGET_DIR)/uImage ; \
        fi
#        -mkdir $(BIN_DIR)/dtbs
#        -$(CP) $(DTS_DIR)/*.dtb $(BIN_DIR)/dtbs/
        $(call Image/Build/Kernel/NUC980)
endef

#define Image/BuildKernel
#        $(CP) $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
# ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
#        $(CP) $(KDIR)/zImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-zImage-initramfs
# endif
#        -mkdir $(BIN_DIR)/dtbs
#        -$(CP) $(DTS_DIR)/*.dtb $(BIN_DIR)/dtbs/
#        -$(CP) $(DTS_DIR)/*.dtb $(BIN_DIR)/dtbs/
#
#endef

define Image/Build/ubi
#        -echo "Image/Build/ubi" should not be run
endef


#        (cd "$(KDIR_TMP)"; $(TAR) cvf \
#                "$(BIN_DIR)/sysupgrade-$(4).tar" sysupgrade-$(4) \
#                        $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
#        )
define Image/Build/SysupgradeCombined

        mkdir -p "$(KDIR_TMP)/sysupgrade-$(4)/"
        echo "BOARD=$(4)" > "$(KDIR_TMP)/sysupgrade-$(4)/CONTROL"

        $(CP) "$(1)" "$(KDIR_TMP)/sysupgrade-$(4)/kernel"
        $(CP) "$(2)" "$(KDIR_TMP)/sysupgrade-$(4)/root"

        (cd "$(KDIR_TMP)"; $(TAR) cvf \
                "$(BIN_DIR)/$(IMG_PREFIX)-$(3)-sysupgrade.tar" sysupgrade-$(4) \
                        $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
        )


endef

define MkImageSysupgrade
        ####MkImageSysupgrade-$(3)####
        $(eval output_name=$(IMG_PREFIX)-sysupgrade.bin)
       
        ( \
        dd if=$(1) bs=128k conv=sync; \
        dd if=$(2) bs=128k conv=sync; \
        ) > $(KDIR)/$(output_name)

        $(call prepare_generic_squashfs,$(KDIR)/$(output_name))

        $(CP) $(KDIR)/$(output_name) $(BIN_DIR)/$(output_name)

        $(call Image/Build/SysupgradeCombined,$(1),$(2),$(3),NUC980-IOT-GateWay)
endef


#        $(CP) ./ubinize.cfg $(KDIR)
#        $(CP) ./ubinize-overlay.cfg $(KDIR)
#        $(call MkImageSysupgrade,$(BIN_DIR)/$(IMG_PREFIX)-nuc980-iot-gateway-uImage,$(KDIR)/root.ubi,ubi)
#        $(call MkImageSysupgrade,$(BIN_DIR)/$(IMG_PREFIX)-nuc980-iot-gateway-uImage,$(KDIR)/root.ubi,ubi)
#        $(call MkImageSysupgrade,$(BIN_DIR)/$(IMG_PREFIX)-nuc980-iot-gateway-uImage,$(KDIR)/root-overlay.ubi,ubi-overlay)

define Image/Build/ubifs

#        -echo "Image/Build/ubifs" $(IMG_PREFIX)
        $(if $(wildcard ./ubinize.cfg),$(call Image/mkfs/ubifs/generate,))
        $(if $(wildcard ./ubinize-overlay.cfg),$(call Image/mkfs/ubifs/generate,-overlay))
        cp $(KDIR)/root.ubi $(BIN_DIR)/$(IMG_PREFIX)-root-ubi.img
        cp $(KDIR)/root-overlay.ubi $(BIN_DIR)/$(IMG_PREFIX)-root-overlay-ubi.img

        $(call MkImageSysupgrade,$(BIN_DIR)/$(IMG_PREFIX)-nuc980-iot-gateway-uImage,$(KDIR)/root.ubifs,ubi-ubifs)
        $(call MkImageSysupgrade,$(BIN_DIR)/$(IMG_PREFIX)-nuc980-iot-gateway-uImage,$(KDIR)/root.squashfs,ubi-squashfs)
endef

define Image/Build
#        -echo PROFILE:$(PROFILE)
        $(call Image/Build/$(1))
        cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-root.$(1)
endef

#define BuildFirmware/nuc980/ubifs
#        $(call MkImageLzmaDtb,$(2),$(3),$(4))
#        dd if=$(KDIR)/vmlinux-$(2).uImage of=$(KDIR)/vmlinux-$(2).uImage.align.128k bs=128k conv=sync
#endef

#define BuildFirmware/nuc980/ubi
#        $(eval output_name=$(IMG_PREFIX)-$(2)-squashfs-sysupgrade.ubi)
#        ( \
#        dd if=$(KDIR)/vmlinux-$(2).uImage.align.128k; \
#        dd if=$(KDIR)/root-overlay.ubi \
#        ) > $(KDIR)/$(output_name)
#        $(CP) $(KDIR)/$(output_name) $(BIN_DIR)/$(output_name)
#endef

#Image/Build/Profile/nuc980=$(call BuildFirmware/nuc980/$(1),$(1),nuc980,DEMO)


$(eval $(call BuildImage))


有了这个makefile 如果读者想自己移植那基本就差不多了,工作量会减少一半。

使用特权

评论回复
8
selongli| | 2021-9-1 22:59 | 只看该作者
以后多交流交流                  

使用特权

评论回复
9
houjiakai| | 2021-9-1 22:59 | 只看该作者
资料够全的,多谢分享                                 

使用特权

评论回复
10
eefas| | 2021-9-1 22:59 | 只看该作者
正准备学习的朋友推荐下载。                                 

使用特权

评论回复
11
xiaoyaodz| | 2021-9-1 22:59 | 只看该作者
正准备用 来做产品,刚好用上。         

使用特权

评论回复
12
deliahouse887| | 2021-9-1 22:59 | 只看该作者
共享的资料比较详细  谢谢                                 

使用特权

评论回复
13
loutin| | 2021-9-1 23:00 | 只看该作者
以后多交流交流                  

使用特权

评论回复
14
vivilyly| | 2021-9-1 23:00 | 只看该作者
非常感谢楼主分享                                 

使用特权

评论回复
15
nomomy| | 2021-9-1 23:00 | 只看该作者
感谢分享,提供的例程很实用                                 

使用特权

评论回复
16
mituzu| | 2021-9-1 23:00 | 只看该作者
共享的资料比较详细  谢谢                                 

使用特权

评论回复
17
bartonalfred| | 2021-9-1 23:00 | 只看该作者
楼主太好了,非常感谢            

使用特权

评论回复
18
usysm| | 2021-9-1 23:00 | 只看该作者
感觉今后应该用的人很多                                   

使用特权

评论回复
19
saservice| | 2021-9-1 23:01 | 只看该作者
很详细的开发板资料                                 

使用特权

评论回复
20
linfelix| | 2021-9-1 23:01 | 只看该作者
正准备学习的朋友推荐下载。                                 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

3322

帖子

3

粉丝