GoboLinux Downloads Documentation Community Recipes Screenshots

GoboLinux Recipe & Package Search Tool

71 versions of Linux.

ProgramAgeSizeByWWWSummary
Linux 4.13.2-r1 806  88794 Luca...
The Linux Kernel.
Linux 4.9.16-r3 977  100651 Luca...
The Linux Kernel.
Linux 4.9.4-r5 1033  99374 Luca...
The Linux Kernel.
Linux 4.8.2-r2 1099  89394 Luca...
The Linux Kernel.
Linux 4.7.4-r1 1169  82767 Luca...
The Linux Kernel.
view entry at GitHub | download recipe.bz2 file
01-gobohide.patch
Recipe
Resources/BuildDependencies
Resources/BuildInformation
Resources/Dependencies
Resources/Description
cell/02-memcpy-cell.patch
cell/Recipe
cell/dot-config
i686/Recipe
i686/dot-config
ppc/Recipe
ppc/dot-config
x86_64/Recipe
x86_64/dot-config
# Recipe for version 4.7.4 by Lucas C. Villa Real <lucasvr@gobolinux.org>, on Wed \
Sep 21 11:49:01 GMT 2016
compile_version=1.8.5
url="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.7.4.tar.xz"
file_size=90422812
file_md5=4ee167c1fc77a6fdc6353c6847656d6f
recipe_type=makefile
build_target="all"
install_target="modules_install"

install_variables=(
#   INSTALL_MOD_PATH="$target/Resources/Unmanaged"
#   MODLIB="${target}/Resources/Unmanaged/${goboModules}/${version}-Gobo"
#   MODLIB="${target}/lib/modules/${version}-Gobo"
   INSTALL_FW_PATH="$target/lib/firmware"
#   DEPMOD="true"
)

# While lib/modules is unmanaged as well that is manually added to the
# UnmanagedFiles file in pre_link()
unmanaged_files=(
   $goboBoot/
)

do_configuration() {
   if [ ! -f .config ]
   then
      if [ ! -f $goboStatus/config.gz ]
      then
         cp "$archsubdir"/dot-config .config
      else
         if Ask "Do you want to use a configuration based on the one from the running \
kernel?"
         then
            zcat $goboStatus/config.gz > .config
            yes "" | make oldconfig
         else
            Log_Normal "Using the kernel configuration shipped with the recipe"
            cp "$archsubdir"/dot-config .config
         fi
      fi
   fi

   #GrepReplace "\$(INSTALL_MOD_PATH)/lib/modules/\$(KERNELRELEASE)" \
   #            "$target/Resources/Unmanaged/$goboModules/\$(KERNELRELEASE)" \
   #            Makefile >& /dev/null
   
   # Sanity check to make sure patches are not trying to mess with the version id.
   local v=`grep "^VERSION =" Makefile | awk '{print $3}'`
   local p=`grep "^PATCHLEVEL" Makefile | awk '{print $3}'`
   local s=`grep "^SUBLEVEL" Makefile | awk '{print $3}'`
   local e=`grep "^EXTRAVERSION" Makefile | awk '{print $3}'`
   local reported="$v.$p.$s$e"
   if [ "$reported" != "$version" ]
   then Die "Reported version ($reported) does not match version ($version). Please \
fix recipe."
   fi

   make menuconfig || Die "'menuconfig' failed."
   [ -z "${SUDO_USER}" ] || chown ${SUDO_USER} .config
}

do_install() {
   $sudo_exec mkdir -p "$target"/lib/firmware
   makefile_do_install "$@"
}

pre_link() {
   local simpleversion=`private__calculate_version`
   local fullversion=`private__calculate_full_version`

   # Copy arch-dependent results to the destination
   private__copy_kernel_image
   
   # Copy sanitized sources to $target/lib/build
   private__copy_kernel_source $simpleversion
   Log_Normal "Calculating kernel module dependencies..."
   depmod -b $target ${version}-Gobo
   # Create System.map and kernel symlinks
   private__link_at_system_kernel_boot $simpleversion $fullversion
   # Add lib/modules to UnmanagedFiles
   #echo ${goboModules}/Current >> ${target}/Resources/UnmanagedFiles
   #echo $goboModules/${version}-Gobo/ >> ${target}/Resources/UnmanagedFiles
}

private__calculate_version() {
   if grep -q "^CONFIG_LOCALVERSION=" .config
   then suffix=`grep "^CONFIG_LOCALVERSION=" .config | cut -d= -f2 | tr -d '"' | \
sed 's/-[0-9]*-//'`
   fi
   echo "$version$suffix"
}

private__calculate_full_version() {
   local simpleversion=`private__calculate_version`
   local newsuffix=""
   local count=`ls $goboBoot/kernel-$version-* 2> /dev/null | sort -n | wc -l | awk \
'{print $1}'`
   if [ "$count" -gt "0" ]
   then
      let count=$count+1
      newsuffix="-$count"
   fi
   echo "$simpleversion$newsuffix"
}

private__copy_kernel_source() {
   simpleversion="$1"
   #rm -f "${target}/Resources/Unmanaged/${goboModules}/${simpleversion}"/{source,build}
   # Remove links created by 'make module-install'
   #[ -f "${goboModules}/${simpleversion}/build" ] && rm -f "${goboModules}/${simpleversion}/build"
   #[ -f "${goboModules}/${simpleversion}/source" ] && rm -f "${goboModules}/${simpleversion}/source"
   dest="${target}/lib/modules/${simpleversion}"
   rm -f "${dest}/build"
   rm -f "${dest}/source"
   # Copy modules.order and modules.builtin
   mkdir -p $dest
   cp $dir/modules.order $dir/modules.builtin $dest/
   # Copy sanitized sources to Resources/Unmanaged/Files/Compile/Sources/linux-<version>
   dest="${target}/lib/modules/${simpleversion}/build"
   mkdir -p $dest
   ln -fs build "${target}/lib/modules/${simpleversion}/source"

   Log_Normal "Creating a working copy of the kernel sources tree..."
   Quiet pushd $dir
   mkdir -p $dest/arch/x86/boot
   cp -r arch/x86/tools/ $dest/arch/x86/
   cp -r arch/x86/purgatory/ $dest/arch/x86/
   cp arch/x86/boot/string.c $dest/arch/x86/boot/
   cp .version .config System.map Module.symvers Makefile Kbuild Kconfig $dest/
   ls | while read i
   do
      if [ -d "$i" -a "$i" = "scripts" ]
      then
         cp -an "$i" $dest/
      elif [ -d "$i" ]
      then
         dirlist=`find "$i" -type d`
         filelist=`find "$i" \(     \
            -name "*.h" -or       \
            -name "*.bc" -or       \
            -name "*.sh" -or       \
            -name "*.tbl" -or       \
            -name "*.conf" -or     \
            -name "Makefile*" -or \
            -name "Kconfig*" -or  \
            -name "Kbuild*" -or   \
            -name "asm-offsets.c" -or \
            -name "asm-offsets_32.c" -or \
            -name "asm-offsets_64.c" -or \
            -name "bounds.c" \
         \)`
         for dir in $dirlist
         do mkdir -p "$dest/$dir"
         done
         for file in $filelist
         do cp -n "$file" "$dest/$file"
         done
         for dir in $dirlist
         do find "$dest/$dir" -type d 2> /dev/null | sort -r | xargs rmdir 2> /dev/null
         done
      fi
   done
   Quiet popd
   
   Quiet pushd $dest
   make prepare
   Quiet popd
}

private__link_at_system_kernel_boot() {
   local simpleversion="$1"
   local fullversion="$2"
   mkdir -p $target/lib/modules
   #mkdir -p $target/Resources/Unmanaged/$goboModules
   
   dest=$target/Resources/Unmanaged/$goboBoot
   ln -fs kernel-$fullversion $dest/kernel
   ln -fs System.map-$fullversion $dest/System.map

   #rm -rf $goboModules/Current $goboModules/$fullversion
   #rm -rf $target/Resources/Unmanaged/$goboModules/Current
   #ln -fs $simpleversion $target/Resources/Unmanaged/$goboModules/Current
   #ln -fs ${target}/lib/modules/${simpleversion}/{source,build} $target/Resources/Unmanaged/$goboModules/$simpleversion/
   #for x in $goboModules/$simpleversion/*
   #do
   #   bn=`basename $x`
   #   if ! [ -e "$target/lib/modules/$simpleversion/$bn" ]
   #   then
   #      ln -s $x $target/lib/modules/${simpleversion}/$bn
   #   fi
   #done
}
Linux 4.7.0-r4 1224  82585 Luca...
The Linux Kernel.
Linux 3.13.3-r1 2104  252629 Luca...
The Linux Kernel.
Linux 3.12.6-r1 2164  238949 Luca...
The Linux Kernel.
Linux 3.9.4-r2 2359  70048 Luca...
The Linux Kernel.
Linux 3.7.1-r2 2532  67579 Luca...
The Linux Kernel.
Linux 3.5.0-r1 2683  124391 Luca...
The Linux Kernel.
Linux 3.4.4-r1 2683  124348 Luca...
The Linux Kernel.
Linux 3.3.6-r1 2683  124410 Luca...
The Linux Kernel.
Linux 3.2.12-r2 2811  124345 Luca...
The Linux Kernel.
Linux 3.2.7-r1 2841  123550 Mich...
The Linux Kernel.
Linux 3.1.1-r1 2946  122907 Mich...
The Linux Kernel.
Linux 3.0.4-r4 3007  122754 Luca...
The Linux Kernel.
Linux 2.6.36.3-r1 3230  116087 Diog...
The Linux Kernel.
Linux 2.6.32.3-r1 3608  117990 Luca...
The Linux Kernel.
Linux 2.6.32-r1 3649  117751 Luca...
The Linux Kernel.
Linux 2.6.31.6-r3 3654  126499 Luca...
The Linux Kernel.
Linux 2.6.30.5-r1 3733  166102 Jona...
The Linux Kernel.
Linux 2.6.29.1-r1 3876  117500 Luca...
The Linux Kernel.
Linux 2.6.28.7-r1 3932  115518 Giam...
The Linux Kernel.
Linux 2.6.28.1-r1 3932  115487 Giam...
The Linux Kernel.
Linux 2.6.28-r1 3932  116681 Mich...
The Linux Kernel.
Linux 2.6.27.8-r1 3932  134160 Giam...
The Linux Kernel.
Linux 2.6.27.4-r3 3932  149529 Luca...
The Linux Kernel.
Linux 2.6.25.17-r1 3932  172834 Giam...
The Linux Kernel.
Linux 2.6.25.16-r1 3932  166500 Giam...
The Linux Kernel.
Linux 2.6.25.10-r2 3932  165320 Giam...
The Linux Kernel.
Linux 2.6.25.7-r1 3932  157294 Giam...
The Linux Kernel.
Linux 2.6.25.4-r1 3932  133017 Hopp...
The Linux Kernel.
Linux 2.6.25-r1 3932  133216 Luca...
The Linux Kernel.
Linux 2.6.24.4-r5 3932  150733
The Linux Kernel.
Linux 2.6.24.3-r5 3932  150221 Luca...
The Linux Kernel.
Linux 2.6.24.2-r3 3932  146488 Giam...
The Linux Kernel.
Linux 2.6.24.1-r1 3932  146454 Giam...
The Linux Kernel.
Linux 2.6.24-r1 3932  146428 Luca...
The Linux Kernel.
Linux 2.6.23.8-r4 3932  155842 Luca...
The Linux Kernel.
Linux 2.6.22.7-r4 3932  114727 Luca...
The Linux Kernel.
Linux 2.6.22.1-r1 3932  121391 Luca...
The Linux Kernel.
Linux 2.6.21.1-r3 3932  118854 Luca...
The Linux Kernel.
Linux 2.6.20.7-r1 3932  117945 Luca...
The Linux Kernel.
Linux 2.6.20.4-r3 3932  151150 Luca...
The Linux Kernel.
Linux 2.6.20-r1 3932  106429 Luca...
The Linux Kernel.
Linux 2.6.18.3-r2 3932  111124 Luca...
The Linux Kernel.
Linux 2.6.17.11-r1 3932  164053 Luca...
The Linux Kernel.
Linux 2.6.17.3-r1 3932  165067 Luca...
The Linux Kernel.
Linux 2.6.16.20-r1 3932  133625 Luca...
The Linux Kernel.
Linux 2.6.16.14-r1 3932  168270 Luca...
The Linux Kernel.
Linux 2.6.15.5-r1 3932  224686 Jona...
The Linux Kernel.
Linux 2.6.15.2-r1 3932  177165 Carl...
The Linux Kernel.
Linux 2.6.15.1-r1 3932  149219 Jona...
The Linux Kernel.
Linux 2.6.15-r1 3932  149214 Luca...
The Linux Kernel.
Linux 2.6.14.4-r1 3932  150166 Jona...
The Linux Kernel.
Linux 2.6.14.3-r1 3932  150060 Jona...
The Linux Kernel.
Linux 2.6.14.2-r1 3932  149791 Carl...
The Linux Kernel.
Linux 2.6.13.4-r1 3932  149559 Luca...
The Linux Kernel.
Linux 2.6.13.2-r1 3932  56611 Jona...
The Linux Kernel.
Linux 2.6.13.1-r1 3932  56378 Luca...
The Linux Kernel.
Linux 2.6.12.2-r1 3932  50355 Luca...
The Linux Kernel.
Linux 2.6.11.9-r1 3932  98969 Luca...
The Linux Kernel.
Linux 2.6.11.8-r1 3932  109424 Jona...
The Linux Kernel.
Linux 2.6.11-r1 3932  99032 Luca...
The Linux Kernel.
Linux 2.6.10-r1 3932  65969 Luca...
The Linux Kernel.
Linux 2.6.9-r1 3932  278461 Luca...
The Linux Kernel.
Linux 2.6.8.1-r1 3932  35576 Luca...
The Linux Kernel.
Linux 2.6.7-r1 3932  22610 Luca...
The Linux Kernel.
Linux 2.6.6-r1 3932  21958 Luca...
The Linux Kernel.
Linux 2.4.26-r1 3932  22359 Luca...
The Linux Kernel.