parent
b34c1c0309
commit
ce9f27c07c
@ -0,0 +1,12 @@
|
|||||||
|
# How to setup the compiling environment on ubuntu
|
||||||
|
### Usage
|
||||||
|
```
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get install -y sudo wget
|
||||||
|
wget https://raw.githubusercontent.com/friendlyarm/build-env-on-ubuntu-bionic/master/install.sh
|
||||||
|
sudo ./install.sh
|
||||||
|
```
|
||||||
|
### Supported Distributions
|
||||||
|
- Ubuntu bionic (Recommended)
|
||||||
|
- Ubuntu focal
|
||||||
|
- Ubuntu jammy
|
@ -1,68 +1,107 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
[ -f /etc/os-release ] && . /etc/os-release
|
# set -eux
|
||||||
|
|
||||||
sudo apt-get -y install bison g++-multilib git gperf libxml2-utils make zip patchelf
|
# Automatically re-run script under sudo if not root
|
||||||
[ ${UBUNTU_CODENAME} = "bionic" ] && sudo apt-get -y install python-networkx
|
if [ $(id -u) -ne 0 ]; then
|
||||||
sudo apt-get -y install flex curl libncurses5-dev libssl-dev zlib1g-dev gawk minicom
|
echo "Re-running script under sudo..."
|
||||||
sudo apt-get -y install openjdk-8-jdk
|
sudo "$0" "$@"
|
||||||
|
exit
|
||||||
# uboot v2016
|
fi
|
||||||
sudo apt-get -y install device-tree-compiler
|
|
||||||
|
if [ ! -f /etc/os-release ]; then
|
||||||
# kernel release-4.4
|
echo "WARNING: This script only works on Ubuntu"
|
||||||
sudo apt-get -y install liblz4-tool
|
fi
|
||||||
sudo apt-get -y install bison
|
source /etc/os-release
|
||||||
|
case ${UBUNTU_CODENAME} in
|
||||||
# recommended
|
bionic | focal | jammy)
|
||||||
sudo apt-get -y install openssh-server vim
|
;;
|
||||||
sudo apt-get -y install qemu-user-static
|
*)
|
||||||
sudo apt-get -y install exfat-fuse exfat-utils p7zip-full tree
|
echo "WARNING: This script only works on Ubuntu bionic/focal/jammy"
|
||||||
|
exit 1
|
||||||
# build git-2.18+
|
esac
|
||||||
sudo apt-get -y install autoconf
|
|
||||||
sudo apt-get -y install libcurl4-openssl-dev libssh-dev
|
apt-get -y update
|
||||||
|
echo 'tzdata tzdata/Areas select Asia' | debconf-set-selections
|
||||||
# build x86-x64 kernel
|
echo 'tzdata tzdata/Zones/Asia select Chongqing' | debconf-set-selections
|
||||||
sudo apt-get -y install pkg-config
|
DEBIAN_FRONTEND="noninteractive" apt install -y tzdata
|
||||||
sudo apt-get -y install libelf-dev
|
|
||||||
|
apt-get -y install bash git cvs gzip bzip2 unzip tar perl sudo file time aria2 wget make minicom \
|
||||||
# build mtd-utils v2.0.2+
|
lsb-release openssh-client vim tree u-boot-tools texinfo mediainfo \
|
||||||
sudo apt-get -y install libtool
|
pkg-config libncurses* zlib1g-dev gcc g++ gawk patch libgstreamer1.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev libxcb-xinerama0 libxcb-xinerama0-dev \
|
||||||
# virtualbox
|
libopenal-dev libuv1-dev bridge-utils ifplugd
|
||||||
sudo apt-get -y install libqt5core5a libqt5gui5 libqt5opengl5 \
|
apt-get install -f
|
||||||
libqt5printsupport5 libqt5widgets5 libqt5x11extras5 libsdl1.2debian
|
|
||||||
|
apt-get -y install libjpeg8 libjpeg8-dev libjpeg-turbo8 libjpeg-turbo8-dev libvpx-dev \
|
||||||
# buildroot (rockchip)
|
libgtk2.0-dev libgconf-2-4 gconf2 gconf2-common libx11-dev libxext-dev libxtst-dev \
|
||||||
sudo apt-get -y install texinfo
|
libxrender-dev libxmu-dev libxmuu-dev libxfixes-dev libxfixes3 libpangocairo-1.0-0 \
|
||||||
sudo apt-get -y install genext2fs
|
libpangoft2-1.0-0 libdbus-1-dev libdbus-1-3 libusb-0.1-4 libusb-1.0-0-dev libusb-dev \
|
||||||
|
libcurl4-openssl-dev libssh-dev libxml2-utils
|
||||||
|
apt-get -y install bison build-essential gperf flex ruby libasound2-dev \
|
||||||
|
libbz2-dev libcap-dev libcups2-dev libdrm-dev
|
||||||
|
apt-get -y install libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev
|
||||||
|
apt-get -y install gyp ninja-build libssl-dev libxcursor-dev libxcomposite-dev \
|
||||||
|
libxdamage-dev libxrandr-dev
|
||||||
|
apt-get -y install libfontconfig1-dev libxss-dev libwebp-dev libjsoncpp-dev libopus-dev \
|
||||||
|
libminizip-dev libavutil-dev libavformat-dev libavcodec-dev libevent-dev
|
||||||
|
apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-arm-linux-gnueabihf \
|
||||||
|
g++-arm-linux-gnueabihf qemu-user-static debootstrap whiptail bc device-tree-compiler \
|
||||||
|
swig liblz4-tool mercurial subversion w3m graphviz genext2fs lib32stdc++6
|
||||||
|
|
||||||
|
if [ ${UBUNTU_CODENAME} = "jammy" ]; then
|
||||||
|
apt-get -y install python2-dev python2 python-dev-is-python3
|
||||||
|
else
|
||||||
|
apt-get -y install python python-dev python3-dev
|
||||||
|
fi
|
||||||
|
# libc6-dev-i386
|
||||||
|
# packages for rk linux-sdk
|
||||||
|
apt-get -y install expect expect-dev mtools \
|
||||||
|
autoconf autotools-dev libsigsegv2 m4 intltool curl sed binutils libglib2.0-dev \
|
||||||
|
libglade2-dev
|
||||||
|
if [ ${UBUNTU_CODENAME} = "bionic" ]; then
|
||||||
|
apt-get -y install libqt4-dev python-linaro-image-tools linaro-image-tools
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
apt-get -y install kmod cpio rsync zip patchelf live-build gettext zstd
|
||||||
|
|
||||||
# crosstool-ng
|
# crosstool-ng
|
||||||
sudo apt-get -y install lzip help2man libtool libtool-bin
|
apt-get -y install lzip help2man libtool libtool-bin
|
||||||
|
|
||||||
# qemu
|
# musl-dev
|
||||||
sudo apt-get -y install debootstrap
|
apt-get -y install musl-dev
|
||||||
|
[ -e /lib/libc.musl-x86_64.so.1 ] || ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
|
||||||
# for allwinner
|
|
||||||
sudo apt-get -y install u-boot-tools swig python-dev python3-dev
|
# misc tools
|
||||||
|
apt-get -y install net-tools silversearcher-ag strace
|
||||||
# act-greq
|
apt-get -y install pigz p7zip-full
|
||||||
sudo apt -y install ack-grep
|
|
||||||
|
# for sd_fuse
|
||||||
|
apt-get -y install parted udev
|
||||||
|
if [ ${UBUNTU_CODENAME} = "bionic" ]; then
|
||||||
|
apt-get -y install android-tools-fsutils
|
||||||
|
elif [ ${UBUNTU_CODENAME} = "focal" -o ${UBUNTU_CODENAME} = "jammy" ]; then
|
||||||
|
apt-get -y install android-sdk-libsparse-utils
|
||||||
|
fi
|
||||||
|
git clone https://github.com/exfatprogs/exfatprogs --depth 1 -b master
|
||||||
|
(cd exfatprogs && {
|
||||||
|
./autogen.sh
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
})
|
||||||
|
rm -rf exfatprogs
|
||||||
|
|
||||||
# openwrt
|
# for wireguard
|
||||||
sudo apt-get -y install time gettext java-propose-classpath apt zstd
|
apt-get -y install libmnl-dev
|
||||||
|
|
||||||
# simg2img
|
|
||||||
[ ${UBUNTU_CODENAME} = "bionic" ] && sudo apt-get -y install android-tools-fsutils
|
|
||||||
[ ${UBUNTU_CODENAME} = "focal" ] && sudo apt-get -y install android-sdk-libsparse-utils
|
|
||||||
|
|
||||||
# libreELEC
|
|
||||||
sudo apt-get -y install bc lzop xfonts-utils xfonts-utils xfonts-utils xsltproc libjson-perl
|
|
||||||
|
|
||||||
# for openwrt armhf
|
# for android
|
||||||
sudo apt-get -y install libc6:i386
|
apt-get -y install openjdk-8-jdk
|
||||||
|
|
||||||
# for wireguard
|
# install friendlyelec-toolchain
|
||||||
sudo apt-get -y install libmnl-dev
|
[ -d fa-toolchain ] || git clone https://github.com/friendlyarm/prebuilts.git -b master --depth 1 fa-toolchain
|
||||||
|
cat fa-toolchain/gcc-x64/toolchain-4.9.3-armhf.tar.gz* | tar xz -C /
|
||||||
|
cat fa-toolchain/gcc-x64/toolchain-6.4-aarch64.tar.gz* | tar xz -C /
|
||||||
|
rm -rf fa-toolchain
|
||||||
|
|
||||||
exit 0
|
echo "all done."
|
||||||
|
Loading…
Reference in new issue