#!/bin/sh set -x fsdir=rootfs-f10 # prepare root fs mkdir -p $fsdir/dev mknod $fsdir/dev/console c 5 1 mknod $fsdir/dev/null c 1 3 mknod $fsdir/dev/zero c 1 5 mkdir -p $fsdir/var/lib/yum mkdir -p $fsdir/var/log # install packages yum --disablerepo=* --enablerepo=f10 --installroot=`pwd`/$fsdir -y install fedora-release gcc initscripts redhat-rpm-config yum openssh-server dhclient rpm vim-minimal 2>&1 | tee $fsdir.log # post-processing steps cat > $fsdir/etc/fstab << EOF /dev/root / nfs defaults 1 1 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 EOF cat > $fsdir/etc/hosts << EOF 127.0.0.1 localhost localhost.localdomain EOF # Set root password to "nosoup4u" perl -pi -e "s/^root:\*:/root:AiEQUTZNZqvBQ:/" $fsdir/etc/passwd # Add a guest account echo guest::500:500:Guest User:/:/bin/bash >> $fsdir/etc/passwd cat > $fsdir/etc/resolv.conf << EOF nameserver 4.2.2.2 EOF cat > $fsdir/etc/sysconfig/network << EOF NETWORKING=yes HOSTNAME=fedora-arm EOF # First time convert passwd to shadow cat >> $fsdir/etc/rc.sysinit << EOF if [ ! -f /etc/shadow ]; then pwconv fi EOF # Add /etc/event.d/ttyS0 cat > $fsdir/etc/event.d/ttyS0 << EOF start on stopped rc2 start on stopped rc3 start on stopped rc4 stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/agetty /dev/ttyS0 115200 vt100-nav EOF # Add ttyS0 to securetty echo ttyS0 >> $fsdir/etc/securetty # shared writable mmap does not work on jffs2. Hence we need this cat > $fsdir/etc/rpm/macros.rpmdb << EOF %__dbi_cdb create private nommap EOF # Create eth0 configuration cat > $fsdir/etc/sysconfig/network-scripts/ifcfg-eth0 << EOF DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes NAME=eth0 EOF # Switch-on network by default chroot $fsdir chkconfig network on