Skip to content

Instantly share code, notes, and snippets.

@xiangchu0
Last active September 23, 2020 11:43
Show Gist options
  • Select an option

  • Save xiangchu0/84991aa049fef4f7d4e179163cb76de8 to your computer and use it in GitHub Desktop.

Select an option

Save xiangchu0/84991aa049fef4f7d4e179163cb76de8 to your computer and use it in GitHub Desktop.
openwrt environment
#!/bin/bash
WRT_HOME=$(cd "$(dirname "$0")"; pwd)
echo "script_path: $WRT_HOME"

G_GCC=$(sed -n -E -e 's/^CONFIG_GCC_VERSION="(.*?)"$/\1/p' ${WRT_HOME}/.config)
G_LIBC=$(sed -n -E -e 's/^CONFIG_LIBC="(.*?)"$/\1/p' ${WRT_HOME}/.config)
G_PKG_ARCH=$(sed -n -E -e 's/^CONFIG_TARGET_ARCH_PACKAGES="(.*?)"$/\1/p' ${WRT_HOME}/.config)
G_ARCH=$(sed -n -E -e 's/^CONFIG_ARCH="(.*?)"$/\1/p' ${WRT_HOME}/.config)


export PATH=${WRT_HOME}/staging_dir/toolchain-${G_PKG_ARCH}_gcc-${G_GCC}_${G_LIBC}/bin:$PATH
export STAGING_DIR=${WRT_HOME}/staging_dir/toolchain-${G_PKG_ARCH}_gcc-${G_GCC}_${G_LIBC}
export TARGET_DIR=${WRT_HOME}/staging_dir/target-${G_PKG_ARCH}_${G_LIBC}

export LD=${G_ARCH}-openwrt-linux-${G_LIBC}-ld
export NM=${G_ARCH}-openwrt-linux-${G_LIBC}-nm
export AR=${G_ARCH}-openwrt-linux-${G_LIBC}-ar
export AS=${G_ARCH}-openwrt-linux-${G_LIBC}-as
export CC=${G_ARCH}-openwrt-linux-${G_LIBC}-gcc
export RANLIB=${G_ARCH}-openwrt-linux-${G_LIBC}-ranlib

Ubuntu 12.04LTS:

sudo apt-get install build-essential subversion git-core \
   libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc \
   libxml-parser-perl mercurial bzr ecj cvs unzip

Ubuntu 64bit:

sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev \
   gawk gcc-multilib flex git-core gettext libssl-dev

Debian 8 Jessie:

sudo apt-get install build-essential libncurses5-dev gawk git subversion \
   libssl-dev gettext unzip zlib1g-dev file python time

Debian 9 Stretch:

sudo apt-get install build-essential libncurses5-dev gawk git subversion \
   libssl-dev gettext zlib1g-dev time

Centos x86-64 (some packages require EPEL):

yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex \
   ncurses-devel zlib-devel zlib-static make patch unzip glibc glibc-devel \
   perl-ExtUtils-MakeMaker glibc-static quilt ncurses-devel sed sdcc bison \
   intltool sharutils wget git-core openssl-devel xz which file

Fedora 24 - 64Bit:

dnf install -y subversion binutils bzip2 gcc gcc-c++ gawk gettext git-core \
   unzip ncurses-devel ncurses-compat-libs zlib-devel zlib-static make \
   flex patch perl-ExtUtils-MakeMaker perl-Thread-Queue glibc glibc-devel \
   glibc-static quilt sed sdcc intltool sharutils bison wget openssl-devel

mount

mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk

fstab

# /etc/fstab
tmpfs       /mnt/ramdisk tmpfs   nodev,nosuid,noexec,nodiratime,size=1024M   0 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment