Recommended Posts

Hi, xorangekiller.

 

My Chromebook is put on Developer Mode and i have "crossystem dev_boot_usb=1" set in Chrome OS in order to be able to boot self-signed kernels from USB/SD media.

If i'll set up Debian using your partition scheme, will USB/SD boot (with Ctrl+U) still work?

 

I'm asking because i've already tried a scheme with Debian on eMMC having just two partitions (one with self-signed kernel, second with rootfs), and while i was able to boot into Debian (with Ctrl+D), the USB/SD boot got broken.

 

Thank you!

Excellent description, thank you.

I am writing this using my Chromebook, debian installed.

Maybe the preparation of the internal ssd can be shortened by the following script:

 

#!/bin/sh

target_disk=/dev/mmcblk0
cgpt create ${target_disk}
cgpt add -i 11 -b 64 -s 16384 -S 1 -P 5 -l RWFW -t "firmware" ${target_disk}
cgpt add -i 6 -b 16448 -s 1 -S 1 -T 15 -P 0 -l KERN-C -t "kernel"  ${target_disk}
cgpt add -i 7 -b 16449 -s 1  -l ROOT-C -t "rootfs"   ${target_disk}
cgpt add -i 9 -b 16450 -s 1  -l reserved -t "reserved"   ${target_disk}
cgpt add -i 10 -b 16451 -s 1  -l reserved -t "reserved"   ${target_disk}
cgpt add -i 2 -b 16452 -s 32768 -S 1 -T 15 -P 15 -l KERN-A -t kernel ${target_disk}
cgpt add -i 4 -b 49220 -s 32768 -S 1 -T 15 -P 0 -l KERN-B -t kernel ${target_disk}
cgpt add -i 8 -b 81988 -s 32768  -l OEM -t data   ${target_disk}
cgpt add -i 12 -b 114756 -s 32768 -S 1 -P 5 -l EFI-SYSTEM -t "efi" ${target_disk}
cgpt add -i 5 -b 147524 -s 4096  -l ROOT-B -t rootfs ${target_disk}
cgpt add -i 3 -b 151620 -s 28870622 -S 1 -P 5 -l ROOT-A -t rootfs ${target_disk}

cgpt add -i 1 -b 29022242 -s 1755069  -l STATE -t data ${target_disk}
sync

mkfs.ext4 ${target_disk}p3
mkswap ${target_disk}p1

Norbert

  • 2 weeks later...

Karl L.,

 

Firstly kudos for your excellent work so far.  :D

 

I'd like to understand how booting works, after one has followed your instructions.  Am I right that:

  1. The default "verified" uboot bootloader is not used (nor is the alternate "non-verified" nv-uboot bootloader? For more details on nv-uboot, please see "Appendix A: Using nv-U-Boot on the Samsung ARM Chromebook":
    http://www.chromium.org/chromium-os/u-boot-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook ).  It seems you somehow use "firmware-linux" and "firmware-libertas" instead.  I've never heard of those (as I'm only familiar with how GRUB works, on PC's).  What are those?  What do they do?
  2. "firmware-linux" and "firmware-libertas" somehow boots a "stock" linux kernel that you compiled and packaged yourself, called "linux-image-exynos5" (as opposed to "borrowing" and "signing" the ChromeOS kernel, which is what one must unfortunately do using the current instructions found on "InstallingDebianOn Samsung ARMChromebook":
    https://wiki.debian.org/InstallingDebianOn/Samsung/ARMChromebook
  3. When future versions of your "linux-image-exynos5" are released (say, because there was an important security update released for the kernel), they'll "just work" (at boot time), when one installs them with "sudo apt-get update && sudo apt-get upgrade"?

If I'm correct on these 3 points, then how were you able to "get away with" not using the nv-uboot bootloader?  That is to say, why couldn't the Debian folks follow suit and boot their own stock linux kernels with "firmware-linux" and "firmware-libertas" like you do?

 

Note: The Debian folks are currently stuck on how to boot a stock linux kernel from nv-u-boot, as seen on
"InstallingDebianOn Samsung ARMChromebook":

https://wiki.debian.org/InstallingDebianOn/Samsung/ARMChromebook


  "Three partitions are created on the disk. In time, the intention is that these be used for:
   - a copy of nv-uboot that is chainloaded by the standard firmware,
   - a /boot filesystem containing the standard (non-ChromeOS) kernel, read by nv-uboot,
   - the root filesystem.

  Currently nv-uboot is *not* used, and so the arrangement is:
   - a copy of the ChromeOS kernel that is loaded by the standard firmware,
   - a /boot filesystem that is used only to contain the ChromeOS kernel (which is not used during booting, just during the preparation of the previous partition),
   - the root filesystem."

 

I would appreciate any clarification, as you seem to understand these things really well.  GPT and "verified" bootloaders are tough to understand, especially when it comes to how to boot stock linux kernels.

Karl L.,

 

Your work is much appreciated.   :woot:   I write this posting from my new Debian Jesse install on my Samsung ARM Chromebook.

 

A few things could be filled into your procedure:

  • Before doing step 2.3, you didn't mention how to get the Chromebook connected to one's wifi network.  Here's how I did that (well, I'm pretty sure these were the minimal steps that succeeded):
    • ifconfig mlan0 down
    • ifconfig mlan0 essid MySSIDsNameHere key s:MyWifiPasswordHere
    • ifconfig mlan0 up
    • (wait about 15 seconds for the wifi authentication to work)
    • dhclient mlan0
    • (wait a few seconds for a DHCP lease to be assigned)
    • ifconfig mlan0
    • (you should now see a valid DHCP-assigned IP address for "inet addr" on the second line)
  • Before you can do step 2.3, gdisk needs to be installed on the Debian-formatted SD card.  I installed it with:
  • Later in step 2.6, when I tried to run the command "umount /mnt/rar/dev/pts", it wouldn't unmount, as it was "busy".  Nothing except a reboot could clear this up.

I also answered my own questions above as to how booting works:

  • You've left the default uboot "verified" bootloader in place.
  • Your package linux-image-exynos5 provides a kernel which will work with that bootloader
  • To get the bootloader to boot that kernel, the "update-chromebook-vboot" had to be run, which came from your package "chromebook-kernel-vboot"
  • 4 weeks later...

Is it possible to tailor all that operations to using nv-U-Boot? So that the chromebook booted right away without need to press Ctrl-D etc.?

http://www.chromium.org/chromium-os/u-boot-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook

  • 2 weeks later...

 

Karl L.,

 

Your work is much appreciated.   :woot:   I write this posting from my new Debian Jesse install on my Samsung ARM Chromebook.

 

A few things could be filled into your procedure:

  • Before doing step 2.3, you didn't mention how to get the Chromebook connected to one's wifi network.  Here's how I did that (well, I'm pretty sure these were the minimal steps that succeeded):
    • ifconfig mlan0 down
    • ifconfig mlan0 essid MySSIDsNameHere key s:MyWifiPasswordHere
    • ifconfig mlan0 up
    • (wait about 15 seconds for the wifi authentication to work)
    • dhclient mlan0
    • (wait a few seconds for a DHCP lease to be assigned)
    • ifconfig mlan0
    • (you should now see a valid DHCP-assigned IP address for "inet addr" on the second line)

 

 FWIW I also had to use wpa_supplicant here at some point.

 

Also, to OP: I'm getting a weird issue where I can't activate swap space, like at all. When I try to swapon the one we made during the partitioning via (using gparted to swapon) I get:

 

swapon: /dev/mmcblk0p1: found swap signature: version 1, page-size 4, same byte order

swapon: /dev/mmcblk0p1: pagesize = 4096

swapsize = 2251292672, devsize = 2251293184

swapon: /dev/mmcblk0p1: swapon failed: invalid argument

 

Thinking I may have set something up wrong in the partitioning I took a flash drive and formatted it as swap space, plugged it in, and got the same error except with different numbers in line three.

 

Any advice?

  • 5 months later...

Hey Karl (or anybody else),

 

Could you please upload a image of the environment setup in the first post?

 

I've been spending so much time trying to get Mali drivers for OpenGL working in a Ubuntu/Debian environment for my ARM chromebook but everywhere is either out of date or has broken links.

 

Karl/xorangekiller is the only one who seems to have a good setup.

Your a linux god lol

 

After reading your reply first and then the rest of the posts, I'm totally flabbergasted!

 

So much so that my eyes are all messed up like this emoticon! :s

 

I couldn't fathom all that stuff!!

 

Amazing job!!

  • 3 years later...

Excellent work! I know it's been nearly four years since the last post, and the 2012 Samsung 3 Chromebook is nearly an antique by computing standards, but I would very much like to try to install Debian Stretch following your very detailed instructions. Sadly, after all this time, the Dropbox links appear to be in 404 country. Any chance you might update your instructions with fresh links and perhaps some info on installing Stretch instead of Jessie? It should be fairly sraight-forward, but I'm still using Linux training wheels with my little Raspberry Pi, so nothing comes quite as easy to me as it might. Thanks!  :@)

Topic closed.

 

Karl has not been active on Neowin for many years now, and many of the replies were made by passersby who are also no longer active. Unfortunately I do not believe anyone will have a copy of the files to share with you.

  • DrunknMunky locked this topic
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • 4TB TEAMGROUP MP44Q, 2TB T-Force G50, and 2TB WD My Passport SSDs drop to great prices by Fiza Ali Prime Day may be over, but there are still worthwhile storage deals available, including discounts on SSDs, for shoppers who missed the event or are looking to upgrade their storage solution. Particularly, 2TB Western Digital My Passport, 2TB TEAMGROUP T-Force G50, and 4TB TEAMGROUP MP44Q SSD are selling at great prices with up to 23% off. The TEAMGROUP T-Force G50 2TB is an M.2 2280 PCIe 4.0 x4 NVMe SSD with sequential read speeds of up to 5,000MB/s and sequential write speeds of up to 4,500MB/s. The drive has an endurance rating of 1,300 TBW (terabytes written) and features a DRAM-less design. The company specifies a mean time between failures (MTBF) of 3 million hours. The drive includes an "ultra-thin" graphene heat spreader that helps dissipate heat without significantly increasing the drive's thickness. It also supports S.M.A.R.T. monitoring, allowing compatible software to monitor drive health and operating status. The SSD is rated for operating temperatures from 0°C to 70°C, with a storage temperature range of -40°C to 85°C. The drive is backed by a five-year limited warranty as well. 2TB TEAMGROUP T-Force G50 SSD: $269.99 (Amazon US) The TEAMGROUP MP44Q is an M.2 2280 PCIe 4.0 x4 NVMe SSD that delivers sequential read speeds of up to 7,000MB/s and sequential write speeds of up to 5,900MB/s. It uses 3D QLC NAND flash memory to provide 4TB of storage capacity for games, applications, media files, and other data. The drive has an endurance rating of 2,000 TBW and an MTBF of 1.6 million hours. The SSD features a DRAM-less design and supports TEAMGROUP's S.M.A.R.T. monitoring software, allowing users to monitor drive health, temperature, and remaining lifespan. For thermal management, the MP44Q also includes an "ultra-thin" graphene heat spreader. It is designed to operate at temperatures between 0°C and 70°C and can be stored at temperatures ranging from -40°C to 85°C. The SSD is also backed by a five-year limited warranty. 4TB TEAMGROUP MP44Q SSD: $478.99 (Amazon US) The 2TB WD My Passport SSD connects via a USB-C port using the USB 3.2 Gen 2 interface. It delivers sequential read speeds of up to 1,050MB/s and sequential write speeds of up to 1,000MB/s through NVMe technology. In terms of security features, the drive includes password protection with 256-bit AES hardware encryption. The SSD is also designed to resist shock and vibration and is rated to withstand drops from heights of up to 6.5 feet. The recommended operating temperature range is 5°C to 35°C, while the non-operating temperature range is -20°C to 65°C. This drive is also backed by a five-year limited warranty. 2TB Western Digital My Passport SSD: $279.99 (Amazon US) Good to know This Amazon deal is U.S. specific, and not available in other regions unless specified. We only use first-party seller links (at the time of article publishing); ensure that you purchase from a first-party seller link only. Check out Today's Deals on Amazon | or our recent tech deals. Become a Prime member (for Students or SNAP) via Neowin Get Prime Access - Prime for half price (for qualifying Medicaid, EBT, SNAP) Subscribe to Prime Video, Audible Plus, Music Unlimited or Kindle Unlimited via Neowin As an Amazon Associate, we earn from qualifying purchases.
    • Yeah... The root of my comment, ostensibly, is how to spin the story via the actual technical merits of the solution! * Decentralized (aka federated) solution with built-in encrypted ephemeral message transport, * Transport via Relays (intermediary servers) with no message archival, * Second configurable pathway are actual email servers (if DNS records are programmed accordingly) via IMAP protocols carriage, * "Chat-over-Email" is the design pattern adopted; it can either leverage full-blown Email Server (must use the INBOX folder) to exchange all received messages/edits/reactions (so be weary of notifications overloads) [best practice is creating a separate email acct used explicitly for federated chat purposes!] or leverage its built-in Relay Server mechanism which actually resides on-device (by default but can be configured otherwise), * By virtue of be a decentralized/federated model, all other intermediary servers who may pass-along messages (while the recipient's final relay/device is inaccessible) cannot snoop on the messages due to the encrypted nature of contents. The intermediaries may, however, analyze the metadata due to the simple fact that routing mechanisms require hints for relay destinations. Unfortunately, whomever is posting about DeltaChat across socials are misleading with "zero metadata" claims -- especially when the Relays (according to their own technical documents) mandate the addition of chat-version metadata and other decorations in order to actually transport any message. -- Based on this summary, I'd prefer if they'd better dual-path message transport (email server add-in, federated relay engine) rather than patch-on email protocols to existing federated social media frameworks. They're frankensteining something rather than extending widely-deployed technology stacks.
    • Decentralized search result anonymization...
    • Russia invaded Crimea, so not sure what you are getting at. Are you saying that the E.U is like what the USSR was? What is wrong with wanting control over your own country? i bet Trump would not stand by and allow Canada to control the U.S.
    • foobar2000 2.25.10 by Razvan Serea foobar2000 is an advanced freeware audio player for the Windows platform. It features the simplest, most minimalistic interface you'll ever see in this kind of program. Other features include full unicode support, ReplayGain support and native support for several popular audio formats. foobar2000 features: Supported audio formats: MP3, MP4, AAC, CD Audio, WMA, Vorbis, FLAC, WavPack, WAV, AIFF, Musepack, Speex, AU, SND... and more with additional components. Gapless playback. Full unicode support. Easily customizable user interface layout. Advanced tagging capabilities. Support for ripping Audio CDs as well as transcoding all supported audio formats using the Converter component. Full ReplayGain support. Customizable keyboard shortcuts. Open component architecture allowing third-party developers to extend functionality of the player foobar2000 2.25.10 changelog: Improved implementation of built-in UPnP Media Renderer, implemented gapless playback compatible with popular UPnP control apps. Enabled discovery of OpenHome UPnP devices as output devices. Enabled TLS v1.3 encryption for HTTPS connections. Fixed Ogg/Opus files with single chapter not showing correct track numbers. Fixed Direct2D visualizations getting stuck after GPU driver reinitialization. Updated 7-Zip library to 26.01. Updated UnRAR library to 7.2.6. Download: foobar2000 64-bit | 7.3 MB (Freeware) Download: foobar2000 32-bit | 6.4 MB Links: Home Page | foobar2000 for Mac | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Week One Done
      flexorcist earned a badge
      Week One Done
    • One Month Later
      Woland13 earned a badge
      One Month Later
    • Week One Done
      Woland13 earned a badge
      Week One Done
    • One Year In
      bernmeister earned a badge
      One Year In
    • Week One Done
      Scoobystu earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      493
    2. 2
      +Edouard
      225
    3. 3
      PsYcHoKiLLa
      148
    4. 4
      Steven P.
      75
    5. 5
      FloatingFatMan
      71
  • Tell a friend

    Love Neowin? Tell a friend!