Coder Social home page Coder Social logo

tsl0922 / padavan Goto Github PK

View Code? Open in Web Editor NEW
158.0 10.0 203.0 913.18 MB

padavan-4.4 fork for K2P

Makefile 0.44% Shell 0.36% M4 0.04% Roff 0.26% C 96.86% Lex 0.01% Yacc 0.02% CSS 0.01% Dockerfile 0.01% C++ 0.20% Perl 0.19% Awk 0.01% Assembly 1.54% CMake 0.01% HTML 0.07% Verilog 0.01% SourcePawn 0.01% V 0.01% sed 0.01% Batchfile 0.01%
padavan rt-n56u mt7621 k2p

padavan's Introduction

padavan

This project is based on original rt-n56u with latest mtk 4.4.198 kernel, which is fetch from D-LINK GPL code.

Enhancements in this repo
  • commits has beed rewritten on top of hanwckf/rt-n56u repo for better history tracking
  • Optimized Makefiles and build scripts, added a toplevel Makefile
  • Added ccache support, may save up to 50%+ build time
  • Upgraded the toolchain and libc:
    • gcc 13.2.0
    • musl 1.2.4
  • OpenWrt style package Makefile
  • Enabled kernel cgroups support
  • Fixed K2P led label names
  • Replaced udpxy with msd_lite
  • Replaced Web Console with ttyd
  • Upgraded libs and user packages
  • And a lot of package related fixes
  • ...

Features

  • Based on 4.4.198 Linux kernel
  • Support MT7621 based devices
  • Support MT7615D/MT7615N/MT7915D wireless chips
  • Support raeth and mt7621 hwnat with legency driver
  • Support qca shortcut-fe
  • Support IPv6 NAT based on netfilter
  • Support WireGuard integrated in kernel
  • Support fullcone NAT (by Chion82)
  • Support LED&GPIO control via sysfs

Supported devices

  • CR660x
  • JCG-Q20
  • JCG-AC860M
  • JCG-836PRO
  • JCG-Y2
  • DIR-878
  • DIR-882
  • K2P
  • K2P-USB
  • NETGEAR-BZV
  • MR2600
  • MI-4
  • MI-R3G
  • MI-R3P
  • R2100
  • XY-C1

Compilation steps

  • Install dependencies
    # Debian/Ubuntu
    sudo apt install unzip libtool-bin ccache curl cmake gperf gawk flex bison nano xxd \
        fakeroot kmod cpio bc zip git python3-docutils gettext automake autopoint \
        texinfo build-essential help2man pkg-config zlib1g-dev libgmp3-dev \
        libmpc-dev libmpfr-dev libncurses5-dev libltdl-dev wget libc-dev-bin
    Optional:
    • install golang for building go programs
      sudo rm -rf /usr/local/go
      curl -fsSL https://go.dev/dl/go1.20.10.linux-amd64.tar.gz | sudo tar -C /usr/local -xz
      echo "export PATH=\$PATH:/usr/local/go/bin" | sudo tee /etc/profile.d/go.sh
      source /etc/profile.d/go.sh
      go version
    • install nodejs for building AdGuardHome
      sudo apt update
      sudo apt install -y ca-certificates curl gnupg
      sudo mkdir -p /etc/apt/keyrings
      curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
      echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
      sudo apt update
      sudo apt install -y nodejs
      node -v
  • Clone source code
    git clone https://github.com/tsl0922/padavan.git
  • Modify template file and start compiling
    # (Optional) Modify template file
    # vi trunk/configs/templates/K2P.config
    
    # Start compiling with: make PRODUCT_NAME
    make K2P
    
    # To build firmware for other devices, clean the tree after previous build
    make clean

Package Development

  • Makefile examples
  • Compiling a single package (cd to trunk first)
    • build: make libs/libpcre_only
    • clean: make libs/libpcre_clean
    • romfs: make libs/libpcre_romfs

Manuals

  • Controlling GPIO and LEDs via sysfs
  • How to use NAND RWFS partition
  • How to use IPv6 NAT and fullcone NAT
  • How to add new device support with device tree

padavan's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.