(13th Sep, 2013 08:32 AM)A_Porcupine Wrote: [ -> ]Just wondering if there's a development guide currently or even just a "Build from scratch" document for Beta 1.1?
you can install raspbian from scratch by using 'debootstrap' method. you can use minbase variant with additional packages as ifupdown, upstart, netbase. this will prepare base filesystem structure and unpack .deb packages. this stage takes a looong time on RPI, you can do it from your regular PC running debian based linux distribution (Debian, Ubuntu …). you would run command
Code:
debootstrap --arch=armhf --variant=minbase --include=ifupdown,netbase,iproute,busybox,openssh-server --foreign jessie ./ http://archive.raspbian.org/raspbian
(this will grab jessie packages (successor to Wheezy). you can change jessie for "wheezy", or even "sid". sid will come after jessie)
then you need actually to do the final install step for prepared packages. so you copy all content of your folder with debootstrapped rootfs to you RPI. if you are on Beta2, you don't need additional SD card, just create sub-volume on your existing install
Code:
sudo -i
btrfs-auto-snapshot createvol jessie
btrfs-auto-snapshot createvol jessie/@
copy files over to this jessie/@ subvolume
Code:
sudo -i
mkdir /mnt/jessie
mount -o subvol=jessie/@ /dev/root /mnt/jessie
rsync -avx /my/folder/where/i/did/the/first/part/with/debootstrap /mnt/jessie/
then you chroot into this new rootfs (in half prepared stage) and finish the debootstrap install
Code:
sudo -i
chroot /mnt/jessie /debootstrap/debootstrap --second-stage
after this step, you can boot into your new clean and fresh raspbian/debian jessie installation. just change rootfsopts=subvol=root/@ in cmdline.txt to rootfsopts=subvol=jessie/@ and reboot.
then set configuration for eth0 in /etc/network/interfaces, bring up network. edit sources.list of apt by adding xbian repository and try to install packages.
the biggest issue there is not how, but install the proper packages after (to make xbmc and others run successfully without issues). last time I was doing this I tried to update all the dependencies for XBian packages to include even the core packages to allow this kind of install, but it's possible some are still missing.
so you take one day and enjoy it by testing functions (specially from xbian-package-config-shell) one by one and in case of not working, checking the code what utility is used there and is probably missing in your new system. what I remember is that the steps I wrote here will produce cca 200Mb large rootfs - looking good, having what we need. but then you starts installing XBian packages. xbian-package-config-shell is quite nasty as few dependencies will be expanded to almost 150Mb of additional packages after installation.
maybe it would be interesting sub-project to recheck/rewrite xbian-config by using as minimal toolset as possible. to create list of utils we strictly need for other packages (like perl, python, grep, sh …) and then to try to fit xbian-config to those utils.
don't forget to document missing steps/packages to allow XBian deb packages dependencies update to allow easy install from scratch. later net-installer can be easily written to provide installation over internet only by providing .img file of /boot partition - having the mini-system debootstrap capable on initram filesystem (15-20mb).