From 473ede01c20c87b92a46e16a0a9e115970ee4bdb 2018-11-18 18:08:12 From: Unknown Date: 2018-11-18 18:08:12 Subject: [PATCH] test --- diff --git a/bootstrap.d/13-kernel.sh b/bootstrap.d/13-kernel.sh index 2c4b739..9f08c90 100644 --- a/bootstrap.d/13-kernel.sh +++ b/bootstrap.d/13-kernel.sh @@ -83,6 +83,9 @@ if [ "$BUILD_KERNEL" = true ] ; then "${KERNEL_DIR}/.config" fi + #Switch to KERNELSRC_DIR + pushd "${KERNELSRC_DIR}" + # GPL v2.0 #https://github.com/sakaki-/bcmrpi3-kernel-bis/blob/master/conform_config.sh if [ "$KERNEL_ZSWAP" = true ] && ( [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ) ; then @@ -91,12 +94,12 @@ if [ "$BUILD_KERNEL" = true ] ; then # see e.g. https://askubuntu.com/a/472227 for a summary of ZSWAP (vs ZRAM etc.) # and e.g. https://wiki.archlinux.org/index.php/zswap for parameters etc. - set_kernel_config ZPOOL y "${KERNEL_DIR}"/.config - set_kernel_config ZSWAP y "${KERNEL_DIR}"/.config - set_kernel_config ZBUD y "${KERNEL_DIR}"/.config - set_kernel_config Z3FOLD y "${KERNEL_DIR}"/.config - set_kernel_config ZSMALLOC y "${KERNEL_DIR}"/.config - set_kernel_config PGTABLE_MAPPING y "${KERNEL_DIR}"/.config + set_kernel_config ZPOOL y + set_kernel_config ZSWAP y + set_kernel_config ZBUD y + set_kernel_config Z3FOLD y + set_kernel_config ZSMALLOC y + set_kernel_config PGTABLE_MAPPING y fi if [ "$KERNEL_VIRT" = true ] && ( [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ) ; then @@ -107,41 +110,115 @@ if [ "$BUILD_KERNEL" = true ] ; then # enable basic KVM support; see e.g. # https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=210546&start=25#p1300453 - set_kernel_config VIRTUALIZATION y "${KERNEL_DIR}"/.config - set_kernel_config KVM y "${KERNEL_DIR}"/.config - set_kernel_config VHOST_NET m "${KERNEL_DIR}"/.config - set_kernel_config VHOST_CROSS_ENDIAN_LEGACY y "${KERNEL_DIR}"/.config + set_kernel_config VIRTUALIZATION y + set_kernel_config KVM y + set_kernel_config VHOST_NET m + set_kernel_config VHOST_CROSS_ENDIAN_LEGACY y fi if [ "$KERNEL_NF" = true ] && ( [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ) ; then - # Netfilter Xtables support (required for ip_tables - should be enabled already) - set_kernel_config NETFILTER_XTABLES m "${KERNEL_DIR}"/.config" - # Netfilter nf_tables support - set_kernel_config NF_TABLES m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_PAYLOAD m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_EXTHDR m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_META m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_CT m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_RBTREE m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_HASH m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_COUNTER m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_LOG m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_LIMIT m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_NAT m "${KERNEL_DIR}"/.config" - set_kernel_config NFT_COMPAT m "${KERNEL_DIR}"/.config" - # IPv4 nf_tables support - set_kernel_config NF_TABLES_IPV4 m - set_kernel_config NFT_REJECT_IPV4 m - set_kernel_config NFT_CHAIN_ROUTE_IPV4 m - set_kernel_config NFT_CHAIN_NAT_IPV4 m - # IPv6 nf_tables support - set_kernel_config NF_TABLES_IPV6 m - set_kernel_config NFT_CHAIN_ROUTE_IPV6 m - set_kernel_config NFT_CHAIN_NAT_IPV6 m - # Ethernet Bridge nf_tables support - set_kernel_config NF_TABLES_BRIDGE m + #See https://github.com/raspberrypi/linux/issues/2177#issuecomment-354647406 + # Netfilter kernel support + # xtables + set_kernel_config NETFILTER_XTABLES m + # Netfilter nf_tables support + set_kernel_config NF_TABLES m + + set_kernel_config CONFIG_NETFILTER_XTABLES m + set_kernel_config CONFIG_NF_TABLES_BRIDGE m + + set_kernel_config CONFIG_NF_NAT_SIP m + set_kernel_config CONFIG_NF_NAT_TFTP m + set_kernel_config CONFIG_NF_NAT_REDIRECT m + set_kernel_config CONFIG_NF_TABLES_INET m + set_kernel_config CONFIG_NF_TABLES_NETDEV m + set_kernel_config CONFIG_NF_TABLES_ARP m + set_kernel_config CONFIG_NF_DUP_IPV4 m + set_kernel_config CONFIG_NF_LOG_IPV4 m + set_kernel_config CONFIG_NF_REJECT_IPV4 m + set_kernel_config CONFIG_NF_NAT_IPV4 m + set_kernel_config CONFIG_NF_DUP_NETDEV m + set_kernel_config CONFIG_NF_DEFRAG_IPV4 m + set_kernel_config CONFIG_NF_CONNTRACK_IPV4 m + set_kernel_config CONFIG_NF_TABLES_IPV4 m + set_kernel_config CONFIG_NF_NAT_MASQUERADE_IPV4 m + set_kernel_config CONFIG_NF_NAT_SNMP_BASIC m + set_kernel_config CONFIG_NF_NAT_PROTO_GRE m + set_kernel_config CONFIG_NF_NAT_PPTP m + set_kernel_config CONFIG_NF_DEFRAG_IPV6 m + set_kernel_config CONFIG_NF_CONNTRACK_IPV6 m + set_kernel_config CONFIG_NF_TABLES_IPV6 m + set_kernel_config CONFIG_NF_DUP_IPV6 m + set_kernel_config CONFIG_NF_REJECT_IPV6 m + set_kernel_config CONFIG_NF_LOG_IPV6 m + set_kernel_config CONFIG_NF_NAT_IPV6 m + set_kernel_config CONFIG_NF_NAT_MASQUERADE_IPV6 m + + set_kernel_config CONFIG_NFT_EXTHDR m + set_kernel_config CONFIG_NFT_META m + set_kernel_config CONFIG_NFT_NUMGEN m + set_kernel_config CONFIG_NFT_CT m + set_kernel_config CONFIG_NFT_SET_RBTREE m + set_kernel_config CONFIG_NFT_SET_HASH m + set_kernel_config CONFIG_NFT_COUNTER m + set_kernel_config CONFIG_NFT_LOG m + set_kernel_config CONFIG_NFT_LIMIT m + set_kernel_config CONFIG_NFT_MASQ m + set_kernel_config CONFIG_NFT_REDIR m + set_kernel_config CONFIG_NFT_NAT m + set_kernel_config CONFIG_NFT_QUEUE m + set_kernel_config CONFIG_NFT_QUOTA m + set_kernel_config CONFIG_NFT_REJECT m + set_kernel_config CONFIG_NFT_REJECT_INET m + set_kernel_config CONFIG_NFT_COMPAT m + set_kernel_config CONFIG_NFT_HASH m + set_kernel_config CONFIG_NFT_DUP_NETDEV m + set_kernel_config CONFIG_NFT_FWD_NETDEV m + set_kernel_config CONFIG_NFT_CHAIN_ROUTE_IPV4 m + set_kernel_config CONFIG_NFT_REJECT_IPV4 m + set_kernel_config CONFIG_NFT_DUP_IPV4 m + set_kernel_config CONFIG_NFT_CHAIN_NAT_IPV4 m + set_kernel_config CONFIG_NFT_MASQ_IPV4 m + set_kernel_config CONFIG_NFT_REDIR_IPV4 m + set_kernel_config CONFIG_NFT_CHAIN_ROUTE_IPV6 m + set_kernel_config CONFIG_NFT_REJECT_IPV6 m + set_kernel_config CONFIG_NFT_DUP_IPV6 m + set_kernel_config CONFIG_NFT_CHAIN_NAT_IPV6 m + set_kernel_config CONFIG_NFT_MASQ_IPV6 m + set_kernel_config CONFIG_NFT_REDIR_IPV6 m + set_kernel_config CONFIG_NFT_BRIDGE_META m + set_kernel_config CONFIG_NFT_BRIDGE_REJECT m + + set_kernel_config CONFIG_IP_SET_BITMAP_IPMAC m + set_kernel_config CONFIG_IP_SET_BITMAP_PORT m + set_kernel_config CONFIG_IP_SET_HASH_IP m + set_kernel_config CONFIG_IP_SET_HASH_IPMARK m + set_kernel_config CONFIG_IP_SET_HASH_IPPORT m + set_kernel_config CONFIG_IP_SET_HASH_IPPORTIP m + set_kernel_config CONFIG_IP_SET_HASH_IPPORTNET m + set_kernel_config CONFIG_IP_SET_HASH_MAC m + set_kernel_config CONFIG_IP_SET_HASH_NETPORTNET m + set_kernel_config CONFIG_IP_SET_HASH_NET m + set_kernel_config CONFIG_IP_SET_HASH_NETNET m + set_kernel_config CONFIG_IP_SET_HASH_NETPORT m + set_kernel_config CONFIG_IP_SET_HASH_NETIFACE m + set_kernel_config CONFIG_IP_SET_LIST_SET m + + set_kernel_config CONFIG_IP6_NF_IPTABLES m + set_kernel_config CONFIG_IP6_NF_MATCH_AH m + set_kernel_config CONFIG_IP6_NF_MATCH_EUI64 m + set_kernel_config CONFIG_IP6_NF_NAT m + set_kernel_config CONFIG_IP6_NF_TARGET_MASQUERADE m + set_kernel_config CONFIG_IP6_NF_TARGET_NPT m + + set_kernel_config CONFIG_NF_LOG_BRIDGE m + set_kernel_config CONFIG_BRIDGE_NF_EBTABLES m + set_kernel_config CONFIG_BRIDGE_EBT_BROUTE m + set_kernel_config CONFIG_BRIDGE_EBT_T_FILTER m fi + popd + if [ "$KERNELSRC_CONFIG" = true ] ; then # Load default raspberry kernel configuration make -C "${KERNEL_DIR}" ARCH="${KERNEL_ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" "${KERNEL_DEFCONFIG}" diff --git a/functions.sh b/functions.sh index 74cf8a6..5bbf76e 100644 --- a/functions.sh +++ b/functions.sh @@ -87,17 +87,17 @@ set_kernel_config() { # flag as $1, value to set as $2, config must exist at "./.config" local TGT="CONFIG_${1}" local REP="${2//\//\\/}" - if grep -q "^${TGT}[^_]" "${3}"; then - sed -i "s/^\(${TGT}=.*\|# ${TGT} is not set\)/${TGT}=${REP}/" "${3}" + if grep -q "^${TGT}[^_]" .config; then + sed -i "s/^\(${TGT}=.*\|# ${TGT} is not set\)/${TGT}=${REP}/" .config else - echo "${TGT}=${2}" >> "${3}" + echo "${TGT}=${2}" >> .config fi } unset_kernel_config() { # unsets flag with the value of $1, config must exist at "./.config" local TGT="CONFIG_${1}" - sed -i "s/^${TGT}=.*/# ${TGT} is not set/" "${2}" + sed -i "s/^${TGT}=.*/# ${TGT} is not set/" .config } # #end