目前日期文章:201704 (14)

瀏覽方式: 標題列表 簡短摘要
  • rtl819x\users\boa\system\set_firewall.c, setRulesWithOutDevice(), system("updatefw ; sleep 2; /tmp/fw.sh");
  • rtl819x\users\autoexec\updatefw.c 產生 /tmp/fw.sh
  • 再去呼叫 /tmp/fw.sh

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/LanmanServer/Parameters
  • Size 改成 3
  • 新增 SMB2 (DWORD (32 bit)) 值為 0

參考資料


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

image start position

  • check_image_header() 用來找尋所有的表頭,包含 linux 及 rootfs。
  • check_system_image() 用來找尋 linux 表頭位置。
  • check_rootfs_image() 用來找尋 rootfs 表頭位置
  • CODE_IMAGE_OFFSET,CODE_IMAGE_OFFSET2,CODE_IMAGE_OFFSET3 用來記錄 linux 啟始位置,會先檢查。找不到時會根據 config 的 CONFIG_LINUX_IMAGE_OFFSET_START,CONFIG_LINUX_IMAGE_OFFSET_END,CONFIG_LINUX_IMAGE_OFFSET_STEP,來找尋 linux 的位置。
  • ROOT_FS_OFFSET,ROOT_FS_OFFSET_OP1,ROOT_FS_OFFSET_OP2 用來記錄 rootfs 啟始位置,會先檢查。找不到時會根據 config 的 CONFIG_ROOT_IMAGE_OFFSET_START,CONFIG_ROOT_IMAGE_OFFSET_END,CONFIG_ROOT_IMAGE_OFFSET_STEP,來找尋 rootfs 的位置。
  • 所以有重新改變 linux 或 rootfs 的啟始位置時,記得順便變更 CODE_IMAGE_OFFSET 及 ROOT_FS_OFFSET,這樣省略找尋的時間,讓開機快一點點。

ip address

  • boot ip address 是 tftp server ip。
  • tftp server ip 要修改 bootcode_APH60c\boot\init\eth_tftpd.c 的 tftpd_entry()
    if(*ptr == tftp_sign)
            arptable_tftp[TFTP_SERVER].ipaddr.s_addr = *ptr2;       
    else
            arptable_tftp[TFTP_SERVER].ipaddr.s_addr = IPTOUL(192,168,1,97);
    
    #else
            arptable_tftp[TFTP_SERVER].ipaddr.s_addr = htonl((unsigned int)(IPTOUL(192,168,1,6)));
    #endif
    
    arptable_tftp[TFTP_CLIENT].ipaddr.s_addr = htonl((unsigned int)(IPTOUL(192,162,1,116)));
    
  • http server ip address 不用修改,是跟著 tftp server ip address 變更。
  • dhcp server ip 要修改 bootcode_APH60c\boot\init\dhcpd.c 的 dhcps_entry()

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • rtl819x\Makefile --> $(MAKE) -C $(DIR_BOARD) image
    所以 make image 直接跳 rtl819x\boards\rtl8197F\Makefile 看即可
  • rtl819x\boards\rtl8197F\Makefile --> $(MAKE) -C $(DIR_LINUX)/rtkload

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. sudo apt-get install samba samba-common
  2. sudo apt-get install system-config-samba
  3. 在 Dash home 輸入 samba 就可以找到圖形化設定 APP
  4. 新增一個分享目錄
    2017-04-19_173754
  5. 記得把使用者權限改成所有人

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

Error opening terminal: xterm.
make: *** [config] Error 1
  • 解決方式
  • export TERMINFO=/lib/terminfo

gzip_wrapper.c:23:18: fatal error: zlib.h: No such file or directory
compilation terminated.
  • 解決方式
  • sudo apt-get install zlib1g-dev

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

執行 iptables -A FORWARD -m physdev --physdev-in wlan1-va0 -d 203.205.128.0/19 -j ACCEPT 卻出現 iptables: No chain/target/match by that name. 的錯誤。

google 許久都找不到答案,檢查 source 發現 linux-3.10/net/netfilter/nf_queue.c 有一段程式碼。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • 根據 rtl819x/Makefile 內容,rtl819x/config/genconfig 會產生 Kconfig。
  • 根據 genconfig 的內容,Target 的選項為 rtl819x/boards 內的目錄,所以只要留下必要的即可。
  • 根據 genconfig 的內容,toolchain 的選項為 rtl819x/toolchain 內的目錄,所以只要留下必要的即可。
  • 根據 genconfig 的內容,Board Configuration 的選項為 rtl819x/boards/rtl8197F/board-configuration.in 的文件,只要留下必要的選項即可。
  • etc/linux/busybox/user 的預設 .config 為 rtl819x/boards/rtl8197F/config.busybox-1.13.{Board Configuration} 等等。
  • 比如我選 Board Configuration 為 RTL8197F_8812BR_8367R_GW 則預設為
    1. etc.default
    2. config.busybox-1.13.RTL8197F_8812BR_8367R_GW
    3. config.linux-3.10.RTL8197F_8812BR_8367R_GW
    4. config.users.RTL8197F_8812BR_8367R_GW

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

linux 3.10

  • +Device Drivers
  • ++Character devices
  • +++[*] Unix98 TTY support
  • +++[*] Support multiple instances of devpts

busybox 1.13

  • +Busubox Settings
  • ++General Configuration
  • +++[*] Use the devpts filesystem for Unix98 PTYs
  • +Login/Password Management Utilities
  • ++[*] login
  • ++[*] Support for /etc/nologin
  • ++[*] Support for /etc/securetty
  • +Networking Utilities
  • ++[*] telnetd
  • ++[*] Support standalone telnetd (not inetd only)

/etc/init.d/rcS

  • mount -t devpts devpts /dev/pts
  • /bin/telnetd &

參考資料


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • Apr 13 Thu 2017 18:02
  • romfs

  • rtl819x/Makefile 內的 DIR_BOARD 指向 $(DIR_ROOT)/target
  • rtl819x/target 連結到 rtl819x/boards/rtl8197F
  • rtl819x/Makefile 會執行 $(MAKE) -C $(DIR_BOARD) romfs
  • rtl819x/boards/rtl8197F/Makefile 會執行 $(ROMFSINST) etc /etc
  • rtl819x/boards/rtl8197F/etc 連結到 rtl819x/boards/rtl8197F/etc.default
  • 所以只要修改 rtl819x/boards/rtl8197F/etc.default 內的檔案即可.
  • rcS 要修改 rtl819x/boards/rtl8197F/etc.default/init.d/rcS_GW

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • __INIT (head.S)
  • init_arch()
  • +start_kernel() -- return_addr=0
  • ++doBooting(flag, addr=0, ....)
  • +++goToLocalStartMode(addr=0, ...)

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

form

  • main()
  • loop()
  • process_requests()
  • write_body()
  • init_form()
  • handleForm()
  • 比對 root_form 的字串,再執行相對應的函數。

asp

  • main()
  • loop()
  • process_requests()
  • read_header()
  • process_header_end()
  • init_get2()
  • handleScript()
  • 比對 root_asp 的字串,再執行相對應的函數。

firmware upload

  • formUpload()
  • 比對 FW_HEADER_WITH_ROOT(cr6c),設定 isValidfw=1 及 flag=1。
  • fwChecksumOk() 檢查 checksum。
  • 設定 isFWUPGRADE=1,導頁到 COUNTDOWN_PAGE(/countDownPage.htm)

COUNTDOWN_PAGE

  • main()
  • loop()
  • process_requests()
  • read_header()
  • process_header_end()
  • translate_uri()
  • 因為 isFWUPGRADE=1,所以設定 isREBOOTASP=1 及 isFWUPGRADE=2。
  • 因為 isREBOOTASP=1 及 isFWUPGRADE!=0,在 loop() 會跳到 ToUpgrade 執行 FirmwareUpgrade()。

FirmwareUpgrade()

  • 把參數寫到 /var/fwd.conf
  • 把 shm_id 寫到 /var/fwd.ready 結束 boa
  • /bin/fwd daemon 偵測到 /var/fwd.ready 開始寫 firmware

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • iptables -A FORWARD -m physdev --physdev-in ra0 -d 203.205.128.0/19 -j ACCEPT
  • iptables -A FORWARD -m physdev --physdev-in ra0 -d 203.205.160.0/21 -j ACCEPT
  • iptables -A FORWARD -m physdev --physdev-in ra0 -d 203.205.168.0/21 -j ACCEPT
  • iptables -A FORWARD -m physdev --physdev-in ra0 -d 203.205.176.0/20 -j ACCEPT
  • iptables -A FORWARD -m physdev --physdev-in ra0 -d any/0 -j DROP

-m physdev --physdev-in 是限制實體裝置


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • #define COMPRESS_MIB_SETTING
    #define MIB_TLV

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論