Skip to content

Instantly share code, notes, and snippets.

@macborkow
Created March 8, 2022 15:53
Show Gist options
  • Select an option

  • Save macborkow/a9dca737617df5451706d3dbd7521f12 to your computer and use it in GitHub Desktop.

Select an option

Save macborkow/a9dca737617df5451706d3dbd7521f12 to your computer and use it in GitHub Desktop.

Revisions

  1. macborkow created this gist Mar 8, 2022.
    84 changes: 84 additions & 0 deletions funtoo
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,84 @@
    todo:
    -wipe root fs
    -encrypt:
    https://github.com/SolidHal/PrawnOS/blob/master/scripts/InstallScripts/InstallPrawnOS.sh

    cryptsetup -q -y -s 512 luksFormat -i 15000 $ROOT_PARTITION || exit 1
    without -i 15000 maybe for faster boot
    cryptsetup luksOpen $ROOT_PARTITION luksroot || exit 1

    then
    mkfs.ext4 -F -b 1024 $ROOT_PARTITION
    then you can mount it as usual and copy stage3 gentoo stuff
    do the usual install
    https://wiki.gentoo.org/wiki/Asus_Chromebook_C201/Installing_Gentoo
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Stage
    starting off do the musl stuff
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base
    https://wiki.gentoo.org/wiki/Project:Musl#Working_with_musl
    gcc optimization:
    https://wiki.gentoo.org/wiki/Asus_Chromebook_C201 +
    for videocard etc: https://wiki.gentoo.org/wiki/Asus_Chromebook_C201/Configuration_examples
    kernel:
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel,
    check ver from prawnOS - 5.10.103
    emerge that ver, take .config from prawn
    apply patches,
    for i in "$PATCHES"/DTS/*.patch; do echo $i; patch -p1 < $i; done
    for i in "$PATCHES"/kernel/*.patch; do echo $i; patch -p1 < $i; done
    https://github.com/SolidHal/PrawnOS/tree/master/kernel/patches/armhf
    make menuconfig extra stuff:
    https://github.com/SolidHal/PrawnOS/issues/282 for blobby wifi FW driver
    https://wiki.gentoo.org/wiki/Custom_Initramfs#Creating_a_separate_file (initramfs, gzip)
    default gentoo options:
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel
    https://wiki.gentoo.org/wiki/Dm-crypt <- for encrypted root
    move to arb.work.dir

    create custom initramfs /w gzip
    https://wiki.gentoo.org/wiki/Custom_Initramfs
    use ldd to determine what's needed, (busybox,cryptsetup,urandom,random)
    functionality: rescue shell, cmdline parsing for mounting root, cryptsetup to unlock root
    reference: https://github.com/SolidHal/PrawnOS/blob/master/initramfs/resources/initramfs-init
    compress it:
    find /PATH/TO/INITRAMFS/ -print0 | cpio --null --create --verbose --format=newc | gzip --best > /PATH/TO/ARBITRARY_WORKING_DIRECTORY/initrd.img
    then gentoo.its, probably replace with - instead of @ (?)

    sign and pack kernel, cmdline options with the right root (probably 0)

    install kernel modules, burn kernel image to kernel partition

    configure the system
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/System
    fstab echo "${ROOT_PARTITION} / ext4 defaults,noatime 0 1" > $INSTALL_MOUNT/etc/fstab

    , install system tools
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Tools

    after above is done
    e2fsck -p -f $ROOT_PARTITION to check if it's a ok, maybe try without it cuz im not sure what it does - do it if reboot doesnt work ( probably wont lol)

    reboot, create user,

    root #emerge –ask net-wireless/wpa-supplicant for blobby wifi ToT
    root #emerge --ask sys-kernel/linux-firmware for the driver
    nvram whatever it means for the driver
    https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/master/overlay-veyron/chromeos-base/chromeos-bsp-veyron/files/firmware/brcmfmac4354-sdio.txt

    some wifi issue apparently:
    echo "blacklist btsdio" > /etc/modprobe.d/blacklist-btsdio.conf

    https://wiki.gentoo.org/wiki/Asus_Chromebook_C201/Configuration_examples https://wiki.debian.org/InstallingDebianOn/Asus/C201#Audio
    for reference

    after the system is working ( probably wont lol ):
    install vim !
    install x, install dwm, dmenu, st
    get audio working
    install surf, compile gtk
    feh for wallpaper
    install mpv for movies

    set up email c*li using mutt

    finally use it for something fun, join some IRCs, write some C programs, maybe some websites ( no npm, vanilla everything (as if i had the space for npm... )