quarkscript / linux-armv7-xe303c12-only

Linux kernel for old google-snow chromebook
GNU General Public License v2.0
18 stars 2 forks source link
archlinuxarm chromebook kernel linux-armv7 voidlinux

Custom linux kernel for old armv7 chromebook

short demo of running linux on this device.

archlinux|ARM folder

Some (not all) packages from AUR could be installed by sfslib like ./sfslib armget 'pkg name'

Void-linux folder

The same, but for void-linux. Second forked source is void-packages.

Some already builded packages can be found at releases

Kali / Devuan linux

To try Kali on that device you may use official build script from Kali developers or my rewrited mod of that script Devuan linux disk image could be build with rewrited script too.

test disk images

Disk images created for demonstration, testing and recovery things. For daily use user should tune it to his own needs and upsize it to used pendrive, sdcard and so on.

empty disk image maker could be used to create an empty disk image of the required size demonstration

Created disk images:

disk images updated 27.11.2022

Example of run under hypervisor (qemu)

qemu-system-arm -machine virt,highmem=off -m 1024 -kernel zImage -append "root=/dev/vda2" -serial stdio -drive if=none,file=armv7hf_q.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 

zImage could be extracted from second partition of disk image like:

mkdir dsk
sudo mount -t btrfs -o,loop,offset=$((512*40960)) armv7hf_q.img dsk
cp dsk/boot/zImage zImage
sudo umount dsk

Example of cross-compiling Void-linux packages

(looks like xbps is no longer part of void-packages so this example requires Linux with xbps-static-bin installed or Void-linux)

git clone https://github.com/void-linux/void-packages.git
git clone https://github.com/quarkscript/linux-armv7-xe303c12-only.git

cd void-packages/

## copy templates to src-dir
  cp -fr ../linux-armv7-xe303c12-only/voidlinux/linux_xe303c12 srcpkgs/
  cp -fr ../linux-armv7-xe303c12-only/voidlinux/linux_xe303c12_firmware srcpkgs/

##############################################################

## make glibc build env.
  ./xbps-src binary-bootstrap

## make glibc kernel package
  ./xbps-src -a armv7hf build linux_xe303c12
  ./xbps-src -a armv7hf pkg linux_xe303c12

## make glibc firmware package
  ./xbps-src -a armv7hf pkg linux_xe303c12_firmware

##############################################################

## make musl build env.
  ./xbps-src -m x86_64-musl binary-bootstrap x86_64-musl

## make musl kernel package
  ./xbps-src -m x86_64-musl -a armv7hf-musl build linux_xe303c12
  ./xbps-src -m x86_64-musl -a armv7hf-musl pkg linux_xe303c12 

## make musl firmware package
  ./xbps-src -m x86_64-musl -a armv7hf-musl pkg linux_xe303c12_firmware

If you plan to re-sign kernel during installation then you will need to install a uboot-mkimage/uboot-tools firstly.

Be aware! Given scripts or packages are not officially supported by any mentioned Linux distributions.