Hello,
I am trying to build ramdisk image and launch
bootsplash image at boot time.
Steps I followed:
1. get splash image initrd.splash using splash
binary.
2. dd if=/dev/zero of=initrd bs=1k
count=4096
/sbin/mke2fs -F -m0 -b
1024 initrd
/sbin/tune2fs -c 0 -i 0 initrd
mount -t
ext2 initrd /mnt/user -o loop
3. cd /mnt/user
4. mkdir /boot
5. cp /home/user/initrd.splash /boot
6. umount /mnt/user
7. gzip -v9 initrd
8. results in initrd.gz
Now while compiling kernel image I am
embedding initrd.gz into it. Here is what I am doing
***************System.map**************
802f9000 D
_binary__tmp_initrd_gz_start
802f9000 D __rd_start
803d250c D
_binary__tmp_initrd_gz_end
803d3000 A __bss_start
803d3000 A
_edata
***********RAM DISK MAKE
FILE************
O_FORMAT = $(shell $(OBJDUMP) -i | head -2 | grep
elf32)
img = $(CONFIG_EMBEDDED_RAMDISK_IMAGE)
ramdisk.o: $(subst
",,$(img)) ld.script
echo
"O_FORMAT: " $(O_FORMAT)
$(LD) -T ld.script -b binary --oformat $(O_FORMAT) -o $@ $(img)
include $(TOPDIR)/Rules.make
***********RAM DISK ld.script
file********************
OUTPUT_ARCH(mips)
SECTIONS
{
.initrd :
{
*(.data)
}
}
**********************************************
I am using YAMON bootloader. While booting I
am passing following parameters to kernel:
start
(R/W) go be000000 initrd=/boot/initrd.splash rw init=/linuxrc console=tty1
video=au1100fb:panel:640x480_crt splash=silent
************************dmesg
result***************
CPU revision is: 02030204
Primary instruction
cache 16kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache
16kB 4-way, linesize 32 bytes.
Linux version 2.4.21 (@node) (gcc version 3.2)
#1 Fri Aug 5 13:08:44 IST 2005
DSP Design Aurora AA1100
Determined
physical RAM map:
memory: 04000000 @ 00000000 (usable)
Initial
ramdisk at: 0x802f9000 (892928 bytes)
On node 0 totalpages: 16384
zone(0):
16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line:
initrd=/boot/initrd.splash rw init=/linuxrc console=tty1
video=au1100fb:panel:640x480_crt splash=silent
usb_ohci=base:0x10100000,len:0x100000,irq:26
fb: calling au1100fb
setup<6>au110fb: setup called
au1100fb: Panel 0
640x480_CRT
bootsplash: silent mode.
calculating r4koff...
003c6ef5(3960565)
CPU frequency 396.06 MHz
Console: colour dummy device
80x25
Calibrating delay loop... 395.67 BogoMIPS
Memory: 59824k/65536k
available (1788k kernel code, 5712k reserved, 988k data, 96k init, 0k
highmem)
Dentry cache hash table entries: 8192 (order: 4, 65536
bytes)
Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount
cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table
entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384
(order: 4, 65536 bytes)
Checking for 'wait' instruction...
available.
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux
2.4
Based upon Swansea University Computer Society NET3.039
Initializing
RT netlink socket
Starting kswapd
Journalled Block Device driver
loaded
bootsplash 3.0.9-2003/09/08: looking for picture... no good signature
found.
Console: switching to colour frame buffer device 80x30
fb0: Au1100
LCD frame buffer device
pty: 256 Unix98 ptys configured
aa1100_ad:
registered
aa1100_ad: baudrate = 1523307 Hz
Serial driver version 1.01
(2001-02-08) with no serial options enabled
ttyS00 at 0xb1100000 (irq = 0) is
a 16550
ttyS01 at 0xb1200000 (irq = 1) is a 16550
ttyS02 at 0xb1400000
(irq = 3) is a 16550
RAMDISK driver initialized: 16 RAM disks of 4096K size
1024 blocksize
loop: loaded (max 8 devices)
au1000eth.c:1.4 ppopov@mvista.com
eth0: Au1x Ethernet
found at 0xb0500000, irq 28
eth0: LSI 80227 10/100 BaseT PHY at phy address
0
eth0: Using LSI 80227 10/100 BaseT PHY as default
Uniform Multi-Platform
E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 50MHz system bus speed for
PIO modes; override with idebus=xx
ide0: ports already in use, skipping
probe
ide1: ports already in use, skipping probe
ide2: ports already in
use, skipping probe
ide3: ports already in use, skipping probe
ide4: ports
already in use, skipping probe
ide5: ports already in use, skipping
probe
au1100 flash: probing 32-bit flash bus
Amd/Fujitsu Extended
Query Table v1.3 at 0x0040
number of CFI chips: 1
cfi_cmdset_0002:
Disabling fast programming due to code brokenness.
Creating 3 MTD partitions
on "AU1100 flash":
0x00000000-0x01c00000 : "Operating
System"
0x01c00000-0x01fc0000 : "YAMON"
0x01fc0000-0x02000000 : "Yamon env
variables"
usb.c: registered new driver hub
host/usb-ohci.c: USB OHCI at
membase 0xb0100000, IRQ 26
host/usb-ohci.c: usb-builtin, non-PCI
OHCI
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub
found
hub.c: 2 ports detected
usb.c: registered new driver
hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID
support drivers
mice: PS/2 mouse device common for all mice
NET4: Linux
TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache
hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established
4096 bind 8192)
NET4: Unix domain sockets 1.0/SMP for Linux
NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory:
872k freed
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel
memory: 96k freed
Algorithmics/MIPS FPU Emulator v1.5
Linux Kernel Card
Services 3.1.22
options: [pci]
Au1x00 PCMCIA (CS release 3.1.22)
hub.c: new
USB device builtin-2, assigned address 2
input0: USB HID v1.10 Keyboard
[SEJIN SEJIN USB Mini Keyboard] on usb1:2.0
Trying to free nonexistent
resource <c0010000-c001000f>
hda: SanDisk SDCFB-32, CFA DISK
drive
ide1: ports already in use, skipping probe
ide2: ports already in
use, skipping probe
ide3: ports already in use, skipping probe
ide4: ports
already in use, skipping probe
ide5: ports already in use, skipping
probe
ide0 at 0xc0010000-0xc0010007,0xc001000e on irq 39
hda: attached
ide-disk driver.
hda: task_no_data_intr: status=0x51 { DriveReady
SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError
}
hda: 62720 sectors (32 MB) w/1KiB Cache, CHS=490/4/32
Partition
check:
hda: hda1
ide_cs: hda: Vcc = 3.3, Vpp = 0.0
hda:
hda1
hda: hda1
EXT2-fs warning: mounting unchecked fs, running
e2fsck is recommended
eth0: link up
eth0: going to full
duplex
*********************************************************
while booting it still complaining that haven't
found the initrd.splash file. which actually loads splash screen.
Please help where is the problem, Which step I am
doing wrong?