Hi, I m using my 2.6.31 kernel (customized) and a jffs2 file system on mini2440. For my project i need to boot kernel as early as possible. (within 30secs) I observed that , while booting kernel 1) s3c2410-rtc s3c2410-rtc: setting system clock to 2009-11-25 07:03:08 UTC (1259132588) //takes 4-5 seconds 2) VFS: Mounted root (jffs2 filesystem) on device 31:3. Freeing init memory: 124K //takes 9-10 seconds The boot process is :- Starting kernel ... Uncompressing Linux........................................................................... ............................... Linux version 2.6.31.1 (gautam@gautam-desktop) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #5 Wed Nov 25 19:11:32 IST9 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: MINI2440 Memory policy: ECC disabled, Data cache writeback CPU S3C2440A (id 0x32440001) S3C24XX Clocks, (c) 2004 Simtec Electronics S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: root=/dev/mtdblock3 rootfstype=jffs2 console=ttySAC0,115200 PID hash table entries: 256 (order: 8, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 64MB = 64MB total Memory: 60852KB available (3376K code, 411K data, 124K init, 0K highmem) SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:85 irq: clearing pending status 02000000 irq: clearing subpending status 00000003 irq: clearing subpending status 00000002 Console: colour dummy device 80x30 console [ttySAC0] enabled Calibrating delay loop... 201.93 BogoMIPS (lpj=504832) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 MINI2440: Option string mini2440=0tb MINI2440: LCD [0:240x320] 1:800x480 2:1024x768 S3C2440: Initialising architecture S3C2440: IRQ Support S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics DMA channel 0 at c4808000, irq 33 DMA channel 1 at c4808040, irq 34 DMA channel 2 at c4808080, irq 35 DMA channel 3 at c48080c0, irq 36 S3C244X: Clock Support, DVS off bio: create slab <bio-0> at 0 usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb s3c-i2c s3c2440-i2c: slave address 0x10 s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered NET: Registered protocol family 1 JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. ROMFS MTD (C) 2007 Red Hat, Inc. msgmni has been set to 118 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered Console: switching to colour frame buffer device 60x53 fb0: s3c2410fb frame buffer device s3c2440-uart.0: ttySAC0 at MMIO 0x50000000 (irq = 70) is a S3C2440 s3c2440-uart.1: ttySAC1 at MMIO 0x50004000 (irq = 73) is a S3C2440 s3c2440-uart.2: ttySAC2 at MMIO 0x50008000 (irq = 76) is a S3C2440 brd: module loaded at24 0-0050: 1024 byte 24c08 EEPROM (writable) dm9000 Ethernet Driver, V1.31 eth0: dm9000e at c486e300,c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip) S3C24XX NAND Driver, (c) 2004 Simtec Electronics s3c24xx-nand s3c2440-nand: Tacls=1, 9ns Twrph0=3 29ns, Twrph1=2 19ns s3c24xx-nand s3c2440-nand: NAND soft ECC NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit) Creating 4 MTD partitions on "NAND 64MiB 3,3V 8-bit": 0x000000000000-0x000000040000 : "u-boot" ftl_cs: FTL header not found. 0x000000040000-0x000000060000 : "u-boot-env" ftl_cs: FTL header not found. 0x000000060000-0x000000560000 : "kernel" ftl_cs: FTL header not found. 0x000000560000-0x000004000000 : "root" ftl_cs: FTL header not found. ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver s3c2410-ohci s3c2410-ohci: S3C24XX OHCI s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1 s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected usbcore: registered new interface driver libusual s3c2440-usbgadget s3c2440-usbgadget: S3C2440: increasing FIFO to 128 bytes mice: PS/2 mouse device common for all mice input: gpio-keys as /devices/platform/gpio-keys/input/input0 s3c2440-ts s3c2440-ts: Starting Created group ts filter len 12 depth 2 close 10 thresh 6 Created Median ts filter len 20 depth 2 dec 24 Created Mean ts filter len 4 depth 2 thresh 65535 Created Linear ts filter depth 2 s3c2440-ts s3c2440-ts: 4 filter(s) initialized s3c2440-ts s3c2440-ts: successfully loaded input: s3c2410 TouchScreen as /devices/virtual/input/input1 S3C24XX RTC, (c) 2004,2006 Simtec Electronics s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0 i2c /dev entries driver S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled cpuidle: using governor ladder sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman mapped channel 0 to 0 s3c2440-sdi s3c2440-sdi: powered down. s3c2440-sdi s3c2440-sdi: initialisation done. Registered led device: led1 Registered led device: led2 Registered led device: led3 Registered led device: led4 Registered led device: backlight usbcore: registered new interface driver hiddev usbcore: registered new interface driver usbhid usbhid: v2.6:USB HID core driver TCP cubic registered NET: Registered protocol family 17 RPC: Registered udp transport module. RPC: Registered tcp transport module. s3c2410-rtc s3c2410-rtc: setting system clock to 2009-11-25 07:03:08 UTC (1259132588) Empty flash at 0x0191516c ends at 0x01915200 VFS: Mounted root (jffs2 filesystem) on device 31:3. Freeing init memory: 124K Please press Enter to activate this console. Any suggestions??
How can i reduce system boot time?
Hi, >> jffs2 filesystem This is your culprit. You can either switch to yaffs2, use a read-only file system for the RFS, or use sumtool to create a summary for faster jffs2 mounting. The least impact is using sumtool (http://www.linux-mtd.infradead.org/doc/jffs2.html) because your RFS will still be read/write and you won't have to be particular about making sure your programs don't want to write somewhere that you thought was writeable by default. Regards, gene