mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
3.8 KiB

  1. lvp_ver="0.4.0"
  2. releasedir="${base}/build/${ROCKCFG_ID}/lvp_${lvp_ver}_${ROCKCFG_X86_OPT}"
  3. pkgloop
  4. . scripts/parse-config
  5. PATH="${base}/build/${ROCKCFG_ID}/${toolsdir}/diet-bin:${PATH}"
  6. echo_header "Creating LVP ..."
  7. echo_header "Checking for *.err files ..."
  8. if [ `find "${base}/build/${ROCKCFG_ID}/root/var/adm/logs/" -name '*err' 2>/dev/null | wc -l` -gt 0 ] ; then
  9. echo_status "Found some. This is bad :-("
  10. else
  11. echo_status "None found. Good :-)"
  12. echo_status "(Re)creating releasedir"
  13. rm -rf ${releasedir}
  14. mkdir -p ${releasedir}
  15. chmod 700 ${releasedir}
  16. if [ -f ${base}/target/${target}/${arch}/build.sh ]; then
  17. echo_status "Executing ${arch} specific build instructions."
  18. . ${base}/target/${target}/${arch}/build.sh
  19. fi
  20. echo_status "Creating the live-system"
  21. kernelversion="`grep '\[V\]' ${base}/package/base/linux24/linux24.desc | cut -f2 -d' '`"
  22. echo_status "Creating directory structure"
  23. cd ${releasedir}/livesystem
  24. tar xfI ${base}/build/${ROCKCFG_ID}/pkgs/00-dirtree.tar.bz2
  25. cd usr/
  26. rm -rf X11 X11R6
  27. mkdir X11R6
  28. ln -sf X11R6 X11
  29. cd ..
  30. echo_status "Copying programs"
  31. for x in \
  32. bin/bash \
  33. bin/cat \
  34. bin/find \
  35. bin/gawk \
  36. bin/grep \
  37. bin/gzip \
  38. bin/ln \
  39. bin/loadkeys \
  40. bin/mount \
  41. bin/mv \
  42. bin/rm \
  43. bin/sed \
  44. bin/sh \
  45. bin/uname \
  46. etc/mplayer/mplayer.conf \
  47. lib/modules/${kernelversion}-rock/block \
  48. sbin/agetty \
  49. sbin/hwscan \
  50. usr/share/mplayer/font-arial-24-iso-8859-1 \
  51. usr/X11/bin/XFree86 \
  52. usr/X11/bin/X \
  53. usr/X11/bin/startx \
  54. usr/X11/bin/xauth \
  55. usr/X11/bin/xinit \
  56. usr/X11/bin/xterm \
  57. usr/X11/lib/X11/fonts/misc \
  58. usr/bin/lvp \
  59. usr/bin/mplayer \
  60. usr/bin/tail \
  61. usr/sbin/lspci \
  62. usr/share/kbd/keymaps ; do
  63. mkdir -p ${x%/*}
  64. cp -ar ${base}/build/${ROCKCFG_ID}/root/${x} ${x}
  65. chmod u-s,g-s ${x}
  66. dynamic=`file ${x} | grep -c dynamic`
  67. if [ "${dynamic}" != "0" ] ; then
  68. echo_error "WARNING! ${x} is NOT linked statically!"
  69. fi
  70. done
  71. cd etc/
  72. ln -sf /proc/mounts mtab
  73. cd ..
  74. cd usr/share/mplayer
  75. ln -sf font-arial-24-iso-8859-1 font
  76. cd ../../..
  77. echo_status "Copying linuxrc as init-replacement ..."
  78. cp ${base}/target/${target}/linuxrc ${releasedir}/livesystem/linuxrc ; chmod +x ${releasedir}/livesystem/linuxrc
  79. echo_status "Copying sbin/login-shell ..."
  80. cp ${base}/target/${target}/login-shell ${releasedir}/livesystem/sbin/login-shell ; chmod +x ${releasedir}/livesystem/sbin/login-shell
  81. echo_status "Copying startlvp script ..."
  82. cp ${base}/target/${target}/startlvp ${releasedir}/livesystem/sbin/; chmod +x ${releasedir}/livesystem/sbin/startlvp
  83. echo_status "Copying XF86Config ..."
  84. mkdir -p ${releasedir}/livesystem/etc/X11
  85. cp ${base}/target/${target}/XF86Config ${releasedir}/livesystem/etc/X11/XF86Config
  86. echo_status "Copying xinitrc ..."
  87. mkdir -p ${releasedir}/livesystem/usr/X11R6/lib/X11/xinit
  88. cp ${base}/target/${target}/xinitrc ${releasedir}/livesystem/usr/X11R6/lib/X11/xinit/xinitrc
  89. echo_status "Copying etc scripts ..."
  90. mkdir -p ${releasedir}/livesystem/etc/lvp
  91. for x in ${base}/target/${target}/etc_* ; do
  92. y=${x##*/}
  93. cp ${x} ${releasedir}/livesystem/${y//_/\/}
  94. done
  95. echo_status "Copying kernel modules ..."
  96. cd ${releasedir}/livesystem
  97. tar xfI ${base}/build/${ROCKCFG_ID}/pkgs/linux24.tar.bz2 lib/
  98. cp ${base}/build/${ROCKCFG_ID}/root/sbin/insmod.static ${releasedir}/livesystem/sbin/insmod
  99. for x in kallsyms ksyms lsmod modprobe rmmod ; do
  100. ln -sf /sbin/insmod ${releasedir}/livesystem/sbin/${x}
  101. done
  102. echo_status "Compressing binaries ... "
  103. ${base}/build/${ROCKCFG_ID}/root/usr/bin/upx --best --crp-ms=999999 --nrv2d `find ${releasedir}/livesystem -type f | xargs file | grep "statically linked" | grep -v bin/bash | grep -v bin/mount | cut -f1 -d:` >/proc/$$/fd/1 2>/proc/$$/fd/2 </proc/$$/fd/0
  104. fi
  105. echo_status "LVP v${lvp_ver} built for ${ROCKCFG_X86_OPT} is now ready in ${releasedir}."
  106. cd ${base}