SEARCH

Enter your search query in the box above ^, or use the forum search tool.

You are not logged in.

#1 2013-07-19 16:54:08

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

How To: Make a CrunchBook -- CrunchBang on Chrome OS

NOTE: av8n has adapted my guide to reflect changes in Crouton and Chrome OS. Please follow the guide at this link instead of the one below.
Over the past few weeks, I've been on an intellectual and technical pilgrimage of sorts: trying to run CrunchBang on my Chromebook. Chrome OS is really hard to "dual-boot" in a traditional sense, as there is no real BIOS on the C7/Samsung/HP low-end laptops (Google included a standard BIOS on the high-end Chromebook Pixel, but I may as well have purchased $ANYLAPTOP for that price), and there's no good way of "dual-booting" anything but Ubuntu (to my knowledge) without flashing new firmware, which is way out of my league. Plus, from my perspective, Chrome OS isn't too bad, and has its uses, especially as a quick-on and 5-minute-use operating system. Of course, I'd far prefer to use #! for schoolwork and for OS-tweaking, which is why I'm writing this guide.

Why should you possibly consider a Chromebook as a #! laptop? The short answer: they're cheap and they're available. If you're not afraid of getting accosted by salespeople desperately trying to get you to buy ANYTHING ELSE, you can probably find a returned Acer C7 at your local Best Buy (in the US) for around $160. They're nearly indestructible, especially from a software standpoint. Once you enter Developer Mode, you have the option to revert to Standard Mode at every boot. It's rather disconcerting, though, because ANYONE can do it (Developer Mode is not secure by any stretch of the imagination, more info on that later), but so long as you keep an eye on your Chromebook and ensure that you're around whenever it boots, you should be fine. I'm having a lot of fun with my ChromeBang install, and I hope you will too smile

A few notes and disclaimers:

There's a possibility something might go wrong and break something on your Chromebook. Anything you do to your computer is of your own volition, therefore the responsibility for any data loss/pain and suffering/armageddon is entirely yours. On the plus side, it's remarkably easy to just start over in Chrome OS -- just reboot and press "enter" instead of "Control-D".
   
Note that Developer Mode is completely vulnerable to physical "attacks," which may erase all of your data and force you to start over. Don't allow others to use your chromebook without your explicit supervision, because anyone else might reset your data on accident. I explain this further in item 0.

This has only been tested on the Acer C7, but should work without modification on any X86 chromebook (Pixel, Samsung Series 5, etc). The Samsung ARM chromebook cannot use the cb-netinstall script (because that script adds #! repos that are intel-only), you'd have to install the packages from Debian ARM repos manually.
   
My contribution to this effort has been writing this guide. Many other, smarter people have written brilliant tools that this guide vastly underuses. Read their documentation, ask questions, and improve things. Support free and open source software.

And, of course, all intellectual property in this guide is owned by the creators of said intellectual property..

With that out of the way, here's a quick primer on the tools we'll be using to create a #! environment on a Chromebook.
    0. Developer Mode
    1. Chrome OS's own shell, "Crosh"
    2. Dnschneid's Crouton script, which allows us to create chrooted environments based on efforts to make Debian and Ubuntu compatible with Chrome OS system tools and hardware
    3. John Raff's cb-netinstall script, which adds #! Project Lead CoreNominal's repositories to your Debian install, and adds the necessary configuration files and utilities to create a Waldorf environment from a Debian install.
    4. My own method for starting the GUI using an .xinitrc file (if any of you GUI masters out there have a better way of doing this, or adding a graphical login manager, let me know. I'd like that far better).
    5. (OPTIONAL) My own method for adding non-standard trackpad functionality.

This process takes about 3 hours to set up, and I've done it about 10 times in the past two weeks. Don't get discouraged -- much of this can be done in steps, and most steps are well-documented online (or, hopefully, in this guide). It takes a lot of time, but it's easily attainable and a highly educational experience.

0. Developer Mode

I say this is "Step 0" because it's absolutely basic to everything we need to do: Chrome OS won't give you complete shell access unless you're in Developer Mode. Look up how to enter developer mode on your device here: http://www.chromium.org/chromium-os/dev … os-devices
   
When in developer mode, all sorts of things can go wrong. Not to worry, you can easily reflash to standard Chrome OS at boot time. Best practices dictate, regardless, that you really should make a recovery USB drive for Chrome OS in case everything goes terribly and somehow ruins everything. It is unlikely that you will, but it's better to be safe than sorry. smile
   
Whenever your boot your Dev-Mode Chromebook, there'll be a nice big scary screen that says "You're In Developer Mode, to re-enable Verified Boot, press space." That is the ONLY prompt on the screen, there is no "CONINTUE IN DEV MODE" on-screen prompt. You have to consciously pick Dev Mode every time, by pressing "Ctrl-D" at startup. People who don't know what Developer Mode is will press space, because they think it's the only option. The issue is that doing so wipes your Chromebook completely clean. Which is why, once again, you shouldn't let others use your Dev Mode chromebook without your permission.

1. Get familiar with Crosh.

This entire environment hinges on your ability to access Crosh, the Chrome OS shell. Start one up by pressing Ctrl-Alt-T in Chrome OS. To get a standard Bash shell, type "shell" and press enter. Now you're in a UNIX shell, like in #!/Mac OS/etc. Keep your terminal window open for the whole install.
   
2. Run Crouton
   
Next up, download Dnschneid's Crouton script from his GitHub page (https://github.com/dnschneid/crouton). Reading the README is always a good idea. If you donwload the script within Chrome OS, there's only one place to go: ~/Downloads. That allows you to go back to your terminal window (which you kept open, right?), and enter the following command:

       

sudo sh -e ~/Downloads/crouton -r wheezy -t x11

   
It'll download everything you need for a Debian install with x11 preconfigured. The "-t x11" argument, which installs X11, is an absolute necessity if you want power management to work properly (as I learned the hard way). Follow the prompts, and declare a Username and Password at the end. After Crouton finishes installing, from your Chrome OS terminal ("chronos@localhost"), execute
   
       

sudo enter-chroot

   
to enter the chroot.
   
3. Run the cb-netinstall script

When inside the chroot, download and run JohnRaff's #! netinstall script (you may want to use an Ethernet cable to connect to the internet through this phase, some drivers might break your wifi connectivity. That doesn't jeopardize your install, you just have to restart your machine and run the script again, and the script will only install new packages). JohnRaff has posted about this on the forums before, http://crunchbang.org/forums/viewtopic.php?id=25098. This is how you run the script:

wget http://dl.dropbox.com/u/10808732/cb-netinstall.tar.gz
tar -xpf cb-netinstall.tar.gz
cd cb-netinstall
./install

If anything goes wrong, then check the error logs and run the script again. It's possible that a driver will break your wireless connection (as it did mine). Restart your Chromebook, and connectivity should be restored. Enter the chroot and run the script again, and it should complete any remaining configuration.

4. Configure an .xinitrc file so you can start a GUI.

In order to get your chroot from command line to GUI, you have to create and edit your ~/.xinitrc file, which tells the "startx" command which environment to launch. "xinit" should, in theory, work too, but I've never had any luck -- I use startx.
   
    First, create a file at ~/.xinitrc:
   
       

sudo nano ~/.xinitrc

    Add the following to your ~/.xinitrc :

#! /bin/bash
## start openbox session
exec openbox-session

    Save and reboot. You now have an opportunity to practice the way you'll enter your #! environment:
   
    FROM CHROME OS:
        1. open terminal with Ctrl-Alt-T
        2. type "shell" in response to the "crosh>" prompt
        3. type "sudo enter-chroot" at the "chronos@localhost" prompt
        4. type "startx" at the "(wheezy)<user>@localhost" prompt
       
    And now you have a GUI!
   
All of corenominal's scripts and tweaks should run as though it were an actual standard #! install. That's the minimum you need to get #! running on your Chromebook. Congrats! smile

Of course, now you get to have the *real* fun: configuring your #! Chroot to your liking. For me, that meant creating item #5:

5. BONUS: Additional Trackpad Functionality:

If you're like me, coming from a MacBook Pro, some of the Chromebook's trackpad idiosyncracies had to be resolved. I wrote a script to do this, and I added it to my Openbox Autostart file, but you can technically add the specific tweaks to any startup script you like.

    Edit ~/.config/openbox/autostart:
   
    The standard #! autostart file ends like this:

## Run the conky
conky -q

    but what we need to do requires extending the file, and to do that, we must tell the script that there's more to do.
    Add an Ampersand after "-q" so the last few lines look like this

## Run the conky
conky -q &

       
    Then, we need to actually *tell* the touchpad driver to change something. Add the following:

## Enable tap to click
synclient TapButton1=1 &
synclient TapButton2=3 &

       
    And Horizontal Scrolling (2-finger)

## Enable 2-finger horizontal scroll
synclient HorizTwoFingerScroll=1 &

       
    If you want reverse scroll (like in OS X Mountain Lion), add

## Enable reverse scrolling
xmodmap -e "pointer = 1 2 3 5 4"

    Save, and you're done. Reboot, and the changes shall take effect.
   
If you have any questions, recommendations, or concerns about this script, let me know! I'm always looking for ways to improve it. If you'd like any help setting up your own ChromeBang install, let me know in the forum or on twitter, I'm @brandon_mn.

Last edited by brandon_mn (2014-03-10 04:17:24)


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

Be excellent to each other!

#2 2013-07-22 02:41:07

Artopal
Member
Registered: 2013-07-10
Posts: 29

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Great guide, thanks! Is it also applicable to the Samsung Chromebook?

Offline

#3 2013-07-22 13:31:15

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Thanks! It should partially work on the Samsung ARM Chromebook as well -- Crouton automatically detects the architecture and downloads the correct OS. The one issue is that you can't use the CB-netinstall script, you'd have to read though the #! Repos and download all of the packages from the Debian ARM repos. If you'd like help with that, let me know here or in a PM, I'd be happy to help! smile

Best of luck!


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

#4 2013-08-06 23:05:49

gispeterson
Member
From: El Paso, TX
Registered: 2011-07-06
Posts: 24

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Thank you so much for this,

<solved>I keep hitting a wall when it gets to the waldorf netinstall script, mainly accepting the licence agreement of the intel pro wireless, I cannot click <Ok>. 'enter' does nothing. I'll keep at it.

< never mind> right arrow selects, follow prompts.

second, is there some trick to pasteing in the shell?

Last edited by gispeterson (2013-08-06 23:09:05)

Offline

#5 2013-08-06 23:36:13

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

No problem! Pasting in the Chromebook's own shell is possible by tapping two fingers. Let me know if that doesn't work, or if I can help in any other way smile

Cheers!

B


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

#6 2013-08-07 16:04:57

gispeterson
Member
From: El Paso, TX
Registered: 2011-07-06
Posts: 24

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

to paste in terminal shell it is 'shift-ctrl-v' <-paste as plaintext

the double click only brings up web commands ie. reload, back.... inspect element. weird.

Thanks for your help Brandon_mn this is something I wanted to do with my chromebook since I bought it.

now to make a background with launch instructions

Offline

#7 2013-08-08 15:35:26

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Ah, sorry about that -- I have an add-on, Crosh Window, that adds some weird shortcuts (like the double tapping), and I assumed they were universal. That's what I get for assuming smile

And no problem! Glad I could help. If you do make a background with launch instructions, let me know and/or post it here, that'd be awesome to see!

Cheers!

B


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

#8 2013-08-09 22:10:50

gispeterson
Member
From: El Paso, TX
Registered: 2011-07-06
Posts: 24

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

crunchchrome_by_joshua_jewey_d6hejor.jpg

Moderator Edit - Image Resize

----------------------------------------------------------------------------------------------------------------------------
Please use thumbnails (please try to avoid the large thumbnail imgur.com code) linking to the larger image to help those of us with slow connections. An example of the code needed is below. Most image hosting sites will automatically generate this for you as well. Users have been using postimage.org lately which does a nice job.

[url=http://link.to.your.fullsized.image][img]http://link.to.your.thumbnail.image[/img][/url]

Please use the Report button to let moderators know of images that are too large. Thank you!

Offline

#9 2013-08-09 22:41:20

gispeterson
Member
From: El Paso, TX
Registered: 2011-07-06
Posts: 24

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Sorry, and thank you, Mr./Ms. Moderator!

Offline

#10 2013-08-17 13:04:34

Kal
New Member
Registered: 2013-08-17
Posts: 1

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Thanks for the awesome guide. Could you elaborate on this part?

brandon_mn wrote:

you'd have to read though the #! Repos and download all of the packages from the Debian ARM repos.

I'm using the Samsung ARM Chromebook and I have no idea how to read through the #! repository to acquire the respective packages from the Debian ARM repository.

Thanks!

Offline

#11 2013-08-19 18:29:12

jpope
#! Junkie
From: USA
Registered: 2009-09-20
Posts: 282
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

After running ChrUbuntu on my C7, it's certainly nice to de-bloat and run #! instead. Thanks for the guide. smile

2013-08-19--1376935049_1366x768_scrot_merged.thumbnail.png


--
...old school #! user now mostly running Arch
jeremy.pope.rocks

Offline

#12 2013-08-19 18:34:05

Deinonychus
Member
Registered: 2013-07-12
Posts: 23

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

jpope wrote:

After running ChrUbuntu on my C7, it's certainly nice to de-bloat and run #! instead. Thanks for the guide. smile

http://media.jpope.org/mgoblin_media/media_entries/456/2013-08-19--1376935049_1366x768_scrot_merged.thumbnail.png

Pretty nice! Would it be too much to ask for your conky script? I think it looks really good, nice and simple as I like.

Offline

#13 2013-08-19 18:57:57

jpope
#! Junkie
From: USA
Registered: 2009-09-20
Posts: 282
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Yep, my conky setup is on my blog actually. It may take a little fiddling with the lua script there to get it where you want it.


--
...old school #! user now mostly running Arch
jeremy.pope.rocks

Offline

#14 2013-08-19 19:03:42

Deinonychus
Member
Registered: 2013-07-12
Posts: 23

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Awesome, thanks, I'll check it out.

Offline

#15 2013-08-20 23:48:33

morrow
Member
Registered: 2013-08-09
Posts: 18

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Hi, I have a cr48 that I wish to use it, but I don't think it can as in step 3 you said it might break the wifi. Is there any way to put it on Cr48?

p.s. I just tried it but I can't even complete step two, I enter the command and it said "can not open ~/Download/crouton" do I need to unzip?

Offline

#16 2013-08-21 22:34:14

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Kal wrote:

Thanks for the awesome guide. Could you elaborate on this part?

brandon_mn wrote:

you'd have to read though the #! Repos and download all of the packages from the Debian ARM repos.

I'm using the Samsung ARM Chromebook and I have no idea how to read through the #! repository to acquire the respective packages from the Debian ARM repository.

Thanks!

Sorry for the delay --

The CrunchBang Repositories are available here: http://packages.crunchbang.org/waldorf/pool/main/

These list all of the packages that add the CrunchBang-ish-ness to CrunchBang. Corenominal, #!'s Project Lead, has configured each package in those repositories to work well with other #! system utilities, etc.

You might look into adding the PiBang http://www.pibanglinux.org repos to your sources.list (instead of manually installing each #!-repo package from the vanilla Debian repos) , and then installing a metapackage in that repo. PiBang is a version of #! meant specifically for ARM-based computers. YMMV. If you'd like some more guidance about going this route, feel free to PM me, and I'd be happy to answer any questions you might have. Best of luck! smile

EDIT: I've found the PiBang repositories, they're available here. In fact, I've also found a script for PiBang that is roughly equivalent to the CB-Netinstall script I use in the Intel chipset tutorial. The script is available here on GitHub: https://github.com/Vypper345/pibang-ins … stallPB.sh. I'd reccommend trying to run specific parts of the script (instead of running the whole thing), because that script is meant for Raspbian on the RasPi, and not vanilla Debian on the Chromebook. The script lists the PiBang repos at http://www.pibang.org/repo, if you'd like to poke around and add things manually. The benefit of using the script is that it (theoretically) should also *configure* the programs it installs, so you'll have something that looks like #! out-of-the-box. Let me know if there's anything else I can do smile

Last edited by brandon_mn (2013-08-22 13:05:03)


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

#17 2013-08-21 22:35:37

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

morrow wrote:

Hi, I have a cr48 that I wish to use it, but I don't think it can as in step 3 you said it might break the wifi. Is there any way to put it on Cr48?

p.s. I just tried it but I can't even complete step two, I enter the command and it said "can not open ~/Download/crouton" do I need to unzip?

Try using ~/Downloads/crouton in your command. I've ran into that particular typo myself many times. wink

Re: the potential WiFi issue: if it breaks your connectivity at all, it will only do so temporarily.  As I state in the guide, just restart your machine and run the cb-netinstall script once more, it will pick up where it left off and complete the installation. I have experienced no persisting WiFi issues in nearly 2 months of heavy use, but YMMV. As always, keep me posted if you have any other questions or find any problems/solutions/cool things you'd like to share smile

Last edited by brandon_mn (2013-08-21 22:39:44)


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

#18 2013-08-29 23:23:29

gispeterson
Member
From: El Paso, TX
Registered: 2011-07-06
Posts: 24

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

is there a way around leaving #! to change network settings, or grab things from usb drives? Not a super big problem, but can be annoying.

Offline

#19 2013-08-30 02:29:48

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

I'm right there with you on that one, gispeterson. I don't know of any way to pass those functions to #! instead of Chrome OS.

The best answer I've been able to find is that we're trying to do something that is highly experimental, and there's simply no good (discovered) way to interface power management and external drive mounting to the Chrooted OS (#!). There are CLI commands, but I don't think that's the level of integration we're looking for.

As I understand it, the issue is that Chrome OS always takes precedence over #! on ports and logic board functions, and it's like that by design. That means that Crouton, the software we use to bridge #! and Chrome OS, is the only option I can see for a fix. I'd try poking around on the Crouton GitHub page (https://github.com/dnschneid/crouton) to see if there are any bleeding-edge features the devs have added that may resolve this.

Let me know if you find anything!


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

#20 2013-08-30 18:16:21

av8n
Member
Registered: 2013-08-30
Posts: 14

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

brandon_mn:

does the explanation that you provided work? Are there any problems or issues after installation?





brandon_mn wrote:

Over the past few weeks, I've been on an intellectual and technical pilgrimage of sorts: trying to run CrunchBang on my Chromebook. Chrome OS is really annoying in some ways, because nobody has bothered to crack the BIOS of the cheaper Chromebooks (Google included a standard BIOS on the high-end Chromebook Pixel, but I may as well have purchased $ANYLAPTOP for that price), and there's no good way of "dual-booting" anything but Ubuntu (to my knowledge). Plus, from my perspective, Chrome OS isn't too bad, and has its uses, especially as a quick-on and 5-minute-use operating system. Of course, I'd far prefer to use #! for schoolwork and for OS-tweaking, which is why I'm writing this guide.

Why should you possibly consider a Chromebook as a #! laptop? The short answer: they're cheap and they're available. If you're not afraid of getting acosted by salespeople desperately trying to get you to buy ANYTHING ELSE, you can probably find a returned Acer C7 at your local Best Buy (in the US) for around $160. They're nearly indestructable, especially from a software standpoint. Once you enter Developer Mode, you have the option to revert to Standard Mode at every boot. It's rather disconcerting, though, because ANYONE can do it (Developer Mode is not secure by any stretch of the imagination, more info on that later), but so long as you keep an eye on your Chromebook and ensure that you're around whenever it boots, you should be fine. I'm having a lot of fun with my ChromeBang install, and I hope you will too smile

A few notes and disclaimers:

There's a possibility something might go wrong and break something on your Chromebook. Anything you do to your computer is of your own volition, therefore the responsibility for any data loss/pain and suffering/armageddon is entirely yours. On the plus side, it's remarkably easy to just start over in Chrome OS -- just reboot and press "enter" instead of "Control-D".
   
Note that Developer Mode is completely vulnerable to physical "attacks," which may erase all of your data and force you to start over. Don't allow others to use your chromebook without your explicit supervision, because anyone else might reset your data on accident. I explain this further in item 0.

This has only been tested on the Acer C7, but should work without modification on any X86 chromebook (Pixel, Samsung Series 5, etc). The Samsung ARM chromebook cannot use the cb-netinstall script (because that script adds #! repos that are intel-only), you'd have to install the packages from Debian ARM repos manually.
   
My contribution to this effort has been writing this guide. Many other, smarter people have written brilliant tools that this guide vastly underuses. Read their documentation, ask questions, and improve things. Support free and open source software.

And, of course, all intellectual property in this guide is owned by the creators of said intellectual property..

With that out of the way, here's a quick primer on the tools we'll be using to create a #! environment on a Chromebook.
    0. Developer Mode
    1. Chrome OS's own shell, "Crosh"
    2. Dnschneid's Crouton script, which allows us to create chrooted environments based on efforts to make Debian and Ubuntu compatible with Chrome OS system tools and hardware
    3. John Raff's cb-netinstall script, which adds #! Project Lead CoreNominal's repositories to your Debian install, and adds the necessary configuration files and utilities to create a Waldorf environment from a Debian install.
    4. My own method for starting the GUI using an .xinitrc file (if any of you GUI masters out there have a better way of doing this, or adding a graphical login manager, let me know. I'd like that far better).
    5. (OPTIONAL) My own method for adding non-standard trackpad functionality.

This process takes about 3 hours to set up, and I've done it about 10 times in the past two weeks. Don't get discouraged -- much of this can be done in steps, and most steps are well-documented online (or, hopefully, in this guide). It takes a lot of time, but it's easily attainable and a highly educational experience.

0. Developer Mode

I say this is "Step 0" because it's absolutely basic to everything we need to do: Chrome OS won't give you complete shell access unless you're in Developer Mode. Look up how to enter developer mode on your device here: http://www.chromium.org/chromium-os/dev … os-devices
   
When in developer mode, all sorts of things can go wrong. Not to worry, you can easily reflash to standard Chrome OS at boot time. Best practices dictate, regardless, that you really should make a recovery USB drive for Chrome OS in case everything goes terribly and somehow ruins everything. It is unlikely that you will, but it's better to be safe than sorry. smile
   
Whenever your boot your Dev-Mode Chromebook, there'll be a nice big scary screen that says "You're In Developer Mode, to re-enable Verified Boot, press space." That is the ONLY prompt on the screen, there is no "CONINTUE IN DEV MODE" on-screen prompt. You have to consciously pick Dev Mode every time, by pressing "Ctrl-D" at startup. People who don't know what Developer Mode is will press space, because they think it's the only option. The issue is that doing so wipes your Chromebook completely clean. Which is why, once again, you shouldn't let others use your Dev Mode chromebook without your permission.

1. Get familiar with Crosh.

This entire environment hinges on your ability to access Crosh, the Chrome OS shell. Start one up by pressing Ctrl-Alt-T in Chrome OS. To get a standard Bash shell, type "shell" and press enter. Now you're in a UNIX shell, like in #!/Mac OS/etc. Keep your terminal window open for the whole install.
   
2. Run Crouton
   
Next up, download Dnschneid's Crouton script from his GitHub page (https://github.com/dnschneid/crouton). Reading the README is always a good idea. If you donwload the script within Chrome OS, there's only one place to go: ~/Downloads. That allows you to go back to your terminal window (which you kept open, right?), and enter the following command:

       

sudo sh -e ~/Downloads/crouton -r wheezy -t x11

   
It'll download everything you need for a Debian install with x11 preconfigured. The "-t x11" argument, which installs X11, is an absolute necessity if you want power management to work properly (as I learned the hard way). Follow the prompts, and declare a Username and Password at the end. After Crouton finishes installing, from your Chrome OS terminal ("chronos@localhost"), execute
   
       

sudo enter-chroot

   
to enter the chroot.
   
3. Run the cb-netinstall script

When inside the chroot, download and run JohnRaff's #! netinstall script (you may want to use an Ethernet cable to connect to the internet through this phase, some drivers might break your wifi connectivity. That doesn't jeopardize your install, you just have to restart your machine and run the script again, and the script will only install new packages). JohnRaff has posted about this on the forums before, http://crunchbang.org/forums/viewtopic.php?id=25098. This is how you run the script:

wget http://dl.dropbox.com/u/10808732/cb-netinstall.tar.gz
tar -xpf cb-netinstall.tar.gz
cd cb-netinstall
./install

If anything goes wrong, then check the error logs and run the script again. It's possible that a driver will break your wireless connection (as it did mine). Restart your Chromebook, and connectivity should be restored. Enter the chroot and run the script again, and it should complete any remaining configuration.

4. Configure an .xinitrc file so you can start a GUI.

In order to get your chroot from command line to GUI, you have to create and edit your ~/.xinitrc file, which tells the "startx" command which environment to launch. "xinit" should, in theory, work too, but I've never had any luck -- I use startx.
   
    First, create a file at ~/.xinitrc:
   
       

sudo nano ~/.xinitrc

    Add the following to your ~/.xinitrc :

#! /bin/bash
## start openbox session
exec openbox-session

    Save and reboot. You now have an opportunity to practice the way you'll enter your #! environment:
   
    FROM CHROME OS:
        1. open terminal with Ctrl-Alt-T
        2. type "shell" in response to the "crosh>" prompt
        3. type "sudo enter-chroot" at the "chronos@localhost" prompt
        4. type "startx" at the "(wheezy)<user>@localhost" prompt
       
    And now you have a GUI!
   
All of corenominal's scripts and tweaks should run as though it were an actual standard #! install. That's the minimum you need to get #! running on your Chromebook. Congrats! smile

Of course, now you get to have the *real* fun: configuring your #! Chroot to your liking. For me, that meant creating item #5:

5. BONUS: Additional Trackpad Functionality:

If you're like me, coming from a MacBook Pro, some of the Chromebook's trackpad idiosyncracies had to be resolved. I wrote a script to do this, and I added it to my Openbox Autostart file, but you can technically add the specific tweaks to any startup script you like.

    Edit ~/.config/openbox/autostart:
   
    The standard #! autostart file ends like this:

## Run the conky
conky -q

    but what we need to do requires extending the file, and to do that, we must tell the script that there's more to do.
    Add an Ampersand after "-q" so the last few lines look like this

## Run the conky
conky -q &

       
    Then, we need to actually *tell* the touchpad driver to change something. Add the following:

## Enable tap to click
synclient TapButton1=1 &
synclient TapButton2=3 &

       
    And Horizontal Scrolling (2-finger)

## Enable 2-finger horizontal scroll
synclient HorizTwoFingerScroll=1 &

       
    If you want reverse scroll (like in OS X Mountain Lion), add

## Enable reverse scrolling
xmodmap -e "pointer = 1 2 3 5 4"

    Save, and you're done. Reboot, and the changes shall take effect.
   
If you have any questions, reccommendations, or concerns about this script, let me know! I'm always looking for ways to improve it. If you'd like any help setting up your own ChromeBang install, let me know in the forum or on twitter, I'm @brandon_mn.

Offline

#21 2013-08-30 19:02:33

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Yes, it works. I use my ChromeBook in CrunchBang daily. Some things may be more inconvenient, but most functions are there.


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

#22 2013-08-30 19:36:42

av8n
Member
Registered: 2013-08-30
Posts: 14

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Thanks, im gonna install it

Offline

#23 2013-09-07 04:42:08

av8n
Member
Registered: 2013-08-30
Posts: 14

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

brandon_mn:

I just installed chromebang on my acer c7, but i have a few problems:
1. the nm-applet disappeared and I cant view the wireless connections in my area, how do i get it to work?
2. When I try to poweroff or reboot - it say standby and does nothing. When i run

sudo shutdown -h now

or

sudo shutdown -r now

i get the following:

(wheezy)av8n@localhost:~$ sudo shutdown -h now
[sudo] password for av8n: 
shutdown: /run/initctl: No such file or directory
init: /run/initctl: No such file or directory
(wheezy)av8n@localhost:~$ sudo shutdown -r now
shutdown: /run/initctl: No such file or directory
init: /run/initctl: No such file or directory
(wheezy)av8n@localhost:~$ 

How do i get it to reboot or poweroff?

Offline

#24 2013-09-07 13:34:31

brandon_mn
#! Member
From: Minneapolis
Registered: 2012-11-17
Posts: 50
Website

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

To shut down or power off from inside #!, get to the "exit" dialog, and click "logout" instead of "shutdown." Then, to fully exit the chroot, type "exit" in your command line prompt. Power Management needs to be handled by Chrome OS, for some reason, as does file system mounting and network connectivity. To connect to any network, wired or wireless, you have to switch back to Chrome OS and add it from there. The Crouton devs give instructions on this in their README:
Cycle through Chromium OS and your running graphical chroots using Ctrl+Alt+Shift+Back [to switch to Chrome OS] and Ctrl+Alt+Shift+Forward [to switch to #!]. You may have to hit Ctrl+Alt+Shift+Forward twice in order to get back to #!. Any wireless settings you change in Chrome OS will be updated in #!. Also, "Back" is the left-pointing arrow on the top row of your C7's keyboard. "Forward" is the right-pointing one. The designation of these keys stumped me for awhile smile

Thanks for your question! Let me know if I can be of any additional assistance.


"Be well, do good works, and keep in touch" - Garrison Keillor
--
Custom AMD A6-6400k tower (#! Waldorf/Sid)
Acer Chromebook C710 (#! or Fedora)

Offline

Be excellent to each other!

#25 2013-09-07 18:50:49

av8n
Member
Registered: 2013-08-30
Posts: 14

Re: How To: Make a CrunchBook -- CrunchBang on Chrome OS

Brandon_mn:

Thanks for your help.

Instead of clicking logout, you can enter the following to get to chroot

 gdm-control --shutdown && openbox --exit

Type exit to exit chroot.

Then you can type:

sudo shutdown -h now 

or 

sudo shutdown -r now

to exit or reboot respectively.

Is it possible to use the F8, F9, and F10 to control volume on the acer c7? What key would you use to take a screenshot on the acer c7? There is no Prtsc.

Offline

Board footer

Powered by FluxBB

Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.
Server: acrobat

Debian Logo