Difference between revisions of "IoTGateway/BSP/Linux/Quark/BuildingDebianJessieRootfs"

From ESS-WIKI
Jump to: navigation, search
Line 6: Line 6:
 
-->
 
-->
  
= Host Required =
+
= Prerequisites =
== Ubuntu 14.04 LTS ==
+
 
:All building procedures are verified in Ubuntu 14.04 LTS.
+
== image-full-quark.ext3 ==
 +
 
 +
:extract from [[IoTGateway/BSP/Linux/Quark/Yocto_LBV2_User_Guide#Prebuilt_image_pack|prebuilt image pack]] or [[IoTGateway/BSP/Linux/Quark/Yocto_LBV2_User_Guide#To_build_all_image_files|build a new one]]
  
 
= Building Procedures =
 
= Building Procedures =
  
== first stage rootfs ==
+
== first stage ==
 +
 
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 31: Line 34:
 
sudo cp /etc/resolv.conf $ROOTFS/etc
 
sudo cp /etc/resolv.conf $ROOTFS/etc
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
== second stage ==
  
== second stage rootfs ==
 
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 70: Line 73:
 
logout
 
logout
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== post-config ==
 
== post-config ==
 +
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo rm $ROOTFS/etc/resolv.conf
 
sudo rm $ROOTFS/etc/resolv.conf
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
[[Category:Editor]]
 
[[Category:Editor]]

Revision as of 09:36, 1 November 2017


Prerequisites

image-full-quark.ext3

extract from prebuilt image pack or build a new one

Building Procedures

first stage

SID=jessie
IMAGE=./image-$SID-quark.ext3
IMAGE_FULL=./image-full-quark.ext3
ROOTFS=~/rootfs
dd if=/dev/zero of=$IMAGE bs=1G count=1
dd if=$IMAGE_FULL of=$IMAGE bs=1M conv=notrunc,noerror
e2fsck -f -y $IMAGE
resize2fs $IMAGE
mkdir $ROOTFS
sudo mount -o loop $IMAGE $ROOTFS
pushd $ROOTFS
sudo rm -rf *[^lib]
sudo rm -rf lib/!(modules|firmware)
sudo debootstrap --arch=i386 --foreign $SID $ROOTFS
sudo cp /etc/resolv.conf $ROOTFS/etc

second stage

HOME=/root sudo chroot $ROOTFS /bin/bash --login -i
SID=jessie
export LANG=C
/debootstrap/debootstrap --second-stage
cat <<EOT > /etc/apt/sources.list
deb http://ftp.uk.debian.org/debian $SID main contrib non-free
deb-src http://ftp.uk.debian.org/debian $SID main contrib non-free
deb http://ftp.uk.debian.org/debian $SID-updates main contrib non-free
deb-src http://ftp.uk.debian.org/debian $SID-updates main contrib non-free
deb http://security.debian.org/debian-security $SID/updates main contrib non-free
deb-src http://security.debian.org/debian-security $SID/updates main contrib non-free
EOT
apt-get update
apt-get install locales dialog
dpkg-reconfigure locales
apt-get install ntpdate
sed -i "s/^root:[^:]\+:/root::/" /etc/shadow
echo "quark" > /etc/hostname
cat >> /etc/network/interfaces << EOT
 
auto eth0
iface eth0 inet dhcp
EOT
 
sed -i "s/# \"\\\e\[1~\"/\"\\\e\[1~\"/" /etc/inputrc; \
sed -i "s/# \"\\\e\[4~\"/\"\\\e\[4~\"/" /etc/inputrc; \
sed -i "s/# \"\\\e\[3~\"/\"\\\e\[3~\"/" /etc/inputrc; \
sed -i "s/# \"\\\e\[5~\"\: history/\"\\\e\[A\": history/" /etc/inputrc; \
sed -i "s/# \"\\\e\[6~\"\: history/\"\\\e\[B\": history/" /etc/inputrc
 
sed -i '/^# .*dircolors/s/^# //; /^# .*LS_OPTIONS/s/^# //;' /root/.bashrc
sed -i "s/\xf0\x0f\xb1\x8b/\x90\x0f\xb1\x8b/g" /lib/i386-linux-gnu/libpthread-2.19.so
sed -i '/\[Service\]/a Environment="TERM=xterm"' "/lib/systemd/system/serial-getty@.service"
logout

post-config

sudo rm $ROOTFS/etc/resolv.conf