RasppleII / rasppleii

Rasppleii II
9 stars 3 forks source link

Process: Building Raspbian for Raspple II #2

Open knghtbrd opened 8 years ago

knghtbrd commented 8 years ago

This is still in-progress as I haven't ever really done this before and I don't actually know what I'm doing yet. :)

https://www.debian.org/releases/stable/i386/apds03.html.en describes how to bootstrap a Debian distribution using debootstrap, which I already had ultimately because of git-buildpackage. I swapped it for cdebootstrap which is apparently regarded as moar bettar because … reasons.

Then, to give myself some breathing room, I plugged in a USB spinning platter drive and partitioned and formatted it, paying attention to the UUID given to me by mkfs.ext4. I then created /srv/chroot and added a line to my /etc/fstab thusly:

UUID=7a354c22-a320-46b9-b00a-53c2e38f280f /srv/chroot ext4 defaults 0 0

If you repeat these instructions, your UUID will obviously be different. :) FWIW, I also created a 4GB swap partition on the USB drive because I actually use epiphany-browser and kinda get sick of watching it crash when some JavaScript laiden pages fill the 1GB of RAM and paltry 100MB swap file. I'm assuming knowledge of how to do such things (or find out how) as a prerequisite here.

I then ran these command lines:

sudo mkdir -p /srv/chroot/raspbian-{wheezy,jessie}
sudo cdebootstrap -k /usr/share/keyrings/raspbian-archive-keyring.gpg --arch armhf wheezy /srv/chroot/raspbian-wheezy http://mirrordirector.raspbian.org/raspbian
sudo cdebootstrap -k /usr/share/keyrings/raspbian-archive-keyring.gpg --arch armhf jessie /srv/chroot/raspbian-jessie http://mirrordirector.raspbian.org/raspbian

From here you need to mount /proc and /sys, and bind /dev. We'll be using udev, so a bind mount is perfectly acceptable for the purpose. From there you need to set up some default config files (fstab, etc) and actually build up the distribution.

I think my first goal is a reproducable build of a Raspbian tarball. Since packages have been upgraded, it'll mean a dist-upgrade on the version shipped with NOOBS (and /etc/apt/sources.list edited to use wheezy for the wheezy version). Once I can do that in a script, we can start modifying the script for Raspple II.

This may be of interest to @IvanExpert I think. :)

IvanExpert commented 8 years ago

Definitely of interest. I'm gonna have to read it very slowly to understand it, though...

knghtbrd commented 8 years ago

I didn't get any further with it yet because of the holiday and hardware setup. Both the nettop I bought on eBay (which because of missing AC adapter and bad HD is going to cost me the price of a new nettop-class PC!) and my Pi 2 now run Jessie. And with the Mac crash, it no longer has the tools for reprepro to build, so I'm putting that on shiro (the nettop).

Meanwhile I've figured out how to use git-buildpackage (gbp) to properly import Debian packages into git for me, and to build in a minimal chroot environment, including installing build deps. This took some doing for Raspbian and will take a little more (now that I know how) for Raspple II. Used it to build unar for wheezy out of git, on a Jessie system.

The last piece of that is the automation of the archive which I currently have to manually import .changes files into, sign, and sync with blocksfree (a DreamHost domain.)

What it needs to be able to do is grab files out of an incoming directory hosted somewhere convenient, add them to the pool, sign the thing, and have the results be available on blocksfree without having the archive key (which cannot require a passphrase to use) be anywhere near a machine someone can access on the Internet.

I think sshfs is my answer there—the automation script already exists if it was all happening on one machine.

Then there's the GnuPG mini-HOWTO so that people who don't understand GnuPG can begin to. (It's actually pretty easy if the introduction part I already wrote makes any sense at all. :)

Joseph Sent via mobile

On Nov 28, 2015, at 09:36, IvanExpert notifications@github.com wrote:

Definitely of interest. I'm gonna have to read it very slowly to understand it, though... — Reply to this email directly or view it on GitHub.