Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process: Building Raspbian for Raspple II #2

Open
knghtbrd opened this issue Nov 27, 2015 · 2 comments
Open

Process: Building Raspbian for Raspple II #2

knghtbrd opened this issue Nov 27, 2015 · 2 comments

Comments

@knghtbrd
Copy link
Member

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
Copy link

IvanExpert commented Nov 28, 2015 via email

@knghtbrd
Copy link
Member Author

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 [email protected] 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants