Chromebit eMMC install

This is for any ARMv7 device that we do not officially support.

Chromebit eMMC install

Postby krovetz » Mon Jan 23, 2017 12:01 am

Has anybody gotten alarm to install on the Chromebit's eMMC? I've installed alarm on a couple of Chromebooks and it makes for a much faster system. I'd like to do the same on a Chromebit.

I did a mainline kernel install into a USB (went fine) then booted to the USB to attempt to install onto the eMMC. Fdisk failed with an IO Error.

Code: Select all
[root@alarm ~]# umount /dev/mmcblk1*
umount: /dev/mmcblk1: not mounted
umount: /dev/mmcblk1boot0: not mounted
umount: /dev/mmcblk1boot1: not mounted
umount: /dev/mmcblk1rpmb: not mounted
[root@alarm ~]# fdisk /dev/mmcblk1

Welcome to fdisk (util-linux 2.29).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

fdisk: cannot open /dev/mmcblk1: Input/output error


I then did a veyron-latest install onto USB and tried to install to eMMC from that. This time I got lots of complaints about "Primary GPT header is being ignored." Continuing with the installation left me with an installation that doesn't boot. I get the "The device you inserted does not contain Chrome OS" message from the bootloader.

Code: Select all
[root@alarm ~]# dd if=/dev/zero of=/dev/mmcblk0 bs=4096
dd: error writing '/dev/mmcblk0': No space left on device
3848193+0 records in
3848192+0 records out
15762194432 bytes (16 GB, 15 GiB) copied, 393.431 s, 40.1 MB/s
[root@alarm ~]# umount /dev/mmcblk0*
umount: /dev/mmcblk0: not mounted
umount: /dev/mmcblk0boot0: not mounted
umount: /dev/mmcblk0boot1: not mounted
[root@alarm ~]# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.28.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): g
Created a new GPT disklabel (GUID: 1E17FB66-6DBA-4C6D-AAEE-BEB5164303E7).

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

[root@alarm ~]# cgpt create /dev/mmcblk0
WARNING: Primary GPT header is being ignored
[root@alarm ~]# cgpt add -i 1 -t kernel -b 8192 -s 32768 -l Kernel -S 1 -T 5 -P 10 /dev/mmcblk0
WARNING: Primary GPT header is being ignored
[root@alarm ~]# cgpt show /dev/mmcblk0
WARNING: Primary GPT header is being ignored
       start        size    part  contents
           0           1          PMBR (Boot GUID: 00BBF849-BCB3-D34D-BD54-07DE3E8D1447)
           1           1 IGNORED  Pri GPT header
    30785503          32          Sec GPT table
        8192       32768       1  Label: "Kernel"
                                  Type: ChromeOS kernel
                                  UUID: 61BFDD01-12B8-8B40-A628-89CE2353FCA1
                                  Attr: priority=10 tries=5 successful=1
    30785535           1          Sec GPT header
[root@alarm ~]# cgpt add -i 2 -t data -b 40960 -s `expr 30785503 - 40960` -l Root /dev/mmcblk0
WARNING: Primary GPT header is being ignored
[root@alarm ~]# partx -a /dev/mmcblk0
[root@alarm ~]# mkfs.ext4 /dev/mmcblk0p2
mke2fs 1.43.3 (04-Sep-2016)
Discarding device blocks: done                           
Creating filesystem with 3843067 4k blocks and 960992 inodes
Filesystem UUID: 568cb635-ded0-4273-aab8-341dee157623
Superblock backups stored on blocks:
   32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done   

[root@alarm ~]# cd /tmp
[root@alarm tmp]# wget http://os.archlinuxarm.org/os/ArchLinuxARM-veyron-latest.tar.gz
--2017-01-22 22:25:51--  http://os.archlinuxarm.org/os/ArchLinuxARM-veyron-latest.tar.gz
Resolving os.archlinuxarm.org (os.archlinuxarm.org)... 50.116.36.110
Connecting to os.archlinuxarm.org (os.archlinuxarm.org)|50.116.36.110|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://ca.us.mirror.archlinuxarm.org/os/ArchLinuxARM-veyron-latest.tar.gz [following]
--2017-01-22 22:25:52--  http://ca.us.mirror.archlinuxarm.org/os/ArchLinuxARM-veyron-latest.tar.gz
Resolving ca.us.mirror.archlinuxarm.org (ca.us.mirror.archlinuxarm.org)... 191.101.9.207
Connecting to ca.us.mirror.archlinuxarm.org (ca.us.mirror.archlinuxarm.org)|191.101.9.207|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 270155425 (258M) [application/x-gzip]
Saving to: 'ArchLinuxARM-veyron-latest.tar.gz'

ArchLinuxARM-veyron 100%[===================>] 257.64M  9.14MB/s    in 31s     

2017-01-22 22:26:23 (8.21 MB/s) - 'ArchLinuxARM-veyron-latest.tar.gz' saved [270155425/270155425]

[root@alarm tmp]# mkdir root
[root@alarm tmp]# mount /dev/mmcblk0p2 root
[root@alarm tmp]# tar -xf ArchLinuxARM-veyron-latest.tar.gz -C root
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
tar: Ignoring unknown extended header keyword 'SCHILY.fflags'
[root@alarm tmp]# dd if=root/boot/vmlinux.kpart of=/dev/mmcblk0p1
11504+0 records in
11504+0 records out
5890048 bytes (5.9 MB, 5.6 MiB) copied, 0.699139 s, 8.4 MB/s
[root@alarm tmp]# sync
[root@alarm tmp]# umount root
[root@alarm tmp]# reboot
krovetz
 
Posts: 69
Joined: Tue Jun 26, 2012 11:03 pm

Re: Chromebit eMMC install

Postby Djmrr » Sat Apr 15, 2017 10:33 pm

The exact same thing is happening on my end.
Djmrr
 
Posts: 1
Joined: Sat Apr 15, 2017 10:30 pm

Re: Chromebit eMMC install

Postby eaterjolly » Mon Jul 10, 2017 3:19 am

I've been having the same issue, and researching a bit.

From what I've read, I think it has something to do with the boot firmware expecting and assuming the partitions will each start on certain blocks, and despite an open source version of the boot-firmware existing I don't think the default behavior has been modified by anyone yet. Me personally I'm considering raising an issue in the libreboot bugtracker (since libreboot supports the chromebook I'm using), but I want to be more sure it's not just another case mass user-error.
eaterjolly
 
Posts: 1
Joined: Mon Jul 10, 2017 3:11 am


Return to Community Supported

Who is online

Users browsing this forum: No registered users and 1 guest