diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile new file mode 100644 index 0000000..f48eb7d --- /dev/null +++ b/platforms/sdk-root/Makefile @@ -0,0 +1,26 @@ +$(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ + iputils file rootfiles file \ + dhcpclient ppp minicom vsftpd rt2870-firmware ntp locales \ + binutils gcc gcc-c++ gcc-cpp make man-db glibc-devel strace \ + sysvinit util-linux module-init-tools \ + procps sed grep net-tools tar bzip2 unzip zip pciutils \ + pam shadow-common pwdutils mingetty \ + NetworkManager cnetworkmanager ModemManager net-tools mc \ + timezone wireless_tools openmamba-release openssh-clients \ + man iptables iputils xinetd less mtd-utils bluez \ + reiserfsprogs reiser4progs ppp usbutils ftp telnet eject \ + tcpdump pcmcia-utils xdg-utils iproute syslog-ng \ + rpm autospec autodist nfs-utils patch sudo smart openmamba-devel \ + pkgconfig diffutils autoconf automake libtool gettext xorg-server \ + tightvnc-server lxde midori +# openmamba-devel +#sudo +$(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug ipw2100-firmware ipw2200-firmware zd1211-firmware \ + rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm eciadsl \ + ndiswrapper slmodem unionfs_utils nfs-utils mbr +$(MAKEDIST_TARGET)-sdk-root-en: +$(MAKEDIST_TARGET)-sdk-root-it: +$(MAKEDIST_TARGET)-sdk-root-es: +$(MAKEDIST_TARGET)-sdk-root-i586: grub2 +$(MAKEDIST_TARGET)-sdk-root-arm: +$(MAKEDIST_TARGET)-sdk-root-ppc: yaboot diff --git a/platforms/sdk-root/Makefile.defs b/platforms/sdk-root/Makefile.defs new file mode 100644 index 0000000..99d3c52 --- /dev/null +++ b/platforms/sdk-root/Makefile.defs @@ -0,0 +1,16 @@ +# Fake requirement as no arm bootloader is present +bootloader = bash + +# xorg +xorglibGL = libGL-Mesa-dri +# libGL-fglrx-X11 libGL-nvidia-X11 libGL-nvidia_71xx-X11 libGL-nvidia_96xx-X11 libGL-nvidia_173xx-X11 +xorglibglx = xorg-ext-libglx +# xorg-ext-libglx-nvidia xorg-ext-libglx-nvidia_71xx xorg-ext-libglx-nvidia_96xx xorg-ext-libglx-nvidia_173xx +#libGLcore.so.1 = xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx +#libnvidia-tls.so.1 = xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx +xorgdrvvideo = xorg-drv-video-fbdev +# xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau +xorgdrvinput = xorg-drv-input-keyboard xorg-drv-input-mouse xorg-drv-input-synaptics xorg-drv-input-void xorg-drv-input-evdev +libGL.so.1 = libGL-Mesa-dri +libGLU.so.1 = libGL-Mesa-dri +dhcpclient = dhcpcd diff --git a/platforms/sdk-root/post.inc.sh b/platforms/sdk-root/post.inc.sh new file mode 100644 index 0000000..83aaa11 --- /dev/null +++ b/platforms/sdk-root/post.inc.sh @@ -0,0 +1,98 @@ +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +#sed -i 's,^\([1-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[1-6]:.*/d' $MOUNTDIR/etc/inittab + +if [ "$ARCH" == "arm" ]; then + INITTAB_TTY="ttyS0 ttyAMA0" +else + INITTAB_TTY="tty1 tty2 tty3" +fi +n=0 +for t in ${INITTAB_TTY}; do +n=`expr $n + 1` +echo "${n}:2345:respawn:/sbin/mingetty --autologin root --noclear ${t}" >> $MOUNTDIR/etc/inittab +done + +# add default sdk user +chroot $MOUNTDIR useradd sdk -G sysadmin,packager + +# configure default root password +echo "sdk" | chroot $MOUNTDIR passwd root --stdin + +# configure default sdk password +echo "sdk" | chroot $MOUNTDIR passwd sdk --stdin + +## add fstab entries +#cat >> $MOUNTDIR/etc/fstab << _EOF +##/dev/hda1 /mnt/cf0 auto defaults 1 1 +#/dev/mmcblk0p1 /mnt/sd0 auto defaults 1 1 +#_EOF +#mkdir $MOUNTDIR/mnt/cf0 $MOUNTDIR/mnt/sd0 + +# enable network manager +chroot $MOUNTDIR chkconfig --add NetworkManager + +# disable nfs +chroot $MOUNTDIR chkconfig --del nfslock +chroot $MOUNTDIR chkconfig --del portmap + +# remove some services +rm -f $MOUNTDIR/etc/rc?.d/???{iptables,acpid} + +# configure vncserver + cat >> $MOUNTDIR/etc/sysconfig/vncservers << _EOF +VNCSERVERS="1:root" +export USER=root +_EOF + + cat >> $MOUNTDIR/etc/tightvncserver.conf << _EOF +\$geometry = "800x480" +_EOF +chroot $MOUNTDIR chkconfig --add vncserver +chroot $MOUNTDIR chkconfig --level 345 vncserver on + +mkdir -p $MOUNTDIR/etc/X11/xinit/ +echo "startlxde" > $MOUNTDIR/etc/X11/xinit/xinitrc +chmod +x $MOUNTDIR/etc/X11/xinit/xinitrc + +cat > $MOUNTDIR/usr/bin/X-vncserver << _EOF +#!/bin/bash +vncserver +_EOF +chmod +x $MOUNTDIR/usr/bin/X-vncserver + +# copy qemu-static +cp /usr/bin/qemu-arm.static $MOUNTDIR/usr/bin/qemu-arm +cp /usr/bin/qemu-arm.static $MOUNTDIR/usr/bin/qemu-arm-suid +chmod 4755 $MOUNTDIR/usr/bin/qemu-arm-suid +cat > $MOUNTDIR/bin/sudo-qemu << _EOF +#!/bin/sh +/usr/bin/qemu-arm-suid /usr/bin/sudo \$@ +_EOF +chmod +x $MOUNTDIR/bin/sudo-qemu + +# set localtime (default to Europe/Berlin) +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=Europe/Berlin ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp /usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# update module dependencies +chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# create universal initramfs +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# don't remove static qemu for this platform +QEMU_COPIED_FOR_INST=0 + +prelink diff --git a/platforms/sdk-root/pre.inc.sh.bak b/platforms/sdk-root/pre.inc.sh.bak new file mode 100644 index 0000000..f980d6f --- /dev/null +++ b/platforms/sdk-root/pre.inc.sh.bak @@ -0,0 +1,20 @@ +# produce archive image for embedded root filesystem +# +MEDIA_NAME=`media_name` + +# embedded target +create_rpm_database +install_rpms "$INSTALL_PACKAGES" "--nodeps --noorder --noscripts" +INSTALLED=$INSTALL_PACKAGES + +[ "$MOUNTDIR" -a "$MOUNTDIR" != "/" ] && rm -rf $MOUNTDIR/var/lib/rpm +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ + +produce_media + +echo "- generating MD5 sum for ${MEDIA_NAME}" +md5sum $LOCALSTATEDIR/$MEDIA_NAME > $LOCALSTATEDIR/.$MEDIA_NAME.MD5 + +exit 0 diff --git a/platforms/sdk-root/settings.inc b/platforms/sdk-root/settings.inc new file mode 100644 index 0000000..af926b3 --- /dev/null +++ b/platforms/sdk-root/settings.inc @@ -0,0 +1,13 @@ +KERNEL_EXTRAVER=mamba-${ARCH} +KERNEL_ADDITIONAL= +KERNEL_IGNORE=true +#APPLICATION_TARGET="sdk-root" +#MEDIA=qemu +MEDIA=archive_gz +#ARCH=arm +#INSTALL_PACKAGES="bash" +BUILD_MISSING=true +TARGET_HOSTNAME=${ARCH}-sdk +#rpmextraargs="--noscripts" +DEBUG=1 +#RPM=rpm5