Results 1 to 5 of 5

Thread: Increase Free Memory and no more reboots due to too long syslog file (Need USB disk)

  1. #1
    Join Date
    Feb 2004
    Posts
    103

    Cool Increase Free Memory and no more reboots due to too long syslog file (Need USB disk)

    Ok,

    This is working for me, and may be also working for you.
    The idea is to disable the ramdisk where the syslog is stored. While disabling gives you some more memory, the biggest advantage (to me) is that the syslog can grow, grow grow without the device runs out of memory.

    Now, I would not reccommend this for a flashdrive, as I think a flash can only be written a few thousand times. Well, actually I don't know. At your own risk!

    Step 1.
    Make sure you have OLEG's firmware running, and you are booting from harddisk.
    You can check it by loggin on, and type mount

    If you don't see an "cramfs" entry you are running smooth from disk

    Step 2 Make your drive writable after the booting.
    For this step you need vi editor. In the latest version of the firmware this is build in, for older versions you need to use the 'full version' which can be found here http://files.wl500g.info/asus/wl500g...pp/busybox.zip
    This version might anyway be handy to have somewhere on your disk, just in case you need the extra features.

    Make your drive writable after the booting.
    Add a line to the "/init/boot" file (maybe make a backup of the boot file cp boot boot.org)
    mount -o remount,rw,noatime "$boot_dev" /
    after the two mount commands. This brings your disk in read-write mode just after booting.

    Step 3 Create empty tmp dir
    The original firmware always starts with empty tmp. I'm not sure if it is really needed. Anyway, it nicely cleans up any mess left behind

    add the rm line just before the "mkdir /mnt/ramfs/tmp" line
    rm -rf /mnt/ramfs/tmp
    mkdir /mnt/ramfs/tmp

    Step 4 Remove RAM disk
    Continue editing the boot file, add the # in front of the mount command of the ramdisk
    #mount -t ramfs ramfs /mnt/ramfs

    reboot your router, and check with mount command.
    you should see something like:

    /dev/scsi/host0/bus0/target0/lun0/part1 on / type ext2 (rw,noatime)
    none on /dev type devfs (rw)
    none on /proc type proc (rw)

    Ok, way to go, you have it.
    You can see the available mem by typing:
    ~ # cat /proc/meminfo
    total: used: free: shared: buffers: cached:
    Mem: 14794752 12906496 1888256 0 425984 6336512
    Swap: 0 0 0
    MemTotal: 14448 kB
    MemFree: 1844 kB
    MemShared: 0 kB
    Buffers: 416 kB
    Cached: 6188 kB
    SwapCached: 0 kB
    Active: 3760 kB
    Inactive: 4316 kB
    HighTotal: 0 kB
    HighFree: 0 kB
    LowTotal: 14448 kB
    LowFree: 1844 kB
    SwapTotal: 0 kB
    SwapFree: 0 kB


    If you still don't think you have enough memory you might wanna add some swap memory

    do it as following:
    Create an empty file (the number behind the count is the number of MB you wanna have as swap)
    ~ # dd if=/dev/zero of=/swp bs=1M count=32
    32+0 records in
    32+0 records out

    (you need again the full version of the busybox)
    ~ # /path to your busybox/busybox mkswap /swp
    Setting up swapspace version 1, size = 33550336 bytes
    ~ # /busybox swapon /swp

    again, you can check if it is working by typing:
    ~ # cat /proc/meminfo
    total: used: free: shared: buffers: cached:
    Mem: 14794752 13496320 1298432 0 663552 6955008
    Swap: 33546240 131072 33415168
    MemTotal: 14448 kB
    MemFree: 1268 kB
    MemShared: 0 kB
    Buffers: 648 kB
    Cached: 6664 kB
    SwapCached: 128 kB
    Active: 2420 kB
    Inactive: 6364 kB
    HighTotal: 0 kB
    HighFree: 0 kB
    LowTotal: 14448 kB
    LowFree: 1268 kB
    SwapTotal: 32760 kB
    SwapFree: 32632 kB

    Note: Mini "vi" editor manual.
    Maybe you are struggeling with vi just as I most of the time do.
    The way to edit this boot file:
    /path to your full busybox/busybox vi /init/boot
    scroll to the place where you want to edit, click the "insert" key. You see in the bottom left part of the screen "-- Insert --" (click once more to replace)
    No modify/add the text you want to edit, after the edit is done click the "Esc" key. to delete a line type ":d"
    Now write the file with the ":w" command
    Close vi with the ":q" command

    BTW. While experimenting to get this done, I several times booted the device without having a working tmp dir. The interesting behaviour is that some of the services did not start, or did not work. I could not log on to the box anymore with SSH, however the telnetd was each time running and accepting connections. This allowed me to fix the thing and continue.

  2. #2
    Join Date
    Sep 2004
    Location
    Utrecht NL
    Posts
    6

    Unhappy Problems after moving root fs to usb disk

    Hi Erik,

    I have read your posting with losts of interest and tried to work it out myself . So, loading the root file system and changing the /init/boot file as describe. It all seems to work fine for a small amount of time, but after 1 or 2 restarts of the router (including detaching/attaching the usb drive) something seems to change in the filesystem that causes the router to end up in some sort of boot loop.

    That is: after booting up is finished, my network adapter does get an IP address and I am able to open a telnet session to the router but in seconds that connection is dropped and the router starts booting again. This keeps going on and on.

    Solved it a couple of times by reinstalling the root file system from scratch, but it keeps failing every time after 1 or 2 reboots.
    Could not find any clear keys in the system log about something failing just before the reboot occurs.

    Do you have any idea what can be the problem? And do you have any suggestions to solve it?

    TIA,

    Mark

  3. #3
    Join Date
    Apr 2004
    Location
    Netherlands
    Posts
    1,308

    Adding swap memory to normal custom firmwares

    Hey, this is great. I was just working on the same procedure. Now I don't need to anymore

    Thanks!

    One comment: Migrating from flashboot to USB boot will make the process of upgrading/changing firmware more difficult. So be prepared to go in-dept with this.

    Oh, and if someone only wants the additional swap memory but does not want to boot from USB then just copy the full version of busybox to the USB disk and carry on with the described mount commands in Erik' post (Below is the description on howto do this).

    Adding Swap memory to a custom firmware without using the rootfs option (tested it on 1.7.5.9-CR5):
    - Create a swap partition using Partition Magic (or similar program) or with the 'busybox mkswap' command.
    - Add the following command to the post-boot script:
    Code:
    /mnt/usbfs/busybox swapon /dev/discs/disc0/part6
    My partition table:
    Code:
    /dev/discs/disc0/part1 - 159 GB FAT32
    /dev/discs/disc0/part2 - 64 Mb Extended
        /dev/discs/disc0/part5 - 32 Mb Ext2
        /dev/discs/disc0/part6 - 32 Mb Linux Swap
    - Save the changes with:
    Code:
    flashfs save
    flashfs commit
    - Reboot and check the swap space with:
    Code:
    cat /proc/meminfo
    A note though: Swap memory will have to travel over USB1.1 (11Mb/s) so it will probably be slow...
    Last edited by Styno; 26-09-2004 at 13:38.

  4. #4
    Join Date
    Apr 2004
    Location
    Netherlands
    Posts
    1,308
    Quote Originally Posted by Mark Koops
    Hi Erik,

    I have read your posting with losts of interest and tried to work it out myself . So, loading the root file system and changing the /init/boot file as describe. It all seems to work fine for a small amount of time, but after 1 or 2 restarts of the router (including detaching/attaching the usb drive) something seems to change in the filesystem that causes the router to end up in some sort of boot loop.

    That is: after booting up is finished, my network adapter does get an IP address and I am able to open a telnet session to the router but in seconds that connection is dropped and the router starts booting again. This keeps going on and on.

    Solved it a couple of times by reinstalling the root file system from scratch, but it keeps failing every time after 1 or 2 reboots.
    Could not find any clear keys in the system log about something failing just before the reboot occurs.

    Do you have any idea what can be the problem? And do you have any suggestions to solve it?

    TIA,

    Mark
    The reboots probably are triggered by the watchdog daemon. This indicates that one or more 'critical' services have failed to start. Search the forum on which services are being watchdogged.

  5. #5
    Join Date
    Apr 2004
    Location
    Netherlands
    Posts
    1,308
    Like described 2 posts up, I've setup swap memory on my USB HDD and I've noticed swap memory being used up to 26MBytes till now! The router can really use this extra virtual memory it seems. This extensive use of memory is mostly caused by the giFT daemon, which requires heaps of RAM sometimes.
    Code:
            total:    used:    free:  shared: buffers:  cached:
    Mem:  14725120 13430784  1294336        0   704512  3579904
    Swap: 32862208 26611712  6250496
    MemTotal:        14380 kB
    MemFree:          1264 kB
    MemShared:           0 kB
    Buffers:           688 kB
    Cached:           2016 kB
    SwapCached:       1480 kB
    Active:           4368 kB
    Inactive:         3708 kB
    HighTotal:           0 kB
    HighFree:            0 kB
    LowTotal:        14380 kB
    LowFree:          1264 kB
    SwapTotal:       32092 kB
    SwapFree:         6104 kB
    Code:
    Mem: 13240K used, 1140K free, 0K shrd, 300K buff, 7328K cached
    Load average: 2.33, 2.32, 1.70    (State: S=sleeping R=running, W=waiting)
    
      PID USER     STATUS   RSS  PPID %CPU %MEM COMMAND
     1049 root     D       5700     1 56.1 39.6 ld.so.1
     1187 root     S        228  1012 11.2  1.5 giFTwakeup
     1296 root     R        220  1295  3.2  1.5 top
      778 root     SW         0     1  2.0  0.0 usb-storage-0
        4 root     SW         0     1  0.3  0.0 kswapd
      488 root     S         36     1  0.1  0.2 telnetd
     1032 root     S        140   983  0.0  0.9 watchdog
      512 root     S        140     1  0.0  0.9 httpd
     1006 root     S        128     1  0.0  0.8 nmbd
      970 root     S         76     1  0.0  0.5 stupid-ftpd
      826 root     S         36     1  0.0  0.2 udhcpc
      317 root     S         20     1  0.0  0.1 klogd
      305 root     S         20     1  0.0  0.1 syslogd
     1013 root     S         12     1  0.0  0.0 busybox_httpd
     1012 root     S         12   998  0.0  0.0 giftd.sh
     1295 root     S          8   488  0.0  0.0 sh
     1005 root     S          4     1  0.0  0.0 dropbear
        3 root     RWN        0     1  0.0  0.0 ksoftirqd_CPU0
        8 root     SW         0     1  0.0  0.0 mtdblockd
    (ld.so.1 is the giFT daemon)

    Strange thing though: The giFT daemon and the other processes do not account to 26 MB swap + 12 MB RAM. But I must say I don't exactly know how Linux handles swap memory, it might be buffer space as well.

    Anyone an idea why Linux uses so much swap space?

    Edit:
    OMG, now all the swap space is used...
    Code:
            total:    used:    free:  shared: buffers:  cached:
    Mem:  14725120 13234176  1490944        0   667648  1847296
    Swap: 32862208 32862208        0
    MemTotal:        14380 kB
    MemFree:          1456 kB
    MemShared:           0 kB
    Buffers:           652 kB
    Cached:           1740 kB
    SwapCached:         64 kB
    Active:           2948 kB
    Inactive:         4880 kB
    HighTotal:           0 kB
    HighFree:            0 kB
    LowTotal:        14380 kB
    LowFree:          1456 kB
    SwapTotal:       32092 kB
    SwapFree:            0 kB
    Last edited by Styno; 02-10-2004 at 14:44.

Similar Threads

  1. Safe radio power increase?
    By einarmr in forum WL-300g Q&A
    Replies: 1
    Last Post: 06-03-2006, 14:58
  2. Increase WLAN speed
    By Thisisnotme in forum WL-500g Q&A
    Replies: 1
    Last Post: 06-08-2005, 09:21
  3. syslog file
    By the_slider in forum WL-500g Q&A
    Replies: 4
    Last Post: 11-07-2005, 11:11
  4. Replies: 4
    Last Post: 11-05-2005, 20:45
  5. Does Frame Bursting increase performance?
    By FIB in forum WL-500g Q&A
    Replies: 1
    Last Post: 02-01-2004, 10:18

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •