# HOWTO:Widescreen fbsplash on intel-initramfs

## IvanMajhen

 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   ) 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

```
<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

```
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

```
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:

```

#

# 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:

```
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:

```
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

```
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:

```
chmod +x /root/work/init
```

and create link to it from /root/work/sbin/init. If you forget this, kernel won't boot.

```
cd /root/work/sbin

ln -s ../init init
```

```

#!/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:

```

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:

```

  #!/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:

```
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:

```
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.

----------

## rincewind

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.

----------

## IvanMajhen

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.  :Razz: 

----------

## ExZombie

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.

----------

## _nightw0lf

OMG this is so complexed.. I didn't understanded much of this howto..   :Shocked: 

----------

## Sno

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/

----------

## _nightw0lf

```
resume2=/dev/hda4
```

what is this part? what does it do?

----------

## IvanMajhen

 *_nightw0lf wrote:*   

> 
> 
> ```
> resume2=/dev/hda4
> ```
> ...

 

This is for suspend2 resume partition.

If somebody needs already compiled initiramfs (you only put location of initramfs tree in kernel configuration) PM me.

----------

## UB|K

 *IvanMajhen wrote:*   

> I tought that nobody is using this. 

 

I wish i could!!

I carefully followed your instructions but it fails to boot correctly:

```
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:

```
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

----------

## IvanMajhen

Is sh linked to busybox?

----------

## UB|K

 *IvanMajhen wrote:*   

> Is sh linked to busybox?

 

hi and sorry for the delay.

```
 # 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...).

----------

## kagura-san

Hello, is it possible to install busybox in "gentoo way" by emerge?

----------

## kagura-san

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

----------

## kagura-san

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

Kernel panic: no init script found  :Sad: 

can anybody help me?

----------

## kagura-san

Now its: Cannot execute /init  :Sad: 

----------

## Stormkings

 *kagura-san wrote:*   

> Now its: Cannot execute /init 

 

Hi, 

Maybe I can help. I had a lot of trouble myself.   :Smile: 

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.

----------

