Home IT Linux Windows Database Network Programming Server Mobile  
  Home \ Programming \ Broadcom transplanted to OpenWrt summary     - iOS persistence of data archiving NSKeyedArchiver (Programming)

- Linux server network penetration testing (Linux)

- Oracle PL / SQL based cursor (Database)

- How to install Gnome 3.10 in Ubuntu 13.10 (Linux)

- MariaDB phpMyAdmin installation and configuration issues to resolve under CentOS7 (Database)

- Easy to install CentOS 6.6 desktop environment (Linux)

- How to build a container cluster (Server)

- Linux Disk and File Management (Linux)

- Linux file and directory permissions settings (Linux)

- Linux system components Detailed log (Linux)

- CentOS 6.5 set under Oracle 12c at startup (Database)

- Linux process management related content (Linux)

- Lua study notes under ubuntu (Linux)

- S5PV210 development board for embedded development environment to build under Ubuntu (Linux)

- The new features of MySQL 5.7 Generated Column (index function) (Database)

- How to install Perl modules from CPAN (Linux)

- Linux system security configuration (Linux)

- Linux environment variable configuration and save places (Linux)

- Hibernate in profile (Database)

- How to install Laravel PHP framework on CentOS 7 / Ubuntu 15.04 (Server)

  Broadcom transplanted to OpenWrt summary
  Add Date : 2017-08-31      
  Assessment and transplant BCM5862x BCM5301x to OpenWrt platform and:

First, the first clear scoring a few basic concepts:

1, the file system

File System is the operating system used to clear storage devices (disk is common, there are also based on NAND Flash SSDs) methods and data structures or files on the partition; that method of file organization on the storage device. Operating system responsible for managing and storing files software organization's information management system called a file, referred to the file system. File System consists of three parts: the interface of the file system, object manipulation and management software collections, objects and attributes. From the point of view of the system, the file system is space for file storage and distribution equipment are organized, responsible for file storage and file into the protection and retrieval systems. Specifically, it is responsible for users to create documents, stored, read, modify, dump files, control access to documents, undo file when the user is no longer used and so on.

Embedded systems commonly used file systems include: jffs2, squashfs, ubifs, initramfs, nfs ,,,, jffs2 is the most common log file system, ubifs belongs to the next generation jffs2, initramfs kernel used to verify proper operation, squashfs is a compression-type file system, small footprint jffs2 than half of it through after unzip the file system, create a new partition rootfs_data, through the overlay (requires kernel patch support) file system is mounted onto the new partition jffs2, can achieve write. Use the appropriate file system requires appropriate kernel configuration support.

 Each file system production:

    jffs2 ::

    ubifs ::

    suqashfs ::


Wherein the offset is the partition start offset address, MTDPART_OFS_APPEND, showing immediately on a partition,

    MTD Core will automatically calculate and handle the partitioning address; size is the size of the partition, in the last partition we set

MTDPART_SIZ_FULL, represent all parts of the NAND the rest. Such is not the only configuration NAND partition

One, depending on the specific needs of the system may be, we can explicitly specify in the kernel, you can also use the bootloader

Passed to the kernel configuration parameters.

    2, the kernel

    kernel of several formats:






    Several important uboot boot parameters:



Two, BCM specific bootloader - CFE basic operations:

Decompressing ... done
Found a ST compatible serial flash with 256 64KB blocks; total size 16MB

CFE version (r382208) based on BBP 1.0.37 for BCM947XX (32bit, SP,)
Build Date: Thu Feb 28 22:09:40 EST 2013 (root@localhost.localdomain)
Copyright (C) 2000-2008 Broadcom Corporation.

Init Arena
Init Devs.
Boot partition size = 262144 (0x40000)
DDR Clock: 400 MHz
Warning:. Using legacy sdram_ncdl parameter to set DDR frequency Equivalent setting in clkfreq = 800, * 0 * will be ignored.
et0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller (r382208)
CPU type 0x0: 800MHz
Tot mem: 262144 KBytes

CFE mem: 0x00F00000 - 0x00FDA500 (894208)
Data: 0x00F4EB5C - 0x00F4F014 (1208)
BSS: 0x00F4F020 - 0x00F74500 (152800)
Heap: 0x00F74500 - 0x00FD8500 (409600)
Stack: 0x00FD8500 - 0x00FDA500 (8192)
Text: 0x00F00000 - 0x00F44874 (280692)
Boot: 0x00FDB000 - 0x0101B000
Reloc: I: 00000000 - D: 00000000

Device eth0: hwaddr 00-90-4C-0F-F0-01, ipaddr, mask
 gateway not set, nameserver not set
Loader: raw Filesys: tftp Dev: eth0 File :: Options: (null)
Loading: Failed.

CFE> printenv
Variable Name Value
-------------------- ------------------------------ --------------------
*** Command status = 0

CFE> help
Available commands:

nvram NVRAM utility.
reboot Reboot.
set console Change the active console device
loop Loop a command
flash Update a flash memory device
memtest Test memory.
f Fill contents of memory.
e Modify contents of memory.
d Dump memory.
u Disassemble instructions.
batch Load a batch file into memory and execute it
go Verify and boot OS image.
boot Load an executable file into memory and execute it
load Load an executable file into memory without executing it
save Save a region of memory to a remote file via TFTP
ping Ping a remote IP host.
arp Display or modify the ARP Table
ifconfig Configure the Ethernet interface
show clocks Show current values of the clocks.
show heap Display information about CFE's heap
show memory Display the system physical memory map.
show devices Display information about the installed devices.
unsetenv Delete an environment variable.
printenv Display the environment variables
setenv Set an environment variable.
help Obtain help for CFE commands

For more information about a command, enter 'help command-name'
*** Command status = 0
CFE> help flash


Update a flash memory device


flash [options] filename [flashdevice]

 Copies data from a source file name or device to a flash memory device.
 The source device can be a disk file (FAT filesystem), a remote file
 (TFTP) or a flash device. The destination device may be a flash or eeprom.
 If the destination device is your boot flash (usually flash0), the flash
 command will restart the firmware after the flash update is complete


-noerase Do not erase flash before writing
 -offset = * Begin programming at this offset in the flash device
 -size = * Size of source device when programming from flash to flash
 -noheader Override header verification, flash binary without checking
 -mem Use memory as source instead of a device

*** Command status = 0
CFE> help load


Load an executable file into memory without executing it


load [-options] host: filename | dev: filename

 This command loads an executable file into memory, but does not
 execute it. It can be used for loading data files, overlays or
 other programs needed before the 'boot' command is used. By
 default, 'load' will load a raw binary at virtual address 0x20000000.


-elf Load the file as an ELF executable
 -srec Load the file as ASCII S-records
 -raw Load the file as a raw binary
 -z Load compessed file
 -loader = * Specify CFE loader name
 -tftp Load the file using the TFTP protocol
 -fatfs Load the file from a FAT file system
 -rawfs Load the file from an unformatted file system
 -fs = * Specify CFE file system name
 -max = * Specify the maximum number of bytes to load (raw only)
 -addr = * Specify the load address (hex) (raw only)

*** Command status = 0
CFE> load tftp
*** Command status = -6
CFE> load -tftp -addr = 81008000
Loader: raw Filesys: tftp Dev: eth0 File: Image Options: (null)
Loading: .. 6566180 bytes read
Entry at 0x81008000
*** Command status = 0
CFE> help go


Verify and boot OS image.



 Boots OS image if valid. Waits for a new OS image if image is invalid
 or boot_wait is unset or not on.

*** Command status = 0

CFE> load -addr = 82000000 -tftp
Loader: raw Filesys: tftp Dev: eth0 File: u-boot.bin Options: (null)
Loading: .. 537212 bytes read
Entry at 0x82000000
*** Command status = 0

CFE> show devices
Device Name Description
------------------- ------------------------------- --------------------------
uart0 NS16550 UART at 0x18000300
uart1 NS16550 UART at 0x18000400
flash0 ST Compatible Serial flash size 16384KB
flash0.boot ST Compatible Serial flash offset 00000000 size 256KB
flash0.trx ST Compatible Serial flash offset 00040000 size 1KB
flash0.os ST Compatible Serial flash offset 0004001C size 16064KB
flash0.nvram ST Compatible Serial flash offset 00FF0000 size 64KB
flash1.boot ST Compatible Serial flash offset 00000000 size 256KB
flash1.trx ST Compatible Serial flash offset 00040000 size 16064KB
flash1.nvram ST Compatible Serial flash offset 00FF0000 size 64KB
eth0 Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller
*** Command status = 0

CFE> flash -noheader -offset = 0 flash0
Reading Done 537212 bytes read
Programming ... done. 537212 bytes written
*** Command status = 0

Three, BCM Network Configuration

Fourth, the transplant SDK to openwrt basic steps and precautions
- Ten best plug surge Emacs Productivity (Linux)
- Learning MySQL data types (Database)
- Linux compression and decompression command (Linux)
- To configure Samba to share files with Windows under CentOS (Linux)
- Oracle Incident Packaging Service (Database)
- Install Python 3.3.4 under CentOS 6.4 (Linux)
- Oracle rebuild index script (Database)
- Linux --- process tracking (Linux)
- CentOS6 5 source compiler installation Hadoop2.5.1 (Server)
- Linux (CentOS) directory file management and file system file compression packing (Linux)
- MariaDB 10 Multi-source replication (Database)
- Linux Network Programming --IP packet format Detailed (Programming)
- Oracle 12C with multi-column index (Database)
- Linux Disk and File Management (Linux)
- MongoDB query statistics grouping remove duplicate records (Database)
- System Security: Build Linux with LIDS steel castle (Linux)
- Solaris 10 nagios monitoring system (Linux)
- Using Linux command line and execute PHP code (Programming)
- installation process of Matlab 2012a under Ubuntu 14.04 (Linux)
- How to install Unbound and DNSCrypt in Archlinux (Server)
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.