CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait rw"
where ttyS0 is the the initial console, and the second partition of the SD card (mmcblk0p2) is where the Debian root filesystem is. We need a couple of tools available in our development machine : sudo apt-get install qemu-arm-static debootstrap binfmt-support
mount the SD, described in building a bootable SD card for Banana Pi sudo mount /dev/sdb2 /mnt
start the debootstrap process:
sudo debootstrap --arch=armhf --foreign wheezy /mnt
Once this process is done, chroot into the filesystem and continue onto the second stage. One key binary is the qemu-arm-static, which emulates an armhf machine within the chroot, to continue the process. sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin/
sudo chroot /mnt
now continue the debootstrap process in the chrooted environment:
/debootstrap/debootstrap --second-stage
when the process is finished, its time to update apt.
cat >/etc/apt/sources.lst <<EOF
deb http://ftp.uk.debian.org/debian stable main contrib non-free
deb-src http://ftp.uk.debian.org/debian stable main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
EOF
and then update :
apt-get update
configure locales
apt-get install locales dialog
dpkg-reconfigure locales
setup root password :
passwd
setup hostname :
echo BP-A20> /etc/hostname
Preapare inittab to spawn a login on console ( /dev/ttyS0 ):
echo T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100 >> /etc/inittab
setup loopback and eth0 interfaces:
cat > /etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
EOF
setup /etc/fstab :
cat > /etc/fstab <<EOF
/dev/mmcblk0p1 /boot vfat defaults 1 1
/dev/mmcblk0p2 / ext4 errors=remount-ro 0 1
EOF
install a few useful tools :
apt-get install openssh-server ntp vim
exit from chroot, back to the host:
exit
sudo rm /mnt/usr/bin/qemu-arm-static
now copy the modules, uImage and script.bin
sudo cp -av /tmp/lib/modules /mnt/lib/
sudo sync
sudo umount /mnt
sudo mount /dev/sdb1 /mnt
now its time to copy the uImage which was built in this post and script.bin from here./mnt should now look like this:
-rwxr-xr-x 1 root root 50624 Nov 30 08:17 script.bin
-rwxr-xr-x 1 root root 3033152 Nov 30 08:18 uImage
now unmount the SD
sudo sync
sudo umount /mnt
the SD card is now ready to boot.
No comments:
Post a Comment