2018-05-08 Linux image for CycloneV

make-linux.sh-20180507

#!/bin/bash

# add variables
i1=0
if [ "$1" ]; then
        i1=$1
fi

#echo
#echo -e "\033[30m 黑色字oldboy trainning \033[0m"
#echo -e "\033[31m 红色字oldboy trainning \033[0m"
#echo -e "\033[32m 绿色字oldboy trainning \033[0m"
#echo -e "\033[33m ***字oldboy trainning \033[0m"
#echo -e "\033[34m 蓝色字oldboy trainning \033[0m"
#echo -e "\033[35m 紫色字oldboy trainning \033[0m"
#echo -e "\033[36m 天蓝字oldboy trainning \033[0m"
#echo -e "\033[37m 白色字oldboy trainning \033[0m"
#echo
#echo -e "\033[40;37m 黑底白字 welcome to old1boy\033[0m"
#echo -e "\033[41;37m 红底白字 welcome to old2boy\033[0m"
#echo -e "\033[42;37m 绿底白字 welcome to old3boy\033[0m"
#echo -e "\033[43;37m 黄底白字 welcome to old4boy\033[0m"
#echo -e "\033[44;37m 蓝底白字 welcome to old5boy\033[0m"
#echo -e "\033[45;37m 紫底白字 welcome to old6boy\033[0m"
#echo -e "\033[46;37m 天蓝白字 welcome to old7boy\033[0m"
#echo -e "\033[47;30m 白底黑字 welcome to old8boy\033[0m"
#echo

# add functions
function prompt()
{
        read -p "$1 [YES/NO]: " input
}

# script name
function myecho0script()
{
        echo
        echo '==========================================================='
        echo "$1"
        echo '==========================================================='
        echo
}

# task title
function myecho1task()
{
        echo
        if [ "$1" ]; then
                # 蓝底白字
                echo -e "\033[44;37m --> $i1. $1\033[0m"
        fi
        i1=$[$i1+1]
}

# things title
function myechoh2thing()
{
        echo
        # 红色字
        #echo -e "\033[31m - $1 \033[0m"
        # 绿色字
        echo -e "\033[32m - $1 \033[0m"
        # 红底白字
        #echo -e "\033[41;37m- $1\033[0m"
}

# steps title
function myechoh3step()
{
        echo
        #echo -e "\t[ $1 ]"
        echo -e "\t* $1"
}

# reference title
function myecho4ref()
{
        #echo
        echo -e "$1"
}

# highlight title
function myechoy()
{
        # 黄底黑字
        echo -e "\033[43;30m$1\033[0m"
        #echo -e "\t\t\033[43;30m$1\033[0m"
        #echo -e "\t\t$1"
}

# call outside script
function mysource()
{
        (source $1 $i1)
        i1=$[$i1+1]
}


# new chapter
myecho1task 'make and install Linux System'
myechoy 'http//www.alterawiki.com/wiki/Compiling_u-boot_and_Linux_Kernel_for_Cyclone_V_SoC'
myecho4ref 'reference: https://blog.csdn.net/foolishcsdn/article/details/53558933'
myecho4ref 'https://blog.csdn.net/ffmxnjm/article/details/72933915'

myechoh2thing 'download linux kernel'
myechoh3step 'https://www.kernel.org'
myecho4ref 'kernel 4.4.131'
myecho4ref 'kernel 4.16.7'

myechoh2thing 'install prerequisites'
myechoh3step 'https://www.cnblogs.com/acm-icpcer/p/8029656.html'
        sudo apt-get install libncurses5-dev libssl-dev
        sudo apt-get install build-essential openssl
        sudo apt-get install zlibc minizip
        sudo apt-get install libidn11-dev libidn11

myechoh2thing 'make linux kernel'
        #tar Jxvf linux-4.4.131.tar.xz
myechoh3step 'make menuconfig'
        #mkdir -p linux-4.4.131/build
        cd linux-4.4.131/

        sudo make mrproper
        sudo make clean
        sudo make O=build menuconfig
myechoh3step 'make'
        # 1. local make and install
        prompt 'Be careful, do you want to install on local marchine? '

        # way 1: default output dir
        #sudo make -j16
        #sudo make modules_install        //安装内核模块
        #sudo make install      //安装内核

        # way 2: use output dir
        sudo make O=build/kernel -j16
        #sudo make O=build/kernel modules_install
        #sudo make O=build/kernel install

        # 2. cross make and install
        make O=build/kernel-zimage zImage
        #make bzImage
        cd -

echo
echo '==========================================================='
echo 'End'

你可能感兴趣的:(2018-05-08 Linux image for CycloneV)