#!/bin/bash # # Copyright (c) 2021 Wind River Systems, Inc. # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. The ASF licenses this # file to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # # The only parameter is the name of the new directory that will contain # the extracted source code. Be aware that this new directory will be # created in the same directory as where this script is located when # building. # Tools needed: tar/sed KERNEL_HEAD_COMMIT=288dde44f13d9c4e997737c1dfbe4d835d28868e DEBIAN_FILE=linux_5.10.28-1.debian.tar.xz tar xvf linux-yocto-${KERNEL_HEAD_COMMIT}.tar.gz if [ $? -ne 0 ] then echo "tar failed: linux-yocto source!" exit 1 fi mv linux-yocto-${KERNEL_HEAD_COMMIT} $1 cd $1 tar xvf ../${DEBIAN_FILE} if [ $? -ne 0 ] then echo "tar failed: debian folder for kernel!" exit 1 fi # The debian folder is written to build "linux". If use this folder # to build similar things for kernel-rt, all the packages are renamed # from "linux-xxx" to "linux-rt-xxx". Here replace those packages' # name in those files of the debian folder which will affect building. SED_LIST=" ./debian/bin ./debian/rules.d/tools/perf ./debian/rules ./debian/rules.real ./debian/signing_templates ./debian/templates ./debian/control" sed -i "s/linux-headers/linux-rt-headers/g" `grep -rl "linux-headers" $SED_LIST` sed -i "s/linux-image/linux-rt-image/g" `grep -rl "linux-image" $SED_LIST` sed -i "s/linux-perf/linux-rt-perf/g" `grep -rl "linux-perf" $SED_LIST` sed -i "s/linux-config/linux-rt-config/g" `grep -rl "linux-config" $SED_LIST` sed -i "s/linux-kbuild/linux-rt-kbuild/g" `grep -rl "linux-kbuild" $SED_LIST` sed -i "s/linux-libc-dev/linux-rt-libc-dev/g" `grep -rl "linux-libc-dev" $SED_LIST` sed -i "s/linux-source/linux-rt-source/g" `grep -rl "linux-source" $SED_LIST` sed -i "s/linux-support/linux-rt-support/g" `grep -rl "linux-support" $SED_LIST` # The abiname is changed from "6" to "6-rt", so replace "5.10.0-6" with # "5.10.0-6-rt" in init control file. sed -i "s/5.10.0-6/5.10.0-6-rt/g" ./debian/control # This is the only file name that involves renaming in debian # folder. mv debian/linux-image.NEWS debian/linux-rt-image.NEWS