![]() | CPU Information processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 48.00 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc0f CPU revision : 4 processor : 1 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 48.00 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc0f CPU revision : 4 Hardware : SAMSUNG EXYNOS5 (Flattened Device Tree) Revision : 0000 Serial : 0000000000000000 boot.log |
The Samsung Chromebook XE303C12 is an ultraportable ARM-based laptop originally designed for Chrome OS, powered by a Samsung Exynos 5 Dual 5250 processor and a Mali-T604 GPU. CRUX-ARM provides dedicated support and optimized root filesystems for this device, enabling a lightweight and flexible Linux experience.
crosh> shell
chronos@localhost / $ sudo su
localhost / # crossystem dev_boot_usb=1 dev_boot_signed_only=0
We can do the install into a usb device (sdX) or into a SD card (mmcblk1). Let's manage it as $DEVICE$. You need to change this for your selection.
First we need to umount all devices
umount /dev/$DEVICE$*
Create a GPT partition table:
fdisk /dev/$DEVICE$ # Create an empty GTP partition table: Type: g # Save changes: Type: w
Partition the $DEVICE$
cgpt create /dev/$DEVICE$
Add the kernel partition
cgpt add -i 1 -t kernel -b 8192 -s 32768 -l Kernel -S 1 -T 5 -P 10 /dev/$DEVICE$
To create the rootfs partition, we first need to calculate how big to make the partition using information from cgpt show. Look for the number under the start column for Sec GPT table which is 15633375 in this example: We need to know where to create the second partition. We need to select the start point of the SEC GTP table. We can know this with this command (cgpt show /dev/$DEVICE$):
localhost / # cgpt show /dev/$DEVICE$ start size part contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 8192 32768 1 Label: "Kernel" Type: ChromeOS kernel UUID: B26B3F11-0DCE-3B40-A5B6-747A8B87AC2F Attr: priority=10 tries=5 successful=1 124735455 32 Sec GPT table 124735487 1 Sec GPT header
Replace the XXX in this command with the number from above (in our case 124735455):
cgpt add -i 2 -t data -b 40960 -s `expr XXX - 40960` -l Root /dev/$DEVICE$
Refresh the partitions:
partx -a /dev/$DEVICE$
Format the rootfs partition (look that we are using now the second partition of the $DEVICE$:
mkfs.ext4 /dev/$DEVICE$2
Download and install CRUX-ARM in the second partition:
cd /tmp # Get sources curl -LO https://git.crux.nu/system/crux-rootfs/releases/download/3.8/crux-3.8-armhf-samsung-chromebook-rootfs.tar.xz curl -LO https://git.crux.nu/system/crux-rootfs/releases/download/3.8/crux-3.8-armhf-samsung-chromebook-rootfs.tar.xz.sha256 curl -LO https://resources.crux-arm.nu/files/devices/samsung-chromebook/3.8/kernel/6.14.8/modules-6.14.8.tar.xz curl -LO https://resources.crux-arm.nu/files/devices/samsung-chromebook3.8/kernel/6.14.8/headers-6.14.8.tar.xz # Check the checksum sha256sum crux-3.8-armhf-samsung-chromebook-rootfs.tar.xz # Create the mount point mkdir rootfs mount /dev/$DEVICE$2 rootfs tar -xf crux-3.8-armhf-samsung-chromebook-rootfs.tar.xz -C rootfs tar -xf modules-6.14.8.tar.xz -C rootfs tar -xf headers-6.14.8.tar.xz -C rootfs umount rootfs
Write the prebuilt kernel to the kernel partition:
curl -LO https://resources.crux-arm.nu/files/devices/samsung-chromebook/3.8/kernel/6.14.8/uImage.kpart dd if=uImage.kpart of=/dev/$DEVICE$1
We should setup all the important files: inittab, securetty, fstab, rc.conf, net ...
Add these values to /etc/udev/rules.d/50-mali.rules
KERNEL=="mali", MODE="0660", GROUP="video"
Put these files into /etc/X11/xorg.conf.d/
10-evdev.conf
10-keyboard.conf
10-monitor.conf
10-quirks.conf
10-synaptics.conf
50-touchpad.conf
https://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook
https://git.tu-berlin.de/markus.v/maltabbuildroot_fpga/-/blob/mathworks_psp_socsharedmem_R1.1.0/board/chromebook/snow/mksd.sh