element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Avnet Boards General how to modify run level in zed board
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 6 replies
  • Subscribers 353 subscribers
  • Views 735 views
  • Users 0 members are here
Related

how to modify run level in zed board

Former Member
Former Member over 11 years ago

hi,

can you give the suggestion how to modify the run level in zed board. i tried to modify the run level in /etc/inittab file id:1:initdefault instead of id:5:initdefault: .but it is not changed. so anyone have an idea regarding this issue. please suggest me and how to remove the login id and password after booting the zed board.



Thanks & Regards,
srinivas Rao

  • Sign in to reply
  • Cancel
  • zedhed
    0 zedhed over 11 years ago

    Hi Srinivas,

    Are you using a RAM disk image?  If so are you modifying /etc/inittab within the image itself or from the filesystem that is loaded into RAM at runtime?

    One of the most overlooked kernel boot parameters is the runlevel.  I tried this on my ZedBoard using the Xilinx 2014.2 linux release:

    http://www.wiki.xilinx.com/Zynq+2014.2+Release

    I took the devicetree.dtb provided for ZedBoard and used dtc to convert it back to device tree source format.  I then edited the kernel bootargs line to append the runlevel to the end (the default is 5 if the runtime is not specified at boot time) like this:

    bootargs = "console=ttyPS0,115200 root=/dev/ram rw earlyprintk 1";

    That 1 in bootargs will tell the kernel to override the default runlevel go to runlevel 1.

    Then I used the dtc again to convert the device tree source into a binary format and boot the system with the updated devicetree.

    Regards,

    -Kevin

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to zedhed

    Hi kevin,

    Thanks for your valuable suggestion. i tried as per instruction.but i am unable to enter filesystem. i am unable to move in booting process as shown below

    Removing any system startup links for run-postinsts ...
      /etc/rcS.d/S99run-postinsts
    INIT: Entering runlevel: 1
    Unmounting remote filesystems...
    INIT: no more processes left in this runlevel


    can you give the suggestion. how to proceed for furhter step.


    Thanks & Regards,
    srinivas Rao

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • zedhed
    0 zedhed over 11 years ago

    Hi Srinivas,

    I guess there is some confusion in what exactly it is you are trying to accomplish.

    The console message you see is telling you that you have reached runlevel 1 and that INIT has finished launching all of the processes it was instructed to.

    Are you simply looking to boot the system in runlevel 1 or do you simply want to bypass the login prompt?

    If you are looking to boot the system in runlevel one then it sounds like you have already done so.

    If you are looking to bypass the login prompt for development purposes you will need to modify your RAM disk image.  I assume you already understand the negative security implications of bypassing the login prompt and you are not planning to release your image upon other unsuspecting users without ample warning. 

    Not sure if this is the cleanest way to do this, but it works okay for me:

    1) Create an autologin script /home/root/autologin.sh that getty can invoke at startup and add the following lines to it:

    #!/bin/sh
    exec /bin/login -f root

    2) Make the autologin script executable:

    chmod a+x autologin.sh

    3) Modify your /etc/inittab file and comment out getty line (so that you can undo all this work later when you go to production) at the very end of the file like this:

    #PS0:2345:respawn:/sbin/getty -L 115200 ttyPS0 vt100

    4) Then add the following line to the end of /etc/inittab to force the login of root automatically:

    PS0:2345:respawn:/sbin/getty -l /home/root/autologin.sh -n -L 115200 ttyPS0 vt100

    If you are using the RAM disk image from one of the Xilinx Releases like I did, then you will find these instructions useful for modifying the contents of your RAM disk image:

    http://microzed.org/content/how-modify-ramdisk-image-comes-release-145

    http://www.wiki.xilinx.com/Build+and+Modify+a+Rootfs

    If someone has a cleaner way of doing this, please educate the rest us.

    Regards,

    -Kevin

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to zedhed



    Hi kevin

    Thanks for reply. I have understood your suggestions. i am looking for bypass the login prompt for development purpose. i have used petalinux 2014.2 version. i got a image.ub, zImage, system.dtb, BOOT.BIn and  rootfs.cpio for file system from petalinux. where exactly i got a problem is even i try to do changes in bootargs file system not access from sdcard or mtd3. its creating own virtual file system. i can't do any modification in that because when i reboot the board everything will be taken from default state only. i hope you can understand my intention.


    METHOD - 1

    //.................................filesystem from sdcard and kernel image from mtd2 (spi flash).........................................//

    mmcbootargs=console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4
    mmcbootcmd=run mmcbootargs ; sf probe 0; sf read 0xfa0000 0x520000 0xa80000 && bootm 0xfa0000
    run mmcbootcmd


    METHOD - 2

    //............................file system from mtd3 and kernel imagge from mtd2  (spiflash )..............................................

    bootargs=console=ttyPS0,115200 root=/dev/mtd3 rw earlyprintk 5
    qspiboot_test= run bootargs ; sf probe 0; sf read 0xfa0000 0x520000 0xa80000 && bootm 0xfa0000

    run qspiboot_test

    //..............................................................................................................

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • zedhed
    0 zedhed over 11 years ago

    Hi Srinivas,

    Okay, I think I see what you are doing.

    What I am getting at is that you should be able to modify your RAM disk image (in your case it is the rootfs.cpio file) from your PetaLinux development machine.

    Here are the steps that I used to unpack, modify, and repack one on my development system:

    1)  Create a temporary folder to hold your root file system so that it can be unpacked in the next step:

    mkdir tmp_mnt

    2)  Unpack the cpio archive to the temporary folder:

    cd tmp_mnt/
    sudo cpio -i < ../rootfs.cpio

    3)  Make the desired modifications to the root file system files (in this step I did my edits to tmp_mnt/etc/inittab and created the autologin.sh script in tmp_mnt/home/root/).

    4)  Once the modifications are complete, repack the cpio archive (starting from the tmp_mnt/ working directory):

    cd ..
    rm rootfs.cpio
    sh -c 'cd tmp_mnt/ && sudo find . | sudo cpio -H newc -o' > rootfs.cpio

    Now copy the updated rootfs.cpio image to your SD card and boot ZedBoard, you should see the modifications to the root file system in place at this point.

    The bottom line is that yes you are correct in that any changes you make to the file system while it is loaded into RAM on ZedBoard will not persist between reboots.  However, you should be able to modify that file system image on your development machine to suit your needs.

    Regards,

    -Kevin

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to zedhed

    Hi kevin,


    i have done as per previous information.

    root@pradeep-desktop:/home/pradeep~#mkdir rootfs
    root@pradeep-desktop:~#cd rootfs/
    root@pradeep-desktop:/home/pradeep/rootfs#

    i copied rootfs.cpio gile in this folder

    root@pradeep-desktop:/home/pradeep/rootfs~#cpio -i < rootfs.cpio

    root@pradeep-desktop:/home/pradeep/rootfs~#vim /home/root/autologin.sh

    #!/bin/sh
    exec /bin/login -f root

    root@pradeep-desktop:/home/pradeep/rootfs/home/root~#chmod a+x autologin.sh

    Modified my /etc/inittab file

    #PS0:2345:respawn:/sbin/getty -L 115200 ttyPS0 vt100
    PS0:2345:respawn:/sbin/getty -l /home/root/autologin.sh -n -L 115200 ttyPS0 vt100

    root@pradeep-desktop:/home/pradeep/rootfs~#rm rootfs.cpio

    root@pradeep-desktop:/home/pradeep/rootfs~#cd ..
    root@pradeep-desktop:/home/pradeep~#sh -c 'cd rootfs/ && sudo find . | sudo cpio -H newc -o' > rootfs.cpio


    everything clear upto this


    these are  mtd parititions

    0x000000000000-0x000000500000 : "boot"
    0x000000500000-0x000000520000 : "bootenv"
    0x000000520000-0x000000fa0000 : "kernel"
    0x000000fa0000-0x000002000000 : "spare"

    //............................... mtd3 partition...........................................//

    flash_eraseall -j /dev/mtd3
    flashcp -v  rootfs.cpio /dev/mtd3

    //.........................my uboot commands...............................................//

    bootargs=console=ttyPS0,115200 root=/dev/mtd3 rw earlyprintk 5
    qspiboot_test=sf probe 0 0; sf read 0xfa0000 0x520000 0xa80000 && sf read 0x2000000 0xfa0000 0x1060000 && bootm 0xfa0000 0x2000000

    //..........i am getting like this ....................................//

    U-Boot-PetaLinux> run qspiboot_test
    SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
    SF: 11010048 bytes @ 0x520000 Read: OK
    SF: 17170432 bytes @ 0xfa0000 Read: OK
    ## Loading kernel from FIT Image at 00fa0000 ...
       Using 'conf@1' configuration
       Trying 'kernel@1' kernel subimage
         Description:  PetaLinux Kernel
         Type:         Kernel Image
         Compression:  gzip compressed
         Data Start:   0x00fa00f0
         Data Size:    7150584 Bytes = 6.8 MiB
         Architecture: ARM
         OS:           Linux
         Load Address: 0x00008000
         Entry Point:  0x00008000
         Hash algo:    crc32
         Hash value:   5d7f745d
       Verifying Hash Integrity ... crc32+ OK
    Wrong Ramdisk Image Format
    Ramdisk image is corrupt or invalid
    U-Boot-PetaLinux>


    can you tell me  where i did the mistake.


    Thanks & Regards,
    srinivas Rao

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube