(→Building an Emdebian (Embedded Debian) root filesystem for GuruPlug/armel) |
(Added UBI/MTD Utilities) |
||
Line 81: | Line 81: | ||
<PRE> | <PRE> | ||
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100 | T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100 | ||
+ | </PRE> | ||
+ | |||
+ | If you are planning on making an [[GuruPlug_Building_RootFS|UBI filesystem]] it may be advantageous to add your UBI MTD utilities at this stage. We have [[Cross_Compiling_MTD_Utils_for_ARM|instructions to build them here]], or you can use some with prepared earlier: | ||
+ | |||
+ | <PRE> | ||
+ | wget http://wiki.beyondlogic.org/prebuilt/mtdutils-1.5.0-arm-linux-gnueabi.tar.bz2 | ||
+ | tar -xjf mtdutils-1.5.0-arm-linux-gnueabi.tar.bz2 -C guruplug-rootfs | ||
</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
If you are planning on making an UBI filesystem it may be advantageous to add your UBI MTD utilities at this stage. We have instructions to build them here, or you can use some with prepared earlier:
wget http://wiki.beyondlogic.org/prebuilt/mtdutils-1.5.0-arm-linux-gnueabi.tar.bz2 tar -xjf mtdutils-1.5.0-arm-linux-gnueabi.tar.bz2 -C guruplug-rootfs