rootfs: new target ported from openmamba target

This commit is contained in:
Silvan Calarco 2013-02-28 16:04:59 +01:00
parent 0568f1bf0b
commit 204b09363f
6 changed files with 253 additions and 0 deletions

44
platforms/rootfs/Makefile Normal file
View File

@ -0,0 +1,44 @@
$(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \
kppp4 desktop-base-kde4 \
ksnapshot okular desktop-base-kde4 kmix4 \
kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \
libqt4-sqlite kate ark4 kcalc4 kdf4 kfloppy4 kgpg4 \
kaffeine kamoso
$(MAKEDIST_TARGET)-$(PLATFORM)-arm: \
kernel-iconia kernel-iconia-modules kernel-hannspad kernel-hannspad-modules \
kernel-mamba-arm kernel-mamba-arm-sound kernel-mamba-arm-wireless \
kernel-mamba-arm-firmware brcm_patchram
$(MAKEDIST_TARGET)-$(PLATFORM)-i586: \
kernel-mamba kernel-mamba-sound kernel-mamba-wireless \
kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless
$(MAKEDIST_TARGET)-$(PLATFORM): \
$(MAKEDIST_TARGET)-$(PLATFORM)-kde4 openssh-server usbutils wireless_tools i2c-tools \
parted iputils file rootfiles ppp minicom xinetd chrony locales mc \
man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \
openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \
openmamba-devel timezone sudo syslog-ng sysvinit kmod \
liblame expect prelink NetworkManager ModemManager procps \
xorg-server x11vnc xkeyboard-config screen \
xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \
dhcp-server rfkill plymouth livecd-tools chromium rdesktop mingetty \
postplug-xorg postplug-sound gparted tar net-tools chrony mambatray kvkbd
# startactive
# tightvnc-server lxde network-manager-applet matchbox-keyboard midori Mesa-tools alsa-utils
# embedded-devel embedded-debug \
#mkfontscale vsftpd
#webmin
# FIXME: expext is a webmin prereq
# libACE: customer request
# NetworkManager strace gpsd
# Localization targets
$(MAKEDIST_TARGET)-$(PLATFORM)-en: \
kde-l10n-en_GB
$(MAKEDIST_TARGET)-$(PLATFORM)-es: \
kde-l10n-es
$(MAKEDIST_TARGET)-$(PLATFORM)-it: \
kde-l10n-it

View File

@ -0,0 +1,24 @@
# 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
#ifeq ($(ARCH),arm)
#xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-tegra
#endif
## ffmpeg / libav
#libpostproc.so.51 = libpostproc-ffmpeg
#libpostproc.so.51[LIBPOSTPROC_51] = libpostproc-ffmpeg
#ffmpegpresets := ffmpeg-presets
## kde
#sopranobackend = soprano-backend-virtuoso
#libphonon.so.4 = libphonon
#phonon_backend = phonon-backend-gstreamer
#
#networkmanagergui = plasma-applet-networkmanagement

View File

@ -0,0 +1,130 @@
# add fstab entries
#cat >> $MOUNTDIR/etc/fstab << _EOF
#/dev/mmcblk0p1 /mnt/sd0 auto defaults,noauto 0 0
#_EOF
#mkdir $MOUNTDIR/mnt/{ndda1,ndda2,sd0,sda1,sda2}
# disable nfs
#chroot $MOUNTDIR chkconfig --del nfslock
#chroot $MOUNTDIR chkconfig --del portmap
#chroot $MOUNTDIR chkconfig --del ts-calibrate
## disable random
#chroot $MOUNTDIR chkconfig --del random
## enable ftp server
#sed -i "s|\(.*disable[[:space:]]*= \)yes|\1no|" $MOUNTDIR/etc/xinetd.d/vsftpd
#sed -i "s|#local_enable|local_enable|" $NOUNTDIR/etc/vsftpd.conf
#sed -i "s|#write_enable|write_enable|" $NOUNTDIR/etc/vsftpd.conf
#sed -i "/root/d" $MOUNTDIR/etc/vsftpd/user_list
#sed -i "/root/d" $MOUNTDIR/etc/vsftpd/chroot-list
## remove alsa configuration for now
#rm $MOUNTDIR/etc/asound.conf
# remove some services
#rm -f $MOUNTDIR/etc/rc?.d/???{iptables,acpid}
## generate RPM scripts first time execution
#make_rpm_first_time_script "\
#chkconfig --del acpid
#chkconfig --del alsa
#chkconfig --del iptables
#chkconfig --del nfslock
#chkconfig --del portmap
#"
## use system default language
#> $MOUNTDIR/etc/sysconfig/i18n
# 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
if [ ! "$KERNEL_IGNORE" ]; then
# run depmod
chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}-${KERNEL_EXTRAVER}
fi
# disable automatic depmod and ldconfig execution on boot (also due to clock error)
cat >> $MOUNTDIR/etc/sysconfig/rc << _EOF
no_auto_depmod=1
no_auto_ldconfig=1
_EOF
# configure touchscreen
cat > $MOUNTDIR/etc/ts-calibrate.conf << _EOF
TSLIB_CONFFILE=/etc/ts.conf
TSLIB_CONSOLEDEVICE=none
TSLIB_FBDEVICE=/dev/fb0
TSLIB_TSDEVICE=/dev/input/event0
TSLIB_CALIBFILE=/etc/pointercal
HOME=/root
_EOF
# 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:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab
sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab
sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyS0 115200,' $MOUNTDIR/etc/inittab
sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 115200,' $MOUNTDIR/etc/inittab
sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 115200,' $MOUNTDIR/etc/inittab
#sed -i '/^[5-6]:.*/d' $MOUNTDIR/etc/inittab
# configure for runlevel 5 boot
sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab
# configure KDM for autologin
#
if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then
sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \
$MOUNTDIR/opt/kde/share/config/kdm/kdmrc
sed -i 's|[#]*AutoReLogin=.*|AutoReLogin=true|' \
$MOUNTDIR/opt/kde/share/config/kdm/kdmrc
sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \
$MOUNTDIR/opt/kde/share/config/kdm/kdmrc
fi
# set timezone according to LANGUAGE (default is UTC)
#
case $LANGUAGE in
it) timezone=Europe/Rome ;;
es) timezone=Europe/Madrid ;;
*) timezone=UTC ;;
esac
echo $timezone > $MOUNTDIR/etc/timezone
cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime
# configure favorites in kde menu
for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applications/kaffeine.desktop; do
chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f
done
# remove some documentation to save space
for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do
find $MOUNTDIR/usr/share/doc -name $f -exec rm -f {} \;
done
# disable filesystem autocheck due to a kernel bug in hannspad (blkid generated kernel crash)
if [ "$ARCH" = "arm" ]; then
sed -i "s|FS_PARTS_UPDATE=yes|FS_PARTS_UPDATE=no|" $MOUNTDIR/etc/sysconfig/postplug
sed -i "s|FS_SWAP_UPDATE=yes|FS_SWAP_UPDATE=no|" $MOUNTDIR/etc/sysconfig/postplug
fi
# FIXME: this should be done by postplug only when touchscreen is detected
mkdir -p $MOUNTDIR/home/liveuser/.icons/default
cat > $MOUNTDIR/home/liveuser/.icons/default/index.theme << _EOF
[Icon Theme]
Inherits=xcursor-transparent
_EOF
# configure default liveuser password
echo "openmamba" | chroot $MOUNTDIR passwd liveuser --stdin
prelink

View File

@ -0,0 +1,30 @@
#ddns-update-style ad-hoc;
ignore client-updates;
subnet 10.99.99.0 netmask 255.255.255.0 {
# --- default gateway
# option routers 192.168.0.254;
# option subnet-mask 255.255.255.0;
#
# option nis-domain "domain.it";
# option domain-name "domain.it";
# option domain-name-servers 192.168.0.254;
#
# option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.0.1;
# option netbios-name-servers 192.168.0.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
#
range dynamic-bootp 10.99.99.100 10.99.99.199;
default-lease-time 21600;
max-lease-time 43200;
#
# # we want the nameserver to appear at a fixed address
# host ns {
# next-server dns.domain.it;
# hardware ethernet 01:23:45:67:89:AB;
# fixed-address 1.2.3.4;
# }
}

View File

@ -0,0 +1,3 @@
# Command line options here
DHCPDIFS="usb0"
DHCPDARGS=

View File

@ -0,0 +1,22 @@
if [ "$ARCH" = "arm" ]; then
KERNEL_EXTRAVER=
#KERNEL_PLATFORM=""
KERNEL_ADDITIONAL=""
KERNEL_IGNORE=true
elif [ "$ARCH" = "i586" ]; then
KERNEL_EXTRAVER=mamba
KERNEL_PLATFORM=""
#KERNEL_ADDITIONAL="extramodules sound"
KERNEL_MORE_EXTRAVER=mamba-64GB
fi
APPLICATION_TARGET=""
MEDIA=archive_xz
#ARCH=arm
#INSTALL_PACKAGES="bash"
BUILD_MISSING=true
TARGET_HOSTNAME=openmamba-rootfs
#rpmextraargs="--noscripts"
#DEBUG=1
#DEVEL=1
KEEP_RPM=1
#RPM=rpm