m (→Building an Emdebian (Embedded Debian) root filesystem for armel) |
(→Building an Emdebian (Embedded Debian) root filesystem for GuruPlug/armel) |
||
Line 2: | Line 2: | ||
== Building an Emdebian (Embedded Debian) root filesystem for GuruPlug/armel == | == Building an Emdebian (Embedded Debian) root filesystem for GuruPlug/armel == | ||
− | + | Many of the distros are dropping support for ARMv5 and when you do find one, today's 'minimal' root filesystem is typically a couple hundred of megabytes. | |
− | + | ||
− | + | Emdebian (Embedded Debian) has the advantage that not only still supporting ARMv5, but it has a multistrap tool that gives the ability to customise the root filesystem on the host and only include the packages you need. | |
− | + | ||
+ | Debian is now my choice for a root filesystem on the GuruPlug. | ||
− | + | To build your root filesystem, create a multistrap configuration file called GuruPlugRootFS.conf and add the following: | |
<PRE> | <PRE> | ||
[General] | [General] | ||
arch=armel | arch=armel | ||
− | directory= | + | directory=guruplug-rootfs |
cleanup=true | cleanup=true | ||
noauth=true | noauth=true | ||
Line 45: | Line 46: | ||
<PRE> | <PRE> | ||
− | # cp /usr/bin/qemu-arm-static | + | # cp /usr/bin/qemu-arm-static guruplug-rootfs/usr/bin |
− | # LC_ALL=C LANGUAGE=C LANG=C chroot | + | # LC_ALL=C LANGUAGE=C LANG=C chroot guruplug-rootfs dpkg --configure -a |
</PRE> | </PRE> | ||
Line 52: | Line 53: | ||
<PRE> | <PRE> | ||
− | # sudo chroot | + | # sudo chroot guruplug-rootfs passwd |
</PRE> | </PRE> | ||
Line 58: | Line 59: | ||
<PRE> | <PRE> | ||
− | # echo guruplug >> | + | # echo guruplug >> guruplug-rootfs/etc/hostname |
</PRE> | </PRE> | ||
Line 64: | Line 65: | ||
<PRE> | <PRE> | ||
− | # echo proc /proc proc defaults 0 0 >> | + | # echo proc /proc proc defaults 0 0 >> guruplug-rootfs/etc/fstab |
</PRE> | </PRE> | ||
Many of the distros are dropping support for ARMv5 and when you do find one, today's 'minimal' root filesystem is typically a couple hundred of megabytes.
Emdebian (Embedded Debian) has the advantage that not only still supporting ARMv5, but it has a multistrap tool that gives the ability to customise the root filesystem on the host and only include the packages you need.
Debian is now my choice for a root filesystem on the GuruPlug.
To build your root filesystem, create a multistrap configuration file called GuruPlugRootFS.conf and add the following:
[General] arch=armel directory=guruplug-rootfs cleanup=true noauth=true unpack=true debootstrap=Emdebian Net Utils aptsources=Emdebian [Emdebian] packages=apt source=http://www.emdebian.org/grip keyring=emdebian-archive-keyring suite=wheezy-grip [Net] #Basic packages to enable the networking packages=netbase net-tools ethtool udev iproute iputils-ping ifupdown isc-dhcp-client ssh source=http://www.emdebian.org/grip [Utils] #General purpose utilities packages=locales adduser nano less wget vim rsyslog dialog source=http://www.emdebian.org/grip
Save and run the multistrap tool:
# multistrap -f GuruPlugRootFS.conf
Now configure the Emdebian packages with the QEMU emulator. This will configure various packages, set your shell and time zone.
# cp /usr/bin/qemu-arm-static guruplug-rootfs/usr/bin # LC_ALL=C LANGUAGE=C LANG=C chroot guruplug-rootfs dpkg --configure -a
Set your root password:
# sudo chroot guruplug-rootfs passwd
Set your hostname:
# echo guruplug >> guruplug-rootfs/etc/hostname
Initialise your fstab:
# echo proc /proc proc defaults 0 0 >> guruplug-rootfs/etc/fstab
If you desire to have a terminal available on the serial/console port, you will need to edit /etc/inittab and modify/uncomment:
# Example how to put a getty on a serial line (for a terminal) # #T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
I use
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100