From 5c086bc52fa3a226bcf706b1f420a5d98ea377dd Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 15 Dec 2021 10:45:58 +0100 Subject: Redo most of the blog in Hugo Missing posts will have to be added later --- ...17-11-16-perl6-setting-up-a-raspberry-perl.adoc | 236 --------------------- 1 file changed, 236 deletions(-) delete mode 100644 src/_posts/2017-11-16-perl6-setting-up-a-raspberry-perl.adoc (limited to 'src/_posts/2017-11-16-perl6-setting-up-a-raspberry-perl.adoc') diff --git a/src/_posts/2017-11-16-perl6-setting-up-a-raspberry-perl.adoc b/src/_posts/2017-11-16-perl6-setting-up-a-raspberry-perl.adoc deleted file mode 100644 index 7ea72fa..0000000 --- a/src/_posts/2017-11-16-perl6-setting-up-a-raspberry-perl.adoc +++ /dev/null @@ -1,236 +0,0 @@ ---- -date: 2017-11-16 11:58:40 -tags: Tutorial Perl6 RaspberryPi Raku -description: > - In this tutorial I'll get you through setting up a Raspberry Pi with Perl 6. - I am using a Raspberry Pi 3 myself, but other versions should work fine too. - However, older versions are slower, so it might take a bit longer to install - completely. ---- -= Perl 6 - Setting up a Raspberry Perl -:toc: preamble - -In this tutorial I'll get you through setting up a Raspberry Pi with -https://perl6.org/[Perl 6]. I am using a Raspberry Pi 3 myself, but other -versions should work fine too. However, older versions are slower, so it might -take a bit longer to install completely. - -[NOTE] -==== -For those who have never had a Raspberry Pi before, you will need -the following: - -- Raspberry Pi board -- Power supply (5v 2A, micro USB) -- SD card of at least 4gb, but I would advise at least 8gb -- Monitor with HDMI cable -- Keyboard -==== - -Perl 6 will be installed using -https://github.com/tadzik/rakudobrew[Rakudobrew], which I'll also be using to -get https://github.com/ugexe/zef[zef] installed. Zef is the recommended module -manager for Perl 6. - -== Setting up Raspbian - -The first step is getting the OS set up. To keep this tutorial simple, I will -stick to https://www.raspbian.org/[Raspbian], but if you feel confident in your -skills you can use any other distribution or OS. Perl 6 installs the same on -all UNIX(-like) operating systems. - -=== Get the image - -First, https://www.Raspberrypi.org/downloads/raspbian/[download the Raspbian -image from the Raspberry Pi download page]. I chose the `LITE` version, but if -you prefer having a graphical desktop you can go for the `DESKTOP` version -instead. - -At the time of writing, this means I got the -`2017-09-07-raspbian-stretch-lite.zip`. If you want to verify you got the -correct download and nothing went wrong saving it to your disk, you can verify -the checksum. The checksum for your download is noted below the download links. -To get the checksum of the file you downloaded, use `sha256sum` as follows: - -NOTE: Lines prepended with a `$` are to be ran as your normal user, whereas -lines with a `#` are ment to be ran as "super user". This can be done by using -a privilege escalation program, such as -https://www.linux.com/blog/how-use-sudo-and-su-commands-linux-introduction[`sudo`]. - -[source] ----- -$ sha256sum 2017-09-07-raspbian-stretch-lite.zip ----- - -If the checksum matches the one noted below the download button you used, it -should be fine, and you can continue with extracting the image from the zip -using `unzip`: - -[source] ----- -$ unzip 2017-09-07-raspbian-stretch-lite.zip ----- - -This will result in a similarly named file, but with a `.img` extension instead -of `.zip`. This is the image that you can write to the SD card. - -=== Write the image to the SD card - -This step is pretty easy, but typos here can be disastrous for the system -you're using to write to the SD card. - -Open a terminal and run `dmesg -w` as super user (usually doable using `sudo -dmesg -w`). This will give immediate feedback when you insert your SD card, and -shows which device it is being assigned to. In my case, this was `sdb`, which -means the device file resides at `/dev/sdb`. - -Now, to actually write the image, I'll use `dd` since this is everyone's -favourite tool, it seems. If you feel adventurous enough to try out something -different, feel free to read up on -https://www.vidarholen.net/contents/blog/?p=479[Useless Use of dd]. - -Make sure to make the `if` argument point to the correct path with your -extracted raspbian image, and `of` to point to the correct device as identified -earlier. In order to be allowed to run this command, you must be root, which -can be achieved by using `sudo` or `doas` again. - -[source] ----- -# dd bs=4M status=progress if=/path/to/2017-09-07-raspbian-stretch-lite.img of=/dev/sdb -$ sync ----- - -Afterwards, plug it into your Raspberry Pi and attach all cables you might -need. Think of stuff like a keyboard, mouse, monitor, internet, power. Do power -last, as the Raspberry Pi will start immediatly once it receives power. - -=== First boot - -The Raspberry Pi should start booting the moment you supply it with power. If -you attach the HDMI after the power, it's possible you won't have display -working, so make sure HDMI is attached before powering up. - -You'll see some text scrolling by, up to a point where it asks you for a -`login`, and accepts keyboard input. The default username is `pi`, and the -default password is `Raspberry`. You are strongly advised to change the -password upon login, which can be done in the next step. - -=== Configuration - -The Raspberry Pi comes with its own configuration tool, `raspi-config`. Run -this with `sudo` prepended in front of it so you gain the right privileges. I -would advise you to at least change the user password from here. After this you -should go to `Advanced Options` and expand the filesystem. This will grow the -filesystem to the entire SD card's size. - -TIP: To get to the buttons on the bottom (`Select`, `Finish` and `Back`), use -the arrow keys to go left or right. - -You can look around the tool for other interesting things to modify. Once you -are satisfied, go back to the main menu and choose `Finish`. It will ask to -reboot, which you should accept. This will apply all the new configurations you -just made. - -=== Updating and installing additional packages - -It's rare for the system to be completely up to date after installing the image -on the SD card. Additionally, you also need some extra packages in order to get -rakudobrew, and to install Perl 6 itself. For this, we use the package manager -bundled with raspbian, `apt`: - -[source] ----- -# apt update -# apt upgrade ----- - -This will update the package lists, and then upgrade all outdated packages to -their newest versions. You should do this at least once a week to make sure -your system stays up to date. - -Once the upgrades are finished, you can install some new packages which are -needed later on in this tutorial: - -[source] ----- -# apt install git build-essential ----- - -`git` is required to get the rakudobrew repository and is also used by -rakudobrew itself to get the sources needed to build Perl 6 and to install zef. -The `build-essential` package comes with all sorts of tools to build software, -which is required to build Perl 6. - -== Installing Perl 6 - -Now, we've got a working Raspberry Pi installation. We can start doing things -with it, such as playing around with Perl 6. - -=== Setting up Rakudobrew - -Rakudobrew is a nice tool to manage Perl 6 installations on your system. It can -also install `zef` for you, so you don't have to deal with this manually. This -is all documented on the repository's `README.md` file as well, but I'll -explain it here too. I do make a few small tweaks here and there to match my -preferred setup more closely. - -Clone the repository to your system, and add it to your `$PATH` to be able to -use the scripts bundled with it: - -[source] ----- -$ mkdir -p ~/.local/var -$ git clone https://github.com/tadzik/rakudobrew.git ~/.local/var/rakudobrew -$ export PATH=${HOME}/.local/var/rakudobrew/bin:$PATH -$ hash -r ----- - -The `hash -r` call will rehash your PATH, so you can tab-complete `rakudobrew`. -Next, initialize rakudobrew: - -[source] ----- -$ rakudobrew init ----- - -This will give you a notification to automatically load rakudobrew next time. -It is advised you follow that message, so you won't have to do it manually each -time you log in to the system. - -=== Installing Perl 6 with MoarVM backend - -Now that rakudobrew is installed and available to use, it's time to make use of -it to install Perl 6. - -[source] ----- -$ rakudobrew build moar ----- - -=== Installing zef, the module manager - -Getting zef to work isn't much harder than installing Perl 6, but its a lot -faster. You can have rakudobrew take care of this too: - -[source] ----- -$ rakudobrew build zef ----- - -== Final words - -And that should be it, you now have a working Perl 6 installation with the zef -module manager to take care of installing and upgrading modules. Now you just -need to come up with a nice project to work on to start using and learning the -wonders of Perl 6. - -If you need any help on getting started, try the `#perl6` IRC channel on -Freenode, or check out some of the Perl 6 documentation and introduction sites: - -- https://docs.perl6.org/ -- http://perl6intro.com/ - -For starting projects that are easy to start with and can bring quick results, -consider making an IRC bot using -https://github.com/zoffixznet/perl6-IRC-Client[`IRC::Client`], or a small web -application using https://github.com/Bailador/Bailador[`Bailador`]. -- cgit v1.1