libreboot
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libreboot] Parabola on C201


From: Paul Kocialkowski
Subject: Re: [Libreboot] Parabola on C201
Date: Mon, 14 Dec 2015 19:30:40 +0100

Hi,

Le mardi 08 décembre 2015 à 22:12 +0100, Albin a écrit :
> I've now managed to install and boot Parabola from microSD on the c201,
> but only (thus far) with the ChromeOS kernel that I extracted from the
> internal storage.

Good to know!

> I have since tried to find a way to boot without Google's kernel, but
> unsuccessfully. I learned a bit about the problem though:
> 
> First I was surprised that normal installation images didn't work (I
> tried Debian 8) since I had actually disabled signature verification.
> After some research[1] however I learned that, despite this, the kernel
> (or its substitute, see below) needs to be configured in a particular
> way to be loaded. Then reading the following got me excited.

Well, Depthcharge and vboot expect the kernel images to be wrapped in a
particular way (the Debian install guide for the C201 has some examples
of how to deal with it).

Note that there is poor upstream kernel support for this device, so no
distribution is shipping any kernel image for it (they aren't using the
CrOS sources either). You're basically on your own regarding the kernel
part.

> "The ChromeOS firmware doesn't actually look at the kernel, it just
> looks for a ChromeOS-specific header that describes it. So if your
> custom kernel isn't actually a Linux kernel, but is a custom build of
> U-Boot that was packaged as though it was a Chromium OS kernel, the
> firmware will happily load it into RAM and jump to it. What happens next
> is up to you."[1]
> 
> So I figured that if I could get hold of one of these U-Boot images, I'd
> be able to dd it into the existing ChromeOS kernel partition on my SD
> card and then load linux-libre from there. The chromium project does
> provide instructions[2] and even images for this, but for an earlier
> version, "snow" instead of "veyron". I tried both the nv_uboot-snow and
> nv_uboot-snow-simplefb images but they didn't work as I had hoped.
> Pressing Ctrl+U at the libreboot screen now gave me a silent black
> screen (and to get out I had to hold the power button to shut down).
> That was different from when I tried to boot normal installation images
> though, which always just result in a loud *beep*.

Apparently, lots of things are wrong or misunderstood here. First, there
is no Linux-libre for the C201 (you might want to try deblobbing the
CrOS kernel sources, though). Then, U-Boot is a bootloader doing the
same job as coreboot and depthcharge combined: setting up the hardware
and loading an image. While there is some U-Boot support for veyron
boards in upstream U-Boot, the images you got for snow (a Samsung
Chromebook) will simply not work, as they are not built for the right
target. It might be possible to chainload a proper U-Boot build
painlessly from depthcharge (by wrapping it in the correct image
format), but I really don't see the point at all.

> This is how far I got. I will continue to look for a solution but maybe
> someone else has an idea on what to try next.

If all you want is boot a kernel that you built from source, just follow
the guide from Debian for the C201, it has a part about it:
https://wiki.debian.org/InstallingDebianOn/Asus/C201

I'll try to add some documentation about this on Libreboot and on my
personal blog (regarding the installation of distros that are not
FSF-approved).

I hope things are a bit clearer to you now.

> [0] Although I had to use different URLs for keyrings and mirror list.
> 
> [1]
> https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/custom-firmware
> 
> [2]
> https://www.chromium.org/chromium-os/u-boot-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook
> 
> Den 2015-12-06 kl. 23:42, skrev Albin:
> > 
> > 
> > Den 2015-12-06 kl. 23:26, skrev Albin:
> >> Hi,
> >>
> >> Den 2015-12-06 kl. 12:46, skrev Paul Kocialkowski:
> >>> Hi,
> >>>
> >>> Le dimanche 06 décembre 2015 à 12:44 +0100, Albin a écrit :
> >>>> Den 2015-12-06 kl. 10:33, skrev Paul Kocialkowski:
> >>>>> Le samedi 05 décembre 2015 à 15:25 +0100, Albin a écrit :
> >>>>>> Den 2015-12-05 kl. 13:27, skrev Paul Kocialkowski:
> >>>>>>> Le samedi 05 décembre 2015 à 00:34 +0100, Albin a écrit :
> >>>>>>>> I just found another guide
> >>>>>>>> (https://gist.github.com/jcs/4bf59314d604538a5098) that mentions a 
> >>>>>>>> step
> >>>>>>>> that's missing on libreboot.org: besides removing the write-protect
> >>>>>>>> screw one also has to run "flashrom --wp-disable". This should 
> >>>>>>>> explain
> >>>>>>>> the permissions issue I had.
> >>>>>>>
> >>>>>>> Can you confirm that this is the case (and that you were already using
> >>>>>>> the root account for your first report)? I didn't have to go through
> >>>>>>> this step when flashing, but maybe it is required the first time.
> >>>>>>
> >>>>>> Yes, I was using the root account for the first report. Now I've also
> >>>>>> tried to run the command "flashrom --wp-disable" which does output
> >>>>>> "SUCCESS". That did NOT help though because, just as before, the 
> >>>>>> command
> >>>>>> "./cros-flash-replace flash.img coreboot ro-frid" results in: "bash:
> >>>>>> ./cros-flash-replace: Permission denied".
> >>>>>
> >>>>> Ahh I see, so "Permission denied" is not in all caps (which would have
> >>>>> looked like a flashrom error message). I bet this is shell complaining
> >>>>> because the script isn't executable. Try running:
> >>>>> chmod a+x cros-flash-replace
> >>>>>
> >>>>> before running it an everything should work fine. Maybe it would be
> >>>>> worth mentioning on the installation page.
> >>>>>
> >>>>
> >>>> I had already checked and tried to modify the permissions before asking
> >>>> on the email list. I get "Permission denied" despite executable
> >>>> permissions (that were already there), even with chmod 777. Isn't that
> >>>> strange?
> >>>
> >>> Maybe your filesystem doesn't allow execution (mounted with noexec?).
> >>> Perhaps try moving the files to the internal storage of the device
> >>> (instead of an external media that the system might mount with noexec),
> >>> or the opposite.
> >>>
> >>
> >> Problem solved; libreboot installed!
> >>
> >> I first inserted the SD card into a different computer and tried to run
> >> the script there but got the same error message. Then I copied over
> >> flash.img into the veyron_speedy directory that was created after the
> >> compilation process and ran the script from there as user. This worked
> >> fine and then I had no trouble installing libreboot on the chromebook
> >> using flashrom.
> >>
> >> It would be good to mention in the documentation that there can be a
> >> problem with execution rights. I had the same problem when trying to run
> >> the scrip both from the SD card and from the internal storage, i.e.
> >> after copying over the files from the SD card.
> > 
> > I saw that you've added the following to the documentation:
> > "the cros-flash-replace script has to be made executable: # chmod a+x
> > cros-flash-replace. This did *not* help in my case (so maybe not for
> > others also) so I think it should say something else. By the way, the
> > circle around the write-protect screw on the image is white, not red as
> > said in the docs.
> > 
> >>
> >> Now I only need to figure out how to install a functional GNU system and
> >> get rid of ChromeOS. Inserting a Debian installer (armhf) and pressing
> >> Ctrl+U results in a loud *beep* even with all the security features
> >> disabled. Do I need to prepare a custom installer image?
> >>
> >> Thanks!
> >>
> >> Albin
> >>
> >>>>>>>> Den 2015-12-04 kl. 23:49, skrev Albin:
> >>>>>>>>> Hi.
> >>>>>>>>>
> >>>>>>>>> Tonight I tried to install libreboot onto an ASOS C201. I ran into a
> >>>>>>>>> number of difficulties that I managed to overcome (see the points 
> >>>>>>>>> below,
> >>>>>>>>> my contribution to the docs), but then I got stuck at the point 
> >>>>>>>>> where
> >>>>>>>>> one is to run the cros-flash-replace script. The terminal keeps
> >>>>>>>>> returning PERMISSION DENIED. The file permissions, however, are the 
> >>>>>>>>> same
> >>>>>>>>> as just after compilation and I've also removed The Screw as 
> >>>>>>>>> instructed.
> >>>>>>>>>
> >>>>>>>>> Does anyone have a clue what might be the problem?
> >>>>>>>>>
> >>>>>>>>> Cheers,
> >>>>>>>>>
> >>>>>>>>> Albin
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Errors found in the documentation:
> >>>>>>>>>
> >>>>>>>>> 1. There are *eight* screws that need to be removed to open the 
> >>>>>>>>> device,
> >>>>>>>>> not seven. There is (at least on my device) one also beneath the top
> >>>>>>>>> left pad.
> >>>>>>>>>
> >>>>>>>>> 2. You get into the TTY promt by pressing *Ctrl+Alt+Next*.
> >>>>>>>>> *Ctrl+Alt+Previous* is for exiting the promt.
> >>>>>>>>>
> >>>>>>>>> 3. The guide mentions first "cros-flash-replace" and then
> >>>>>>>>> "cros-firmware-replace":
> >>>>>>>>>
> >>>>>>>>> "Then, the cros-flash-replace script has to be executed as such:
> >>>>>>>>> # ./cros-firmware-replace flash.img coreboot ro-frid"
> >>>>>>>>>
> >>>>>>>>> By the way, shouldn't there be .img extensions after coreboot and 
> >>>>>>>>> ro-frid?
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> > 
> 

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]