Installation on Asus C201

This forum is for topics dealing with problems with software specifically in the ARMv7h repo.

Installation on Asus C201

Postby dankreefer » Wed Jul 12, 2017 12:53 am

I'm trying to install on the Asus C201 (speedy veyron) with libreboot and following the direction for the Asus Chromebook Flip C100P (veyron minnie). For the kernel I am using the directions for the mainline (ArchLinuxARM-armv7-chromebook-latest.tar.gz) and will use a wireless adapter with free software drivers--the idea is to have a machine with entirely free software. It apparently has been done (e.g. viewtopic.php?f=9&t=9403).

After I create the USB/microsd image and restart, I'm getting nonreproducible boot failure. Usually the boot succeeds the first time, and I can login to root, but later restarts usually hang with a white screen when I press ctrl-U to boot from external media. I've successfully booted from both USB ports on the device and from both a microsd card (with a usb adapter) and a regular USB thumb drive so the failure doesn't seem to be tied to faulty hardware. Any ideas what's going on or places to look for debug info?
dankreefer
 
Posts: 1
Joined: Wed Jul 12, 2017 12:29 am

Re: Installation on Asus C201

Postby Wesman26 » Wed Jul 12, 2017 3:40 pm

I eventually stopped running Arch on my C201 for this reason. I believe it to be a problem with the mainline kernel as I only experienced the problem after switching to it.

For the purposes of documentation: I only ever booted off a microSDXC that I had plugged directly in the port. I never used a USB adapter.

I hope you get this figured out, but I'm afraid you may not be able to without reverting to ChromeOS kernel 3.14.

EDIT: Now that I think about it. I remember that a (poor) workaround that I used was after every time I ran Arch I would boot into ChromeOS and shutdown. I think there may be something that the ChromeOS kernel does during shutdown that allows for a proper boot, but I never properly tested this. I hope this helps and you get something working soon.
Wesman26
 
Posts: 58
Joined: Mon Feb 06, 2012 2:08 am

Re: Installation on Asus C201

Postby atopuzovic » Mon Jul 24, 2017 8:48 pm

I've been using the mainline kernel (linux-armv7-chromebook) for a while now with the following setup.

$this->bbcode_second_pass_code('', '
$ cat kernel.its
/dts-v1/;

/ {
description = "Chrome OS kernel image with one or more FDT blobs";
images {
kernel@1{
description = "kernel";
data = /incbin/("/boot/zImage");
type = "kernel_noload";
arch = "arm";
os = "linux";
compression = "none";
load = <0>;
entry = <0>;
};
fdt@1{
description = "rk3288-speedy.dtb";
data = /incbin/("/boot/dtbs/rk3288-veyron-speedy.dtb");
type = "flat_dt";
arch = "arm";
compression = "none";
hash@1{
algo = "sha1";
};
};
};
configurations {
default = "conf@1";
conf@1{
kernel = "kernel@1";
fdt = "fdt@1";
};
};
};
')

$this->bbcode_second_pass_code('', '
$ cat cmdline.txt
console=ttyS2,115200n8 earlyprintk=ttyS2,115200n8 console=tty1 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd
')

$this->bbcode_second_pass_code('', '
$ cat k.sh
mkimage -D "-I dts -O dtb -p 2048" -f kernel.its vmlinux.uimg

dd if=/dev/zero of=bootloader.bin bs=512 count=1

vbutil_kernel \
--pack vmlinux.kpart \
--version 1 \
--vmlinuz vmlinux.uimg \
--arch arm \
--keyblock kernel.keyblock \
--signprivate kernel_data_key.vbprivk \
--config cmdline \
--bootloader bootloader.bin
')

Run the script:
$this->bbcode_second_pass_code('', '
$ ./k.sh
')

Now copy the vmlinux.kpart to your boot partition.
$this->bbcode_second_pass_code('', '
$ dd if=vmlinux.kpart of=/dev/sdb1
')

Now this kernel boots every time, the screen is white for a few seconds and then you can see the system starting. I keep the 2 packages (linux-armv7 and linux-armv7-chromebook) on ignore as I always have to prepare the kernel.kpart manually
atopuzovic
 
Posts: 2
Joined: Mon Jan 09, 2017 5:07 pm

Re: Installation on Asus C201

Postby k4k » Tue Sep 26, 2017 3:34 pm

I realize it's been a while but I'm replying here in hopes of resurrecting this discussion. I've recently started experiencing this same issue. Initially the issue was linked to the mainline kernel but it now seems like this issue also affects the ChromeOS kernel as well as both methods for installation listed here produce the same result. The first boot works just fine, running $this->bbcode_second_pass_code('', 'pacman -Syu') the first time and then rebooting it will boot to a white screen requiring a forced power-off to exit.

The symptoms above seem to be mitigated somewhat by the following process:

$this->bbcode_list('1')
  • Boot normally, pressing ctrl-d to boot in to ChromeOS
  • Use the software power button in the system tray menu to shutdown
  • Immediately power the machine back on and boot to the SD card with ctrl-u

  • The process above is required any time you wish to boot in to Arch, including reboots.

    After installing aclidswitch, however, this no longer worked. I haven't yet determined why this broke it but between reboots this was the only change I made to my system so I have to suspect it's somehow related.

    I'll continue to post updates here if I find out anything new. If anyone has additional details, please pass along the info. If the wiki page on the C100p needs to be updated I'd like to make that happen because this is a great little machine and I'd hate to lose Arch support for it.
    k4k
     
    Posts: 2
    Joined: Tue Sep 26, 2017 3:20 pm


    Return to ARMv7h

    Who is online

    Users browsing this forum: No registered users and 9 guests