Setup a Custom Image for OpenWRT (for ASUS WL-700gE)

Prerequisites

aptitude install build-essential 
aptitude install bzip2 flex bison make gettext pkg-config unzip zlib1g-dev libncurses5-dev
tar xvjf OpenWrt-ImageBuilder-brcm-2.4-for-Linux-i686.tar.bz2
cd OpenWrt-ImageBuilder-brcm-2.4-for-Linux-i686
  • Anzeige von Presets make info
Current Target: "Broadcom BCM947xx/953xx [2.4]"
Available Profiles:
...
WL700GE:
        WL-700gE
        Packages: base-files busybox dropbear e2fsprogs fdisk kmod-diag 
                  kmod-fs-ext3 kmod-ide-aec62xx kmod-ide-core kmod-switch 
                  libgcc mtd nvram uclibc
...

Anpassungen

Anpassungen am Root-Filesystem können erreicht werden, indem man noch ein Verzeichnis files/ erzeugt. Hier kann z.B. auch eine Datei builddate.txt abgelegt werden, so dass man sehen kann, ob das flashen geklappt hat.

Build Image

  • Edit build_mipsel/root/etc/banner
  • make image PROFILE=”WL700GE”
Building images for Broadcom BCM947xx/953xx [2.4] - WL-700gE
Packages: base-files-brcm-2.4 bridge busybox dnsmasq dropbear e2fsprogs fdisk iptables kernel kmod-diag kmod-fs-ext3 kmod-ide-aec62xx kmod-ide-core kmod-ipt-nathelper kmod-switch libgcc mtd nvram ppp ppp-mod-pppoe uclibc

  make[2] package_index 
  make[2] package_install 
  make[2] package_postinst 
  make[2] build_image 
  • real 0m14.678s
  • user 0m6.970s
  • sys 0m7.080s (Pentium IV Mobile 2.2GHz)

Und jetzt mit der files Sektion:

  • make image PROFILE=”WL700GE” FILES=”./files” (Tipp von Felix Fietkau, openwrt).
tirili@o:~/openwrt/OpenWrt-ImageBuilder-brcm-2.4-for-Linux-i686$ make image PROFILE="WL700GE" FILES="./files"
Building images for Broadcom BCM947xx/953xx [2.4] - WL-700gE
Packages: base-files-brcm-2.4 bridge busybox dnsmasq dropbear e2fsprogs fdisk iptables kernel kmod-diag kmod-fs-ext3 kmod-ide-aec62xx kmod-ide-core kmod-ipt-nathelper kmod-switch libgcc mtd nvram ppp ppp-mod-pppoe uclibc

  make[2] package_index 
  make[2] package_install 
  make[2] copy_files 
  make[2] package_postinst 
  make[2] build_image 
tirili@o:~/openwrt/OpenWrt-ImageBuilder-brcm-2.4-for-Linux-i686$ echo -en 'verbose\ntrace\nbinary\nput bin/openwrt-brcm-2.4-squashfs.trx openwrt-brcm-2.4-squashfs.trx\n' | tftp 192.168.1.1
tftp> Verbose mode on.
tftp> Packet tracing on.
tftp> mode set to octet
tftp> putting bin/openwrt-brcm-2.4-squashfs.trx to 192.168.1.1:openwrt-brcm-2.4-squashfs.trx [octet]
sent WRQ <file=openwrt-brcm-2.4-squashfs.trx, mode=octet>
received ACK <block=0>
sent DATA <block=1, 512 bytes>
received ACK <block=1>
...
sent DATA <block=3209, 0 bytes>
received ACK <block=3209>
Sent 1642496 bytes in 23.5 seconds [559148 bits/sec]
# with atftp
atftp --trace --verbose --local-file bin/openwrt-brcm-2.4-squashfs.trx --remote-file openwrt-brcm-2.4-squashfs.trx --put 192.168.1.1
Trace mode on.
Verbose mode on.
sent WRQ <file: openwrt-brcm-2.4-squashfs.trx, mode: octet <>>
received ACK <block: 0>
sent DATA <block: 1, size: 512>
received ACK <block: 1>
sent DATA <block: 2, size: 512>
received ACK <block: 2>
...
sent DATA <block: 3208, size: 512>
received ACK <block: 3208>
sent DATA <block: 3209, size: 0>
received ACK <block: 3209>
  • 4-5 Minuten warten und dann vom Stromnetz trennen.

Übertragen auf das System

  • arp -s 192.168.1.1 00:1B:FC:AA:AA:0D
  • scripts/flash.sh bin/openwrt-brcm-2.4-squashfs.trx asus
tftp> tftp> Flashing 192.168.1.1 using ../bin/openwrt-brcm-2.4-squashfs.trx...
tftp> tftp> Transfer timed out.

tftp> Please wait until leds stops flashing.
  • Wenn das nicht hinhaut, dann gefühlvoll [RESET] + 6x Blinken + Ping schauen und dann tftp.
echo -en 'verbose\ntrace\nbinary\nput bin/openwrt-brcm-2.4-squashfs.trx openwrt-brcm-2.4-squashfs.trt\n' | tftp 192.168.1.1
tftp> Verbose mode on.
tftp> Packet tracing on.
tftp> mode set to octet
tftp> putting bin/openwrt-brcm-2.4-squashfs.trx to 192.168.1.1:openwrt-brcm-2.4-squashfs.trx [octet]
sent WRQ <file=openwrt-brcm-2.4-squashfs.trx, mode=octet>
received ACK <block=0>
sent DATA <block=1, 512 bytes>
received ACK <block=1>
sent DATA <block=2, 512 bytes>
received ACK <block=2>
...
sent DATA <block=3208, 512 bytes>
received ACK <block=3208>
sent DATA <block=3209, 0 bytes>
received ACK <block=3209>
Sent 1642496 bytes in 19.8 seconds [663635 bits/sec]
tftp> 

Neues System

  • telnet 192.168.1.1
  • df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 1.2M      1.2M         0 100% /
none                     30.7M      4.0k     30.7M   0% /tmp
  • Wenn es so aussieht, dann ist es noch nicht komplett, aber jetzt können wir mtd nutzen.
root@(none):/# cd /tmp
root@(none):~# wget http://192.168.1.10/bin/openwrt-brcm-2.4-squashfs.trx
Connecting to 192.168.1.10 [192.168.1.10:80]
openwrt-brcm-2.4-squ 100% |*************************************************************************|  1604 KB --:--:-- ETA
Usage: mtd [<options> ...] <command> [<arguments> ...] <device>

The device is in the format of mtdX (eg: mtd4) or its label.
mtd recognizes these commands:
        unlock                  unlock the device
        erase                   erase all data on device
        write <imagefile>|-     write <imagefile> (use - for stdin) to device
Following options are available:
        -q                      quiet mode (once: no [w] on writing,
                                           twice: no status messages)
        -r                      reboot after successful command
        -f                      force write without trx checks
        -e <device>             erase <device> before executing the command

Example: To write linux.trx to mtd4 labeled as linux and reboot afterwards
         mtd -r write linux.trx linux

root@(none):~# mtd -r write openwrt-brcm-2.4-squashfs.trx linux
Unlocking linux ...
Writing from openwrt-brcm-2.4-squashfs.trx to linux ...  [w]
Rebooting ...
  • nvram show
default_primary_pool_name=MYVOLUME
os_ram_addr=80001000
boardrev=0x10
et0macaddr=00:1B:FC:AA:AA:0D
rescue_gpio=4
dev_mfr_url=http://www.asus.com/
pivot_root_current=1
model_name=ASUS WL700gE
watchdog=5000
boot_wait=on
et0mdcport=0
reset_gpio=7
pivot_partition_size=65536
pmon_ver=CFE 3.91.23.0
dev_mfr=ASUS
pivot_root_1=/dev/ide/host2/bus0/target0/lun0/part1
pivot_root_2=/dev/ide/host2/bus0/target0/lun0/part2
vlan0ports=1 2 3 4 5*
ses_enable=0
gpio6=robo_reset
wan_vport=0
os_flash_addr=bfc40000
boardtype=0x042f
default_lan_proto=dhcp_server
et1macaddr=40:10:18:AA:AA:0c
lan_netmask=255.255.255.0
new_system_disk_name=SYSTEM
et1mdcport=1
default_start_page=start_system.asp
cfe_wait_led_gpio=1
wlan_ipaddr=192.168.21.1
custom_shutdown_command=stoprcasus
primary_pool_name=MYVOLUME
cfe_wait_on_restore=0
pivot_wait=3000
wlan_ifname=eth1
wait_time=1
swap_mode=auto
default_physical_authentication_enable=disabled
startup_command=rcasus
new_disk_action=one_per_disk
gpio_0_name=soft_power_switch
apps_share=MYSHARE1
default_router_disable=0
wlan_netmask=255.255.255.0
lan_ifnames=vlan0 eth1
model_desc=ASUS Wireless Storage Router
wan_ifnames=eth0
clkfreq=264
lan_ipaddr=192.168.1.1
vlan1hwname=et0
default_primary_share_name=MYSHARE
model_no=WL700gE
router_disable=0
preferred_lang=EN
sdram_config=0x0062
vlan1ports=0 5u
scratch=a0180000
lan_ifname=br0
boardflags=0x0110
sdram_refresh=0x0000
wandevs=et0
sdram_ncdl=0x403
hardware_version=WL700g-01-16-01-00
early_startup_command=convertasus
web_hook_libraries=corewebhooks netwebhooks diskwebhooks winnet printwebhooks netregistration samplenetregistration samplehooks
misc_io_mode=bcmgpio
et0phyaddr=30
model_url=http://www.asus.com/
disk_health_query_ctrl=never
wan_ifname=eth0
landevs=vlan0 wl0
bridge_disable=0
default_boardflags=0x0110
apps_pool=MYVOLUME1
default_new_disk_action=one_per_disk
sdram_init=0x0009
kernel_gpio_init_out_3=1
vlan0hwname=et0
dl_ram_addr=a0001000
primary_share_name=MYSHARE
kernel_gpio_init_out_6=1
default_http_passwd=
regulation_domain=0X30DE
gpio_3_name=power_enable
default_workgroup=WORKGROUP
wlan_hardware_present=yes
primary_ifname=eth0
et1phyaddr=31
boardnum=44
default_http_username=
default_new_system_disk_name=SYSTEM
size: 2231 bytes (30537 left)
 
wissen/openwrt/installation-openwrt-auf-asus-wl-700ge-custom-image.txt · Zuletzt geändert: 05.09.2010 20:31
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de