Giter Club home page Giter Club logo

Welcome to Guoxin "7Ji" Pu's profile

A free and open source software enjoyer, creator, maintainer and contributor; working on OS and kernel.

My GitHub Stats

My current blog site is at https://7ji.github.io/ . The posts there only focus on non-development stuffs, like servers, booting, reverse-engineering, etc, note there's none of content about my FOSS projects, as I prefer to document the projects in tree and get everything recorded in issues or any other public places.

My email is publicly available, but, please don't send private email asking about the public projects, I've ensured the publicly avaiable documentation and existing issues be enough to get you around. If you do send, be prepared that your email will either be ignored or get an impatient, unfriendly reply.

My GitHub Language Stats

I don't stand in favor or against any programming languages, but I stand in favor of a clear, easy-to-follow coding model that I emphase in most of my projects (many of them even follow different coding styles).

I created the following projects and maintain them actively:

  • ampart, a partition tool for Amlogic's proprietary eMMC partition format mainly found on their Android firmware, in C, based on my reverse-engineering, a patchset for mainline kernel is also available to natively support such partitions.
  • ampack, a tool to unpack, convert and (re)pack Amlogic burning images, in Rust, also based on my reverse-engineering, aiming to replace AML's proprietary aml_image_v2_packer binray.
  • git-mirrorer / gmr, a tool to mirror git repos, and archive and checkout them with submodules included implicitly, in C, using libgit2 and libyaml.
  • YAopenvfD, a helper daemon to improve the functionality of the linux_openvfd kernel module, for fragment LCD displays found on set-top boxes, in C.
  • eemount, a system utility to efficiently and elegantly set up the external ROMs mounting for EmuELEC (see below), in C, using libsystemd.
  • pkgbuild-rs, a naive PKGBUILD parsing library, that runs on any distro or platform (even non Arch), in Rust.
  • alnopm, an Arch Linux Pacman repository database parsing library, that runs on any distro or platform (even non Arch), in Rust.
  • arb, a builder to build an Arch Linux repo in a disk-space-and-network-efficient way, in Rust.
  • sd-networkd-wg-ddns, a systemd-networkd wireguard netdev endpoints DynDNS updater, in C.
  • archrepo, an Arch Linux / Arch Linux ARM repo, focusing on media center use cases, hosting pre-built kernel and video de/encoding packages, notably for Rockchip RK3588 (Orange Pi 5/5B/5Plus, Orange Pi 3B, Radxa Rock 5B) and Amlogic platforms, updated hourly.
  • amlogic-s9xxx-archlinuxarm, orangepi5-archlinuxarm and orangepi5-rkloader providing pre-built ALARM / bootloader images with my ported/maintained kernels pre-installed.
  • nvrust, a daemon to turn any Linux box into a Network Video Recorder, in Rust, using libffmpeg.
  • videoArchiver.py, a video archiving tool, in Python, using ffmpeg.
  • usb2host in C, router_reporter in Go, mirai-ip-notifier in Go, arch_pkgbuilds_dumper in Python, CargoStranding in C++, CargoStrandingWeb in Javascript, and other nice tools.

I created the following organisations and actively lead & maintain them:

  • 7Ji-PKGBUILDs, collections of PKGBUILDs (recipes to build Arch Linux package from) submitted/maintained/co-maintained by myself, focusing on kernel, video de/encoding, and more.
  • HybridELEC, a downstream semi-distro to achieve side-by-side dual boot of CoreELEC (see below) and EmuELEC (see below), some special images are also released for chosen devices to achieve triple boot, with Android as the main OS. In various languages (including an Android App to switch OS) and based on kernel/booting reverse-engineering.

I maintaind the following projects previously and enjoyed the experience:

  • EmuELEC (during 2022-2023), a distro focusing on smooth out-of-box retro gaming experience on entry-level ARM devices, for Amlogic and Rockchip devices. As the kernel expert in team to introduce support to new devices.

I contributed or am contributing to the following projects:

  • linux, the kernel, to mainline and its many vendor BSP forks (see below)
  • u-boot, the bootloader, to mainline and its many vendor BSP forks (see below)
  • systemd, a system and service manager
  • libgit2, a cross-platform, linkable library implementation of Git
  • CoreELEC, a lightweight OS for Kodi
  • archlinuxarm, a downstream distro of Arch Linux for ARM platforms.
  • armbian fork, a downstream distro of Debian and a build framework.

Some of my upstreamable / non-upstreamable patches to mainline kernel and u-boot are hosted in the following repos/branches:

  • 7Ji/linux, the default amlogic tree contains my patchsets to enable Amlogic partitions support, port several device trees, and add/improve the JL21xx network PHY driver and openvfd driver.
  • 7Ji/u-boot, the default random-boxes tree contains my patchsets to port/add several device trees, and add support for environment-based partitions.
  • 7Ji/linux-orangepi, the default orange-pi-5.10-rk3588-gcc-12 branch contains my fixes to drivers, filesystem, memory management and more to make the BSP kernel buildable on post-gcc-12 toolchains.
  • I also submit to LKML directly when I consider them upstreamable, like the one for the embedded partitions in block subsystem (v1, v2)

Guoxin Pu's Projects

alarm-builder-common icon alarm-builder-common

Device-independent functions/scripts to be used in amlogic-s9xxx-archlinuxarm and orangepi5-archlinuxarm, etc

alnopm icon alnopm

Parsing Arch Linux repo DB files, without alpm dependency.

amlogic-s9xxx-armbian icon amlogic-s9xxx-armbian

Armbian for Amlogic and Rockchip. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, rk3588, rk3568, rk3328, etc. including install to EMMC and update related functions.

amlogic-s9xxx-openwrt icon amlogic-s9xxx-openwrt

Support for OpenWrt in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.

ampack icon ampack

A tool to unpack / (re)pack AMLogic burning images

ampart icon ampart

A partition tool for Amlogic's proprietary emmc partition format

arb icon arb

A naive Arch repo builder, for AUR-like packages

archpkg_cachegit icon archpkg_cachegit

Cache git sources from 7Ji/git-mirrorer instance for Arch's makepkg routine

archrepo icon archrepo

A pacman repo focusing on Arch as media center, for ArchLinux on x86_64 and ArchLinux ARM on aarch64, updated hourly

auto-whu-openwrt icon auto-whu-openwrt

可以用于OpenWrt路由器的武汉大学校园网自动认证工具,适用于锐捷ePortal网页认证

auto-whu-standard icon auto-whu-standard

Auto WHU for standard linux distributions i.e. Arch Linux, Ubuntu, etc. With systemd in mind, this version is much more concise than the openwrt version.

booster icon booster

Fast and secure initramfs generator

cargostranding icon cargostranding

A Death Stranding material calculator that supports multiple requests / 支持多个请求的死亡搁浅材料计算器

cargostrandingweb icon cargostrandingweb

A Death Stranding material calculator that supports multiple requests, on web / 支持多个请求的死亡搁浅材料计算器 网页端

eemount icon eemount

Multi-source ROMs mounting utility for EmuELEC

emuelec icon emuelec

EmuELEC, retro emulation for Amlogic devices. Based on CoreELEC. https://emuelec.org or join us on Discord: https://discord.gg/cbgtJTu

git-mirrorer icon git-mirrorer

To mirror git repos, and archive and checkout them with submodules included implicitly.

gmssl icon gmssl

支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱

libgit2 icon libgit2

A cross-platform, linkable library implementation of Git that you can use in your application.

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.