Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
HOWTO:Widescreen fbsplash on intel-initramfs
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
IvanMajhen
Guru
Guru


Joined: 10 Jun 2006
Posts: 392
Location: Croatia

PostPosted: Thu Mar 15, 2007 4:35 pm    Post subject: HOWTO:Widescreen fbsplash on intel-initramfs Reply with quote

HOWTO:Widescreen fbsplash on intel-initramfs
ExZombie wrote:


What is the problem?
Integrated video adapters manufactured by Intel have only the most common video modes in their BIOS. Many laptops today have widescreen LCD panels whose native resolution is not in the BIOS. Laptop manufacturers are supposed to modify the BIOS to make it possible to utilize the panel, but most rely on the video driver they provide for Microsoft Windows to provide the modes. Since they don't provide drivers for linux (which I am quite happy with, given their lazyness) those of us who want to use an operating sistem instead of a gaming rig (especially with Intel's graphics :wink: ) have to find alternative solutions.

Why is this metod better?
No need for ext2, initrd,loop and ramdisk support in kernel. This metod is better for those that don't use genkernel and have fbsplash compiled in kernel.

What do we need for this to work?
1. vesafb-tng compiled as module
Code:
<M>   VESA VGA graphics support
  VESA driver type (vesafb-tng)  --->                                           
   (1280x800-16@60) VESA default mode

Compile it and install it. We will need vesafb-tng modules later.
Modules names are vesafb-thread.ko and vesafb-tng.ko

2. nice widescreen fbsplash
You can download nice one (1280x800) from here:
http://www.kde-look.org/content/show.php/TrueNature+Bootsplash+1280x800?content=43840
extract it to /etc/splash

3. 915resolution statically compiled
Code:
tar xvzf /usr/portage/distfiles/915resolution-0.5.2.tar.gz
cd 915resolution-0.5.2
nano Makefile
and add this after CFLAGS:
LDFLAGS:=-s -static

run make

4. minimal busybox http://www.busybox.net/about.html
Code:
wget http://sources.gentoo.org/viewcvs.py/*checkout*/genkernel/trunk/pkg/busybox-1.1.3%2Bgentoo.tar.bz2
tar -xvjf busybox-1.1.3+gentoo.tar.bz2

We wan't a mimimal busybox so that kernel isn't too big
Here is minimal .config:
Code:

#
# Automatically generated make config: don't edit
#
HAVE_DOT_CONFIG=y

#
# Busybox Settings
#

#
# General Configuration
#
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
# CONFIG_FEATURE_VERBOSE_USAGE is not set
CONFIG_FEATURE_INSTALLER=y
# CONFIG_LOCALE_SUPPORT is not set
# CONFIG_FEATURE_DEVFS is not set
# CONFIG_FEATURE_DEVPTS is not set
# CONFIG_FEATURE_CLEAN_UP is not set
# CONFIG_FEATURE_SUID is not set
# CONFIG_FEATURE_SUID_CONFIG is not set
# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
# CONFIG_SELINUX is not set

#
# Build Options
#
CONFIG_STATIC=y
# CONFIG_DISABLE_SHARED is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
# CONFIG_LFS is not set
# USING_CROSS_COMPILER is not set
CROSS_COMPILER_PREFIX=""
EXTRA_CFLAGS_OPTIONS="-Os"
# CONFIG_BUILD_AT_ONCE is not set

#
# Debugging Options
#
# CONFIG_DEBUG is not set
# CONFIG_NO_DEBUG_LIB is not set
# CONFIG_DMALLOC is not set
# CONFIG_EFENCE is not set
# CONFIG_DEBUG_YANK_SUSv2 is not set

#
# Installation Options
#
# CONFIG_INSTALL_NO_USR is not set
CONFIG_INSTALL_APPLET_SYMLINKS=y
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
# CONFIG_INSTALL_APPLET_DONT is not set
PREFIX="./_install"

#
# Busybox Library Tuning
#
CONFIG_MD5_SIZE_VS_SPEED=2

#
# Applets
#

#
# Archival Utilities
#
# CONFIG_AR is not set
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
# CONFIG_BUNZIP2 is not set
# CONFIG_CPIO is not set
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
# CONFIG_GUNZIP is not set
# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
# CONFIG_GZIP is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
# CONFIG_TAR is not set
# CONFIG_FEATURE_TAR_CREATE is not set
# CONFIG_FEATURE_TAR_BZIP2 is not set
# CONFIG_FEATURE_TAR_LZMA is not set
# CONFIG_FEATURE_TAR_FROM is not set
# CONFIG_FEATURE_TAR_GZIP is not set
# CONFIG_FEATURE_TAR_COMPRESS is not set
# CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY is not set
# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
# CONFIG_UNCOMPRESS is not set
# CONFIG_UNLZMA is not set
# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_UNZIP is not set
# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
# CONFIG_FEATURE_DEB_TAR_GZ is not set
# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
# CONFIG_FEATURE_DEB_TAR_LZMA is not set

#
# Coreutils
#
# CONFIG_BASENAME is not set
# CONFIG_CAL is not set
CONFIG_CAT=y
# CONFIG_CHGRP is not set
# CONFIG_CHMOD is not set
# CONFIG_CHOWN is not set
# CONFIG_CHROOT is not set
# CONFIG_CMP is not set
# CONFIG_COMM is not set
# CONFIG_CP is not set
CONFIG_CUT=y
# CONFIG_DATE is not set
# CONFIG_FEATURE_DATE_ISOFMT is not set
# CONFIG_DD is not set
# CONFIG_DF is not set
# CONFIG_DIRNAME is not set
# CONFIG_DOS2UNIX is not set
# CONFIG_UNIX2DOS is not set
# CONFIG_DU is not set
# CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K is not set
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
# CONFIG_ENV is not set
# CONFIG_EXPR is not set
# CONFIG_EXPR_MATH_SUPPORT_64 is not set
# CONFIG_FALSE is not set
# CONFIG_FOLD is not set
# CONFIG_HEAD is not set
# CONFIG_FEATURE_FANCY_HEAD is not set
# CONFIG_HOSTID is not set
# CONFIG_ID is not set
# CONFIG_INSTALL is not set
# CONFIG_LENGTH is not set
CONFIG_LN=y
# CONFIG_LOGNAME is not set
# CONFIG_LS is not set
# CONFIG_FEATURE_LS_FILETYPES is not set
# CONFIG_FEATURE_LS_FOLLOWLINKS is not set
# CONFIG_FEATURE_LS_RECURSIVE is not set
# CONFIG_FEATURE_LS_SORTFILES is not set
# CONFIG_FEATURE_LS_TIMESTAMPS is not set
# CONFIG_FEATURE_LS_USERNAME is not set
# CONFIG_FEATURE_LS_COLOR is not set
# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
# CONFIG_MD5SUM is not set
CONFIG_MKDIR=y
# CONFIG_MKFIFO is not set
CONFIG_MKNOD=y
# CONFIG_MV is not set
# CONFIG_NICE is not set
# CONFIG_NOHUP is not set
# CONFIG_OD is not set
# CONFIG_PRINTENV is not set
# CONFIG_PRINTF is not set
# CONFIG_PWD is not set
# CONFIG_REALPATH is not set
# CONFIG_RM is not set
# CONFIG_RMDIR is not set
# CONFIG_SEQ is not set
# CONFIG_SHA1SUM is not set
# CONFIG_SLEEP is not set
# CONFIG_FEATURE_FANCY_SLEEP is not set
# CONFIG_SORT is not set
# CONFIG_FEATURE_SORT_BIG is not set
# CONFIG_STAT is not set
# CONFIG_FEATURE_STAT_FORMAT is not set
# CONFIG_STTY is not set
# CONFIG_SUM is not set
# CONFIG_SYNC is not set
# CONFIG_TAIL is not set
# CONFIG_FEATURE_FANCY_TAIL is not set
# CONFIG_TEE is not set
# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
CONFIG_TEST=y
# CONFIG_FEATURE_TEST_64 is not set
# CONFIG_TOUCH is not set
# CONFIG_TR is not set
# CONFIG_FEATURE_TR_CLASSES is not set
# CONFIG_FEATURE_TR_EQUIV is not set
# CONFIG_TRUE is not set
# CONFIG_TTY is not set
# CONFIG_UNAME is not set
# CONFIG_UNIQ is not set
# CONFIG_USLEEP is not set
# CONFIG_UUDECODE is not set
# CONFIG_UUENCODE is not set
# CONFIG_WATCH is not set
# CONFIG_WC is not set
# CONFIG_WHO is not set
# CONFIG_WHOAMI is not set
# CONFIG_YES is not set
# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
# CONFIG_FEATURE_AUTOWIDTH is not set
# CONFIG_FEATURE_HUMAN_READABLE is not set
# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set

#
# Console Utilities
#
# CONFIG_CHVT is not set
# CONFIG_CLEAR is not set
# CONFIG_DEALLOCVT is not set
# CONFIG_DUMPKMAP is not set
# CONFIG_LOADFONT is not set
# CONFIG_LOADKMAP is not set
# CONFIG_OPENVT is not set
# CONFIG_RESET is not set
# CONFIG_SETCONSOLE is not set
# CONFIG_SETKEYCODES is not set

#
# Debian Utilities
#
# CONFIG_MKTEMP is not set
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_READLINK is not set
# CONFIG_FEATURE_READLINK_FOLLOW is not set
# CONFIG_RUN_PARTS is not set
# CONFIG_START_STOP_DAEMON is not set
# CONFIG_WHICH is not set

#
# Editors
#
# CONFIG_AWK is not set
# CONFIG_FEATURE_AWK_MATH is not set
# CONFIG_PATCH is not set
CONFIG_SED=y
# CONFIG_VI is not set
# CONFIG_FEATURE_VI_COLON is not set
# CONFIG_FEATURE_VI_YANKMARK is not set
# CONFIG_FEATURE_VI_SEARCH is not set
# CONFIG_FEATURE_VI_USE_SIGNALS is not set
# CONFIG_FEATURE_VI_DOT_CMD is not set
# CONFIG_FEATURE_VI_READONLY is not set
# CONFIG_FEATURE_VI_SETOPTS is not set
# CONFIG_FEATURE_VI_SET is not set
# CONFIG_FEATURE_VI_WIN_RESIZE is not set
# CONFIG_FEATURE_VI_OPTIMIZE_CURSOR is not set

#
# Finding Utilities
#
# CONFIG_FIND is not set
# CONFIG_FEATURE_FIND_MTIME is not set
# CONFIG_FEATURE_FIND_MMIN is not set
# CONFIG_FEATURE_FIND_PERM is not set
# CONFIG_FEATURE_FIND_TYPE is not set
# CONFIG_FEATURE_FIND_XDEV is not set
# CONFIG_FEATURE_FIND_NEWER is not set
# CONFIG_FEATURE_FIND_INUM is not set
# CONFIG_FEATURE_FIND_EXEC is not set
# CONFIG_GREP is not set
# CONFIG_FEATURE_GREP_EGREP_ALIAS is not set
# CONFIG_FEATURE_GREP_FGREP_ALIAS is not set
# CONFIG_FEATURE_GREP_CONTEXT is not set
# CONFIG_XARGS is not set
# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set

#
# Init Utilities
#
CONFIG_INIT=y
# CONFIG_FEATURE_USE_INITTAB is not set
# CONFIG_FEATURE_INIT_SCTTY is not set
# CONFIG_FEATURE_EXTRA_QUIET is not set
# CONFIG_FEATURE_INIT_COREDUMPS is not set
# CONFIG_FEATURE_INITRD is not set
# CONFIG_HALT is not set
# CONFIG_MESG is not set

#
# Login/Password Management Utilities
#
# CONFIG_FEATURE_SHADOWPASSWDS is not set
# CONFIG_USE_BB_SHADOW is not set
# CONFIG_USE_BB_PWD_GRP is not set
# CONFIG_ADDGROUP is not set
# CONFIG_DELGROUP is not set
# CONFIG_ADDUSER is not set
# CONFIG_DELUSER is not set
# CONFIG_GETTY is not set
# CONFIG_FEATURE_UTMP is not set
# CONFIG_FEATURE_WTMP is not set
# CONFIG_LOGIN is not set
# CONFIG_FEATURE_SECURETTY is not set
# CONFIG_PASSWD is not set
# CONFIG_SU is not set
# CONFIG_SULOGIN is not set
# CONFIG_VLOCK is not set

#
# Linux Ext2 FS Progs
#
# CONFIG_CHATTR is not set
# CONFIG_E2FSCK is not set
# CONFIG_FSCK is not set
# CONFIG_LSATTR is not set
# CONFIG_MKE2FS is not set
# CONFIG_TUNE2FS is not set
# CONFIG_E2LABEL is not set
# CONFIG_FINDFS is not set

#
# Linux Module Utilities
#
CONFIG_INSMOD=y
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
# CONFIG_RMMOD is not set
# CONFIG_LSMOD is not set
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
# CONFIG_MODPROBE is not set
# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set

#
# Options common to multiple modutils
#
# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
# CONFIG_FEATURE_2_4_MODULES is not set
CONFIG_FEATURE_2_6_MODULES=y
# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set

#
# Linux System Utilities
#
# CONFIG_DMESG is not set
# CONFIG_FBSET is not set
# CONFIG_FEATURE_FBSET_FANCY is not set
# CONFIG_FEATURE_FBSET_READMODE is not set
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
# CONFIG_FDISK is not set
# FDISK_SUPPORT_LARGE_DISKS is not set
# CONFIG_FEATURE_FDISK_WRITABLE is not set
# CONFIG_FEATURE_AIX_LABEL is not set
# CONFIG_FEATURE_SGI_LABEL is not set
# CONFIG_FEATURE_SUN_LABEL is not set
# CONFIG_FEATURE_OSF_LABEL is not set
# CONFIG_FEATURE_FDISK_ADVANCED is not set
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
# CONFIG_MKFS_MINIX is not set
# CONFIG_FEATURE_MINIX2 is not set
# CONFIG_GETOPT is not set
# CONFIG_HEXDUMP is not set
# CONFIG_HWCLOCK is not set
# CONFIG_FEATURE_HWCLOCK_LONGOPTIONS is not set
# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_LOSETUP is not set
CONFIG_MDEV=y
# CONFIG_FEATURE_MDEV_CONF is not set
# CONFIG_MDSTART is not set
# CONFIG_MKSWAP is not set
# CONFIG_MORE is not set
# CONFIG_FEATURE_USE_TERMIOS is not set
CONFIG_MOUNT=y
# CONFIG_FEATURE_MOUNT_NFS is not set
# CONFIG_PIVOT_ROOT is not set
# CONFIG_RDATE is not set
# CONFIG_READPROFILE is not set
# CONFIG_SETARCH is not set
# CONFIG_SWAPONOFF is not set
CONFIG_SWITCH_ROOT=y
CONFIG_UMOUNT=y
# CONFIG_FEATURE_UMOUNT_ALL is not set

#
# Common options for mount/umount
#
# CONFIG_FEATURE_MOUNT_LOOP is not set
# CONFIG_FEATURE_MTAB_SUPPORT is not set

#
# Miscellaneous Utilities
#
# CONFIG_ADJTIMEX is not set
# CONFIG_BBCONFIG is not set
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
# CONFIG_CRONTAB is not set
# CONFIG_DC is not set
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_EJECT is not set
# CONFIG_LAST is not set
# CONFIG_LESS is not set
# CONFIG_FEATURE_LESS_BRACKETS is not set
# CONFIG_FEATURE_LESS_FLAGS is not set
# CONFIG_FEATURE_LESS_FLAGCS is not set
# CONFIG_FEATURE_LESS_MARKS is not set
# CONFIG_FEATURE_LESS_REGEXP is not set
# CONFIG_HDPARM is not set
# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
# CONFIG_MOUNTPOINT is not set
# CONFIG_MT is not set
# CONFIG_RUNLEVEL is not set
# CONFIG_RX is not set
# CONFIG_STRINGS is not set
# CONFIG_SETSID is not set
# CONFIG_TIME is not set
# CONFIG_WATCHDOG is not set
# CONFIG_GETDVHOFF is not set

#
# Networking Utilities
#
# CONFIG_FEATURE_IPV6 is not set
# CONFIG_ARPING is not set
# CONFIG_DNSD is not set
# CONFIG_ETHER_WAKE is not set
# CONFIG_FAKEIDENTD is not set
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_HOSTNAME is not set
# CONFIG_HTTPD is not set
# CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY is not set
# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
# CONFIG_FEATURE_HTTPD_SETUID is not set
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
# CONFIG_FEATURE_HTTPD_CGI is not set
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
# CONFIG_IFCONFIG is not set
# CONFIG_FEATURE_IFCONFIG_STATUS is not set
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
# CONFIG_FEATURE_IFCONFIG_HW is not set
# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
# CONFIG_IFUPDOWN is not set
# CONFIG_FEATURE_IFUPDOWN_IP is not set
# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
# CONFIG_FEATURE_IFUPDOWN_IPX is not set
# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
# CONFIG_INETD is not set
# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO is not set
# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD is not set
# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME is not set
# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME is not set
# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN is not set
# CONFIG_FEATURE_INETD_RPC is not set
# CONFIG_IP is not set
# CONFIG_FEATURE_IP_ADDRESS is not set
# CONFIG_FEATURE_IP_LINK is not set
# CONFIG_FEATURE_IP_ROUTE is not set
# CONFIG_FEATURE_IP_TUNNEL is not set
# CONFIG_IPCALC is not set
# CONFIG_FEATURE_IPCALC_FANCY is not set
# CONFIG_IPADDR is not set
# CONFIG_IPLINK is not set
# CONFIG_IPROUTE is not set
# CONFIG_IPTUNNEL is not set
# CONFIG_NAMEIF is not set
# CONFIG_NC is not set
# CONFIG_NC_GAPING_SECURITY_HOLE is not set
# CONFIG_NETSTAT is not set
# CONFIG_NSLOOKUP is not set
# CONFIG_PING is not set
# CONFIG_FEATURE_FANCY_PING is not set
# CONFIG_PING6 is not set
# CONFIG_FEATURE_FANCY_PING6 is not set
# CONFIG_ROUTE is not set
# CONFIG_TELNET is not set
# CONFIG_FEATURE_TELNET_TTYPE is not set
# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
# CONFIG_TELNETD is not set
# CONFIG_FEATURE_TELNETD_INETD is not set
# CONFIG_TFTP is not set
# CONFIG_FEATURE_TFTP_GET is not set
# CONFIG_FEATURE_TFTP_PUT is not set
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
# CONFIG_FEATURE_TFTP_DEBUG is not set
# CONFIG_TRACEROUTE is not set
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
# CONFIG_VCONFIG is not set
# CONFIG_WGET is not set
# CONFIG_FEATURE_WGET_STATUSBAR is not set
# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
# CONFIG_FEATURE_WGET_IP6_LITERAL is not set

#
# udhcp Server/Client
#
# CONFIG_UDHCPD is not set
# CONFIG_UDHCPC is not set
# CONFIG_DUMPLEASES is not set
# CONFIG_FEATURE_UDHCP_SYSLOG is not set
# CONFIG_FEATURE_UDHCP_DEBUG is not set
# CONFIG_ZCIP is not set

#
# Process Utilities
#
# CONFIG_FREE is not set
# CONFIG_FUSER is not set
# CONFIG_KILL is not set
# CONFIG_KILLALL is not set
# CONFIG_PIDOF is not set
# CONFIG_FEATURE_PIDOF_SINGLE is not set
# CONFIG_FEATURE_PIDOF_OMIT is not set
# CONFIG_PS is not set
# CONFIG_FEATURE_PS_WIDE is not set
# CONFIG_RENICE is not set
# CONFIG_BB_SYSCTL is not set
# CONFIG_TOP is not set
# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
# CONFIG_UPTIME is not set

#
# Shells
#
CONFIG_FEATURE_SH_IS_ASH=y
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_FEATURE_SH_IS_LASH is not set
# CONFIG_FEATURE_SH_IS_MSH is not set
# CONFIG_FEATURE_SH_IS_NONE is not set
CONFIG_ASH=y

#
# Ash Shell Options
#
CONFIG_ASH_JOB_CONTROL=y
# CONFIG_ASH_READ_NCHARS is not set
# CONFIG_ASH_READ_TIMEOUT is not set
# CONFIG_ASH_ALIAS is not set
CONFIG_ASH_MATH_SUPPORT=y
# CONFIG_ASH_MATH_SUPPORT_64 is not set
# CONFIG_ASH_GETOPTS is not set
# CONFIG_ASH_CMDCMD is not set
CONFIG_ASH_BUILTIN_ECHO=y
# CONFIG_ASH_MAIL is not set
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
# CONFIG_ASH_RANDOM_SUPPORT is not set
# CONFIG_ASH_EXPAND_PRMT is not set
# CONFIG_HUSH is not set
# CONFIG_LASH is not set
# CONFIG_MSH is not set

#
# Bourne Shell Options
#
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
# CONFIG_FEATURE_COMMAND_EDITING is not set
# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
CONFIG_FEATURE_COMMAND_HISTORY=0
# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
# CONFIG_FEATURE_COMMAND_TAB_COMPLETION is not set
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
# CONFIG_FEATURE_SH_FANCY_PROMPT is not set

#
# System Logging Utilities
#
# CONFIG_SYSLOGD is not set
# CONFIG_FEATURE_ROTATE_LOGFILE is not set
# CONFIG_FEATURE_REMOTE_LOG is not set
# CONFIG_FEATURE_IPC_SYSLOG is not set
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
# CONFIG_LOGREAD is not set
# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
# CONFIG_KLOGD is not set
# CONFIG_LOGGER is not set


copy this .config into folder where you extracted busybox and ran make

4. Generate and extract fbsplash:
Code:
splash_geninitramfs -g /root initramfs_data.cpio.gz -v -r 1280x800 true-nature
gunzip /root/initramfs_data.cpio.gz

make folder where we will extract initramfs and modify it:
Code:
mkdir /root/work
cp initramfs_data.cpio /root/work
cd /root/work
cpio -i -d -H newc -F initramfs_data.cpio  --no-absolute-filenames
rm initramfs_data.cpio


5. Copy busybox,915resolution,link sh to busybox,copy vesafb-tng drivers
Code:
mkdir /root/work/bin
cp /root/busybox-1.1.3+gentoo/busybox /root/work/bin
cd /root/work/bin
ln -s busybox sh
cp /root/915resolution-0.5.2/915resolution /root/work/sbin
cp /lib/modules{your-kernel}/kernel/drivers/video/vesafb* /root/work


6. init for kernel and links
Copy and paste this script into /root/work/ and make in executable:
Code:
chmod +x /root/work/init

and create link to it from /root/work/sbin/init. If you forget this, kernel won't boot.
Code:
cd /root/work/sbin
ln -s ../init init


Code:

#!/bin/sh
PATH=/bin:/sbin:/usr/sbin:/usr/bin
busybox mkdir /usr /usr/sbin /usr/bin
busybox mount -t proc proc /proc >/dev/null 2>&1
busybox mount -o remount,rw / >/dev/null 2>&1
busybox mount -t sysfs /sys /sys >/dev/null 2>&1
busybox --install -s
mknod /dev/mem c 1 1
/sbin/915resolution 5c 1280 800 >/dev/null 2<&1
insmod /vesafb-thread.ko
insmod /vesafb-tng.ko
strlen() {
        if [ -z "$1" ]
        then
                echo "usage: strlen <variable_name>"
                die
        fi
        eval echo "\${#${1}}"
}

parse_opt() {
        case "$1" in
                *\=*)
                        local key_name="`echo "$1" | cut -f1 -d=`"
                        local key_len=`strlen key_name`
                        local value_start=$((key_len+2))
                        echo "$1" | cut -c ${value_start}-
                ;;
        esac
}
CMDLINE="`cat /proc/cmdline`"
for x in ${CMDLINE}
do
        case "${x}" in
                root\=*)
                        REAL_ROOT=`parse_opt "${x}"`
                ;;
                init\=*)
                        REAL_INIT=`parse_opt "${x}"`
                ;;
                init_opts\=*)
                        INIT_OPTS=`parse_opt "${x}"`
                ;;
                # Redirect output to a specific tty
                CONSOLE\=*)
                        CONSOLE=`parse_opt "${x}"`
                ;;
        esac
done
mdev -s
if [ -d /proc/suspend2 ] || [ -d /sys/power/suspend2 ]; then
        suspend2_do_resume="/sys/power/suspend2/do_resume"
        if [ -e /proc/suspend2 ]; then
                suspend2_do_resume="/proc/suspend2/do_resume"
        fi
        echo > "${suspend2_do_resume}"
fi
mkdir  /newroot /newroot/dev /newroot/sys /newroot/proc 2>/dev/null
mount -o ro ${REAL_ROOT} /newroot
if [ "$0" = '/init' ]
then
        [ ! -e /newroot/dev/console ] && mknod /newroot/dev/console c 5 1
        [ ! -e /newroot/dev/tty1 ] && mknod /newroot/dev/tty1 c 4 1
        echo -n '.'
                umount /sys || echo '*: Failed to unmount the initrd /sys!'
                umount /proc || echo '*: Failed to unmount the initrd /proc!'
        echo -n '.'
        exec switch_root -c "/dev/console" /newroot ${REAL_INIT:-/sbin/init} ${INIT_OPTS}
fi


7. We are now done with editing initramfs. Check if you have all files in it:
Code:

628K    ./bin/busybox
0       ./bin/sh
632K    ./bin
4.0K    ./sys
456K    ./etc/splash/true-nature/images/verbose-1280x800.jpg
452K    ./etc/splash/true-nature/images/silent-1280x800.jpg
16K     ./etc/splash/true-nature/images/bootbar.png
928K    ./etc/splash/true-nature/images
4.0K    ./etc/splash/true-nature/1280x800.cfg
72K     ./etc/splash/true-nature/Vera.ttf
1008K   ./etc/splash/true-nature
1012K   ./etc/splash
1016K   ./etc
4.0K    ./proc
4.0K    ./dev/fb
4.0K    ./dev/misc
0       ./dev/tty1
4.0K    ./dev/vc
0       ./dev/console
0       ./dev/null
16K     ./dev
424K    ./sbin/splash_helper
448K    ./sbin/915resolution
0       ./sbin/init
876K    ./sbin
4.0K    ./init
24K     ./vesafb-tng.ko
12K     ./vesafb-thread.ko
2.6M    .


8. Compress initramfs script:
Code:

  #!/bin/sh

  # Copyright 2006 Rob Landley <rob@landley.net> and TimeSys Corporation.
  # Licensed under GPL version 2

  if [ $# -ne 2 ]
  then
    echo "usage: mkinitramfs directory imagename.cpio.gz"
    exit 1
  fi

  if [ -d "$1" ]
  then
    echo "creating $2 from $1"
    (cd "$1"; find . | cpio -o -H newc | gzip) > "$2"
  else
    echo "First argument must be a directory"
    exit 1
  fi


name it pack and make it executable, and run it:
Code:
chmod +x pack
./pack /root/work /usr/src/linux/usr/initramfs_data.cpio.gz 


9. Now recompile your kernel and install it. Make corrections to grub:
Code:
kernel          /boot/vmlinuz-2.6.20-{yourkernel} resume2=/dev/hda4 splash=silent,theme:true-nature video=vesafb:1280x800-16@60,mtrr,ywrap quiet CONSOLE=/dev/tty1 root=/dev/hda3


You must append root=/dev/hdXX to your grub, where root= where gentoo is installed, /dev/hda2 for example. Don't know how to solve this.
Also now you don't need 915resolution to start, so you can remove it from runlevel.
Suspend2 works great with this. I don't have to run 915resolution on hibernate or hibernate-ram.

10. I know this is maybe little complicated, but when you are upgrading kernel, you only need to extract initramfs from previous kernel, copy new vesafb-tng modules to it and again compress it with pack script.
Back to top
View user's profile Send private message
rincewind
Apprentice
Apprentice


Joined: 16 Aug 2002
Posts: 172
Location: Essen, Germany

PostPosted: Sat Jul 21, 2007 7:58 am    Post subject: Reply with quote

Hi !

First of all, this is a good guide and i´m quite happy to have a widescreen fbcon finally.

Perhaps you can add at 7. that one has to mkdir /proc and mkdir /dev manually.
Ok, theres a complete listing but it took me 2 hours to find out that two missing (empty) directories are causing my Kernel Panic.
Back to top
View user's profile Send private message
IvanMajhen
Guru
Guru


Joined: 10 Jun 2006
Posts: 392
Location: Croatia

PostPosted: Mon Jul 23, 2007 9:14 am    Post subject: Reply with quote

Sory for that. I listed files that are needed.
Are you stil using script to extract and compress initramfs?

It is not needed anymore since 2.6.21 kernel. Just point in menuconfig to extracted initramfs and that's it.

I tought that nobody is using this. :P
Back to top
View user's profile Send private message
ExZombie
Apprentice
Apprentice


Joined: 29 May 2004
Posts: 170

PostPosted: Wed Jul 25, 2007 12:39 pm    Post subject: Reply with quote

Hm, I only now noticed this article.

A while ago, Gremo suggested that I make a gentoo-wiki entry on the subject, and even begun porting my article. I finished up my part, but Gremo never responded to my messages about the rest. As you seem to have not only figured out initramfs, but also fbsplash, would you mind finishing the article? Ping me if you need assistance, I'll gladly help (time permitting of course), I hate having unfinished work published.
Back to top
View user's profile Send private message
_nightw0lf
Tux's lil' helper
Tux's lil' helper


Joined: 27 Aug 2004
Posts: 98
Location: /Israel/home

PostPosted: Fri Sep 28, 2007 1:42 pm    Post subject: Reply with quote

OMG this is so complexed.. I didn't understanded much of this howto.. 8O
Back to top
View user's profile Send private message
Sno
n00b
n00b


Joined: 07 Mar 2005
Posts: 29

PostPosted: Sat Sep 29, 2007 12:38 am    Post subject: Reply with quote

the simple way to do this is to do this is just to use the non widescreen fbsplash during boot then change to a widescreen one when using init.d/splash

so you can keep the the 1400x900 in grub but configure the initramfs to use the 1400x1200 or something whatever one they are looking for/
Back to top
View user's profile Send private message
_nightw0lf
Tux's lil' helper
Tux's lil' helper


Joined: 27 Aug 2004
Posts: 98
Location: /Israel/home

PostPosted: Sat Sep 29, 2007 3:08 am    Post subject: Reply with quote

Code:
resume2=/dev/hda4


what is this part? what does it do?
Back to top
View user's profile Send private message
IvanMajhen
Guru
Guru


Joined: 10 Jun 2006
Posts: 392
Location: Croatia

PostPosted: Thu Oct 04, 2007 8:32 am    Post subject: Reply with quote

_nightw0lf wrote:
Code:
resume2=/dev/hda4


what is this part? what does it do?


This is for suspend2 resume partition.

If somebody needs already compiled initiramfs (you only put location of initramfs tree in kernel configuration) PM me.
Back to top
View user's profile Send private message
UB|K
l33t
l33t


Joined: 27 May 2004
Posts: 786
Location: Villeurbanne, France

PostPosted: Tue Nov 13, 2007 3:49 pm    Post subject: Reply with quote

IvanMajhen wrote:
I tought that nobody is using this. :P

I wish i could!!

I carefully followed your instructions but it fails to boot correctly:
Code:
Uncompressing Linux... Ok, booting the kernel.
busybox: /proc/self/exe: No such file or directory
busybox: /proc/self/exe: No such file or directory
/init: /init: 8: mknod: not found
/init: /init: 10: insmod: not found
/init: /init: 11: insmod: not found
/init: /init: 31: cat: not found
/init: /init: 50: mdev: not found
/init: /init: 57: [: not found
/init: /init: 57: [: not found
/init: /init: 59: mount not found
/init: /init: 69: [: not found
Kernel panic - not syncing: Attempted to kill init!

I'm using suspend2-sources-2.6.22-r2 which is properly configured (i think) to support initrd/initramfs
my grub.conf looks like:
Code:
root (hd0,0)
kernel /boot/kernel-2.6.22-suspend2 video=vesafb:ywrap,mtrr,1280x800-16@60 splash=silent,fadein,tty:8,theme:livecd-2007.0 quiet CONSOLE=/dev/tty1 resume2=/dev/sda2 root=/dev/sda1

I also tried the initrd method (found on the wiki) but it also fails when it comes to:
wiki wrote:
Now reboot using the initrd to make sure everything runs smoothly.

i.e. its fails with a un-modified initrd so it seems that my kernel is misconfigured but i can't figure out where...
if someboby could be of any help, i would be great
thx

edit: here's my kernel .config
_________________
Reality is that which, when you stop believing in it, doesn't go away.
Back to top
View user's profile Send private message
IvanMajhen
Guru
Guru


Joined: 10 Jun 2006
Posts: 392
Location: Croatia

PostPosted: Sat Nov 17, 2007 12:57 pm    Post subject: Reply with quote

Is sh linked to busybox?
Back to top
View user's profile Send private message
UB|K
l33t
l33t


Joined: 27 May 2004
Posts: 786
Location: Villeurbanne, France

PostPosted: Sun Nov 25, 2007 3:41 pm    Post subject: Reply with quote

IvanMajhen wrote:
Is sh linked to busybox?

hi and sorry for the delay.
Code:
 # ll initrd/bin/
total 660
-rwxr-xr-x 1 root root 671136 nov 12 02:42 busybox
lrwxrwxrwx 1 root root      7 nov 13 17:15 cat -> busybox
lrwxrwxrwx 1 root root      7 nov 13 17:15 insmod -> busybox
lrwxrwxrwx 1 root root      7 nov 13 17:15 mdev -> busybox
lrwxrwxrwx 1 root root      7 nov 13 17:15 mknod -> busybox
lrwxrwxrwx 1 root root      7 nov 13 17:16 mount -> busybox
lrwxrwxrwx 1 root root      7 nov 12 02:43 sh -> busybox

so, yes sh is correctly linked to busybox.
I also solved my initrd problem with the wiki's method but it still fails because it can't find 915resolution (it's there and the PATH is correctly set up...).
_________________
Reality is that which, when you stop believing in it, doesn't go away.
Back to top
View user's profile Send private message
kagura-san
n00b
n00b


Joined: 03 Oct 2007
Posts: 12

PostPosted: Tue Nov 27, 2007 12:12 pm    Post subject: bsybox Reply with quote

Hello, is it possible to install busybox in "gentoo way" by emerge?
Back to top
View user's profile Send private message
kagura-san
n00b
n00b


Joined: 03 Oct 2007
Posts: 12

PostPosted: Tue Nov 27, 2007 1:05 pm    Post subject: busybox compilation error Reply with quote

applets/applets.c:20:2: warning: #warning Static linking against glibc produces buggy executables
applets/applets.c:21:2: warning: #warning (glibc does not cope well with ld --gc-sections).
applets/applets.c:22:2: warning: #warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
applets/applets.c:23:2: warning: #warning Note that glibc is unsuitable for static linking anyway.
applets/applets.c:24:2: warning: #warning If you still want to do it, remove -Wl,--gc-sections
applets/applets.c:25:2: warning: #warning from top-level Makefile and remove this warning.
applets/applets.c:26:2: error: #error Aborting compilation.
make[1]: *** [applets/applets.o] Error 1
make: *** [applets] Error 2
Back to top
View user's profile Send private message
kagura-san
n00b
n00b


Joined: 03 Oct 2007
Posts: 12

PostPosted: Tue Nov 27, 2007 2:52 pm    Post subject: I am stucked Reply with quote

So i followed this guide and it finally prints something like:

Kernel panic: no init script found :(

can anybody help me?
Back to top
View user's profile Send private message
kagura-san
n00b
n00b


Joined: 03 Oct 2007
Posts: 12

PostPosted: Tue Nov 27, 2007 3:27 pm    Post subject: Reply with quote

Now its: Cannot execute /init :(
Back to top
View user's profile Send private message
Stormkings
Guru
Guru


Joined: 27 Sep 2002
Posts: 352
Location: Europe

PostPosted: Sat Dec 01, 2007 1:35 pm    Post subject: Reply with quote

kagura-san wrote:
Now its: Cannot execute /init :(

Hi,
Maybe I can help. I had a lot of trouble myself. :)
Could you post the output of "ls -l" in your "work" directory? I'm not sure but it might be important that init is executable.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum