mirror of https://github.com/marcosfad/mbp-ubuntu
commit
654fb1201a
|
@ -5,57 +5,11 @@ on:
|
|||
[push]
|
||||
|
||||
jobs:
|
||||
Kernel:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Free up disk space for the CI
|
||||
uses: AdityaGarg8/remove-unwanted-software@v1
|
||||
with:
|
||||
remove-android: 'true'
|
||||
remove-dotnet: 'true'
|
||||
remove-haskell: 'false'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Build kernel with internal SSD removed
|
||||
run: |
|
||||
VERSION=$(grep ^KERNEL_VERSION build.sh | head -n1| cut -d = -f2)
|
||||
REL=$(grep "PKGREL=\d*" build.sh | cut -d = -f2)
|
||||
echo "kerneltag=${VERSION}-${REL}" >> $GITHUB_ENV
|
||||
sudo apt install git
|
||||
mkdir /tmp/artifacts
|
||||
git clone https://github.com/t2linux/T2-Ubuntu-Kernel.git
|
||||
sed -i 's/LOCALVERSION=-t2-\"${CODENAME}\"/LOCALVERSION=-t2-external/g' ${{ github.workspace }}/T2-Ubuntu-Kernel/build.sh
|
||||
cd ${{ github.workspace }}/T2-Ubuntu-Kernel/patches
|
||||
wget https://github.com/AdityaGarg8/T2-Ubuntu/raw/ssd/ssd.patch
|
||||
cd ${{ github.workspace }}/T2-Ubuntu-Kernel
|
||||
sudo ./build.sh
|
||||
sudo rm /tmp/artifacts/*dbg*
|
||||
sudo rm /tmp/artifacts/*libc-dev*
|
||||
|
||||
- name: Upload package artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: kernel-${{ env.kerneltag }}
|
||||
path: /tmp/artifacts/*
|
||||
|
||||
- name: Release
|
||||
if: github.ref == 'refs/heads/jammy'
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: |
|
||||
/tmp/artifacts/*.deb
|
||||
tag_name: v${{ env.kerneltag }}-kernel
|
||||
draft: false
|
||||
prerelease: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
Safe-graphics:
|
||||
needs: [Kernel]
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: 'Checkout Jammy Repo'
|
||||
- name: 'Checkout Kinetic Repo'
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Get version
|
||||
|
@ -65,13 +19,13 @@ jobs:
|
|||
echo "ver=${VERSION}" >> $GITHUB_ENV
|
||||
echo "release=${REL}" >> $GITHUB_ENV
|
||||
|
||||
- name: 'Checkout jammy-16,4 Repo'
|
||||
- name: 'Checkout kinetic-16,4 Repo'
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: jammy-16,4
|
||||
ref: kinetic-16,4
|
||||
persist-credentials: false
|
||||
|
||||
- name: 'Push new version to jammy-16,4'
|
||||
- name: 'Push new version to kinetic-16,4'
|
||||
id: publish
|
||||
run: |
|
||||
sed -i "s/KERNEL_VERSION=6.*/KERNEL_VERSION=${{ env.ver }}/g" build.sh
|
||||
|
@ -83,16 +37,15 @@ jobs:
|
|||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.PAT }}
|
||||
branch: jammy-16,4
|
||||
branch: kinetic-16,4
|
||||
|
||||
ISO:
|
||||
needs: [Kernel]
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Build
|
||||
run: sudo ./build.sh
|
||||
run: sudo ./build_in_docker.sh
|
||||
|
||||
- name: print sha256sum
|
||||
run: cat output/sha256
|
||||
|
@ -122,22 +75,13 @@ jobs:
|
|||
EOF
|
||||
|
||||
- name: Release
|
||||
if: github.ref == 'refs/heads/jammy'
|
||||
if: github.ref == 'refs/heads/kinetic'
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: ${{ github.workspace }}/*.iso
|
||||
tag_name: v22.04-${{ env.isotag }}
|
||||
tag_name: v${{ env.isotag }}
|
||||
body_path: ${{ github.workspace }}/.github/workflows/instructions.txt
|
||||
draft: false
|
||||
prerelease: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Delete kernel from releases
|
||||
if: github.ref == 'refs/heads/jammy'
|
||||
uses: dev-drprasad/delete-tag-and-release@v0.2.0
|
||||
with:
|
||||
delete_release: true
|
||||
tag_name: v${{ env.isotag }}-kernel
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
@ -4,4 +4,4 @@ Follow [this guide](https://wiki.t2linux.org/guides/wifi-bluetooth/) for Wi-Fi a
|
|||
|
||||
Users of **MacBookPro16,4** are recommended to use the safe graphics ISO as the kernel doesn't have the driver for their AMD Graphics Card. Rest users can use the normal ISO.
|
||||
|
||||
The **t2-external** ISO has the internal SSD support removed in the kernel. This can be useful if you wish to install in an external SSD. After installation, you can update your kernel to a **t2** kernel by following [this guide](https://github.com/t2linux/T2-Ubuntu-Kernel#installation) which shall bring back internal SSD support.
|
||||
**Getting kernel updates :-** Post installation, users are recommended to set up the [kernel update script](https://github.com/t2linux/T2-Ubuntu-Kernel#installation) to receive kernel updates.
|
||||
|
|
|
@ -5,7 +5,7 @@ echo >&2 "===]> Info: Checkout bootstrap... "
|
|||
debootstrap \
|
||||
--arch=amd64 \
|
||||
--variant=minbase \
|
||||
jammy \
|
||||
kinetic \
|
||||
"${CHROOT_PATH}" \
|
||||
http://archive.ubuntu.com/ubuntu/
|
||||
|
||||
|
@ -35,8 +35,3 @@ umount "${CHROOT_PATH}/dev"
|
|||
echo >&2 "===]> Info: Patch Grub... "
|
||||
cp -rfv "${ROOT_PATH}"/files/grub/30_os-prober "${CHROOT_PATH}"/etc/grub.d/30_os-prober
|
||||
chmod 755 "${CHROOT_PATH}"/etc/grub.d/30_os-prober
|
||||
|
||||
### Copy suspend fix
|
||||
echo >&2 "===]> Info: Fix suspend... "
|
||||
cp -rfv "${ROOT_PATH}"/files/suspend/rmmod_tb.sh "${CHROOT_PATH}"/lib/systemd/system-sleep/rmmod_tb.sh
|
||||
chmod +x "${CHROOT_PATH}"/lib/systemd/system-sleep/rmmod_tb.sh
|
||||
|
|
|
@ -37,7 +37,7 @@ done
|
|||
|
||||
echo >&2 "===]> Info: Create diskdefines... "
|
||||
cat <<EOF >"${IMAGE_PATH}"/README.diskdefines
|
||||
#define DISKNAME Ubuntu MBP 22.04 LTS "Jammy Jellyfish" - Beta amd64
|
||||
#define DISKNAME Ubuntu MBP 22.10 "Kinetic Kudu" - Beta amd64
|
||||
#define TYPE binary
|
||||
#define TYPEbinary 1
|
||||
#define ARCH amd64
|
||||
|
|
|
@ -23,7 +23,7 @@ xorriso -as mkisofs \
|
|||
-no-emul-boot \
|
||||
-isohybrid-mbr "${ROOT_PATH}/files/isohdpfx.bin" \
|
||||
-isohybrid-gpt-basdat -isohybrid-apm-hfsplus \
|
||||
-output "${ROOT_PATH}/ubuntu-22.04-${KERNEL_VERSION}.iso" \
|
||||
-output "${ROOT_PATH}/ubuntu-22.10-${KERNEL_VERSION}.iso" \
|
||||
-graft-points \
|
||||
"." \
|
||||
/boot/grub/bios.img=isolinux/bios.img \
|
||||
|
|
10
build.sh
10
build.sh
|
@ -5,7 +5,7 @@ ROOT_PATH=$(pwd)
|
|||
WORKING_PATH=/root/work
|
||||
CHROOT_PATH="${WORKING_PATH}/chroot"
|
||||
IMAGE_PATH="${WORKING_PATH}/image"
|
||||
KERNEL_VERSION=6.0.7
|
||||
KERNEL_VERSION=6.1.9
|
||||
PKGREL=1
|
||||
sed -i "s/KVER/${KERNEL_VERSION}/g" $(pwd)/files/chroot_build.sh
|
||||
sed -i "s/PREL/${PKGREL}/g" $(pwd)/files/chroot_build.sh
|
||||
|
@ -36,11 +36,11 @@ apt-get install -y -qq -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="
|
|||
syslinux
|
||||
|
||||
echo >&2 "===]> Info: Start loop... "
|
||||
for ALTERNATIVE in t2-jammy t2-external
|
||||
for ALTERNATIVE in t2-kinetic
|
||||
do
|
||||
echo >&2 "===]> Info: Start building ${ALTERNATIVE}... "
|
||||
|
||||
echo >&2 "===]> Info: Build Ubuntu Jammy... "
|
||||
echo >&2 "===]> Info: Build Ubuntu Kinetic... "
|
||||
/bin/bash -c "
|
||||
ROOT_PATH=${ROOT_PATH} \\
|
||||
WORKING_PATH=${WORKING_PATH} \\
|
||||
|
@ -51,7 +51,7 @@ do
|
|||
${ROOT_PATH}/01_build_file_system.sh
|
||||
"
|
||||
|
||||
echo >&2 "===]> Info: Build Image Jammy... "
|
||||
echo >&2 "===]> Info: Build Image Kinetic... "
|
||||
/bin/bash -c "
|
||||
ROOT_PATH=${ROOT_PATH} \\
|
||||
WORKING_PATH=${WORKING_PATH} \\
|
||||
|
@ -85,7 +85,7 @@ do
|
|||
fi
|
||||
### Zip iso and split it into multiple parts - github max size of release attachment is 2GB, where ISO is sometimes bigger than that
|
||||
cd "${ROOT_PATH}"
|
||||
zip -s 1500m "${ROOT_PATH}/output/livecd-${KERNEL_VERSION}-${ALTERNATIVE}.zip" "${ROOT_PATH}/ubuntu-22.04-${KERNEL_VERSION}-${ALTERNATIVE}.iso"
|
||||
zip -s 1500m "${ROOT_PATH}/output/livecd-${KERNEL_VERSION}-${ALTERNATIVE}.zip" "${ROOT_PATH}/ubuntu-22.10-${KERNEL_VERSION}-${ALTERNATIVE}.iso"
|
||||
done
|
||||
## Calculate sha256 sums of built ISO
|
||||
sha256sum "${ROOT_PATH}"/*.iso >"${ROOT_PATH}/output/sha256"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
set -eu -o pipefail
|
||||
|
||||
DOCKER_IMAGE=ubuntu:20.04
|
||||
DOCKER_IMAGE=ubuntu:22.10
|
||||
|
||||
docker pull ${DOCKER_IMAGE}
|
||||
docker run \
|
||||
|
|
|
@ -11,17 +11,17 @@ mount none -t devpts /dev/pts
|
|||
export HOME=/root
|
||||
export LC_ALL=C
|
||||
|
||||
echo "ubuntu-jammy-live" >/etc/hostname
|
||||
echo "ubuntu-kinetic-live" >/etc/hostname
|
||||
|
||||
echo >&2 "===]> Info: Configure and update apt... "
|
||||
|
||||
cat <<EOF >/etc/apt/sources.list
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ kinetic main restricted universe multiverse
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ kinetic main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ kinetic-security main restricted universe multiverse
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ kinetic-security main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ kinetic-updates main restricted universe multiverse
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ kinetic-updates main restricted universe multiverse
|
||||
EOF
|
||||
apt-get update
|
||||
|
||||
|
@ -55,7 +55,6 @@ apt-get install -y -qq -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="
|
|||
resolvconf \
|
||||
net-tools \
|
||||
wireless-tools \
|
||||
wpagui \
|
||||
locales \
|
||||
initramfs-tools \
|
||||
binutils \
|
||||
|
@ -67,21 +66,16 @@ apt-get install -y -qq -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="
|
|||
grub2 \
|
||||
nautilus-admin
|
||||
|
||||
if [[ ${ALTERNATIVE} = t2-external ]]
|
||||
then
|
||||
curl -L https://github.com/AdityaGarg8/T2-Ubuntu/releases/download/vKVER-PREL-kernel/linux-headers-KVER-${ALTERNATIVE}_KVER-PREL_amd64.deb > /tmp/headers.deb
|
||||
curl -L https://github.com/AdityaGarg8/T2-Ubuntu/releases/download/vKVER-PREL-kernel/linux-image-KVER-${ALTERNATIVE}_KVER-PREL_amd64.deb > /tmp/image.deb
|
||||
else
|
||||
curl -L https://github.com/t2linux/T2-Ubuntu-Kernel/releases/download/vKVER-PREL/linux-headers-KVER-${ALTERNATIVE}_KVER-PREL_amd64.deb > /tmp/headers.deb
|
||||
curl -L https://github.com/t2linux/T2-Ubuntu-Kernel/releases/download/vKVER-PREL/linux-image-KVER-${ALTERNATIVE}_KVER-PREL_amd64.deb > /tmp/image.deb
|
||||
fi
|
||||
file /tmp/*
|
||||
apt install /tmp/headers.deb /tmp/image.deb
|
||||
|
||||
echo >&2 "===]> Info: Install window manager... "
|
||||
|
||||
apt-get install -y -qq -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
|
||||
plymouth-theme-ubuntu-logo \
|
||||
plymouth-theme-spinner \
|
||||
plymouth-theme-ubuntu-text \
|
||||
ubuntu-desktop-minimal \
|
||||
ubuntu-gnome-wallpapers \
|
||||
snapd
|
||||
|
@ -120,26 +114,6 @@ printf '\n### apple-bce start ###\nsnd\nsnd_pcm\napple-bce\n### apple-bce end ##
|
|||
printf '\n# display f* key in touchbar\noptions apple-ib-tb fnmode=1\n' >> /etc/modprobe.d/apple-tb.conf
|
||||
#printf '\n# delay loading of the touchbar driver\ninstall apple-ib-tb /bin/sleep 7; /sbin/modprobe --ignore-install apple-ib-tb' >> /etc/modprobe.d/delay-tb.conf
|
||||
|
||||
echo '
|
||||
#!/usr/bin/env bash
|
||||
echo "Select Touch Bar mode"
|
||||
echo
|
||||
echo "0: Only show F1-F12"
|
||||
echo "1: Show media and brightness controls, use the fn key to switch to F1-12"
|
||||
echo "2: Show F1-F12, use the fn key to switch to media and brightness controls"
|
||||
echo "3: Only show media and brightness controls"
|
||||
echo "4: Only show the escape key"
|
||||
read tb
|
||||
echo "Changing default mode ..."
|
||||
echo "# display f* key in touchbar" > /etc/modprobe.d/apple-tb.conf
|
||||
echo "options apple-ib-tb fnmode=$tb" >> /etc/modprobe.d/apple-tb.conf
|
||||
bash -c "echo $tb > /sys/class/input/*/device/fnmode"
|
||||
echo "Done!"' | tee /usr/local/bin/touchbar >/dev/null
|
||||
|
||||
chmod a+x /usr/local/bin/touchbar
|
||||
chown root:root /usr/local/bin/touchbar
|
||||
|
||||
|
||||
echo >&2 "===]> Info: Update initramfs... "
|
||||
|
||||
## Add custom drivers to be loaded at boot
|
||||
|
@ -162,13 +136,14 @@ apt-get purge -y -qq \
|
|||
vim \
|
||||
binutils \
|
||||
linux-generic \
|
||||
linux-headers-5.15.0-30 \
|
||||
linux-headers-5.15.0-30-generic \
|
||||
linux-headers-5.19.0-21 \
|
||||
linux-headers-5.19.0-21-generic \
|
||||
linux-headers-generic \
|
||||
linux-image-5.15.0-30-generic \
|
||||
linux-image-5.19.0-21-generic \
|
||||
linux-image-generic \
|
||||
linux-modules-5.15.0-30-generic \
|
||||
linux-modules-extra-5.15.0-30-generic
|
||||
linux-modules-5.19.0-21-generic \
|
||||
linux-modules-extra-5.19.0-21-generic \
|
||||
gedit
|
||||
|
||||
apt-get autoremove -y
|
||||
|
||||
|
@ -177,8 +152,6 @@ echo >&2 "===]> Info: Reconfigure environment ... "
|
|||
locale-gen --purge en_US.UTF-8 en_US
|
||||
printf 'LANG="C.UTF-8"\nLANGUAGE="C.UTF-8"\n' >/etc/default/locale
|
||||
|
||||
dpkg-reconfigure -f readline resolvconf
|
||||
|
||||
cat <<EOF >/etc/NetworkManager/NetworkManager.conf
|
||||
[main]
|
||||
plugins=ifupdown,keyfile
|
||||
|
|
|
@ -6,18 +6,26 @@ insmod all_video
|
|||
set default="0"
|
||||
set timeout=30
|
||||
|
||||
menuentry "Try Ubuntu Jammy Jellyfish without installing" {
|
||||
menuentry "Try Ubuntu Kinetic Kudu without installing" {
|
||||
linux /casper/vmlinuz file=/cdrom/preseed/mbp.seed boot=casper ro pcie_ports=compat intel_iommu=on iommu=pt ---
|
||||
initrd /casper/initrd
|
||||
}
|
||||
menuentry "Try Ubuntu Jammy Jellyfish without installing (Safe Graphics)" {
|
||||
menuentry "Try Ubuntu Kinetic Kudu without installing (Safe Graphics)" {
|
||||
linux /casper/vmlinuz file=/cdrom/preseed/mbp.seed boot=casper ro nomodeset pcie_ports=compat intel_iommu=on iommu=pt ---
|
||||
initrd /casper/initrd
|
||||
}
|
||||
menuentry "Install Ubuntu Jammy Jellyfish" {
|
||||
menuentry "Try Ubuntu Kinetic Kudu without installing (NVMe blacklisted)" {
|
||||
linux /casper/vmlinuz file=/cdrom/preseed/mbp.seed boot=casper ro pcie_ports=compat intel_iommu=on iommu=pt modprobe.blacklist=nvme ---
|
||||
initrd /casper/initrd
|
||||
}
|
||||
menuentry "Install Ubuntu Kinetic Kudu" {
|
||||
linux /casper/vmlinuz preseed/file=/cdrom/preseed/mbp.seed boot=casper only-ubiquity pcie_ports=compat intel_iommu=on iommu=pt ---
|
||||
initrd /casper/initrd
|
||||
}
|
||||
menuentry "Install Ubuntu Kinetic Kudu (NVMe blacklisted)" {
|
||||
linux /casper/vmlinuz preseed/file=/cdrom/preseed/mbp.seed boot=casper only-ubiquity pcie_ports=compat intel_iommu=on iommu=pt modprobe.blacklist=nvme ---
|
||||
initrd /casper/initrd
|
||||
}
|
||||
menuentry "Check disc for defects" {
|
||||
linux /casper/vmlinuz boot=casper integrity-check enforcing=0 efi=noruntime pcie_ports=compat ---
|
||||
initrd /casper/initrd
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
if [ "${1}" = "pre" ]; then
|
||||
modprobe -r apple_ib_tb
|
||||
elif [ "${1}" = "post" ]; then
|
||||
modprobe apple_ib_tb
|
||||
fi
|
Loading…
Reference in New Issue