Stuck on boot
Home › Forums › Conduit: AEP Model › Stuck on boot
- This topic has 8 replies, 2 voices, and was last updated 8 years, 8 months ago by Quentin DESBOIS.
-
AuthorPosts
-
March 21, 2016 at 6:44 am #11917Quentin DESBOISParticipant
Hi everyone,
For my project, I created a web server on port 1337 with NodeJS in index.js file. I need to start my service automatically on startup that why I created a SH script file in /etc/init.d such as :
(I’d like to use ‘forever’ with nodeJS but NPM is not available)
#! /bin/sh # /etc/init.d/maquette_nodejs ### BEGIN INIT INFO # Provides: maquette_nodejs # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Maquette NodeJS Server port 1337 # Description: This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO # Carry out specific functions when asked to by the system case "$1" in start) echo "Starting index.js" /usr/bin/node /home/root/maquette/index.js >> /home/root/maquette/logfile.log ;; stop) echo "Stopping index.js" # kill application you want to stop killall -9 node # Not a great approach for running # multiple node instances ;; *) echo "Usage: /etc/init.d/maquette_nodejs {start|stop}" exit 1 ;; esac exit 0
Here’s the problem : When I reboot, I couldn’t access to my Multiconenct anymore with SSH. I used debug mode with USB to understand what happened.
As which, my script is started, the boot log display “Starting index.js” but nothing after it. It seems that my service avoid the starts of the other service and stuck the multiconnect on boot …Can you tell me what I have to do ? Because I can’t access to my files.
Thank you.
Quentin.
March 21, 2016 at 8:33 am #11923Brandon BayerBlockedQuentin,
That’s probably because your node process isn’t being backgrounded. You could add ‘&’ right before ‘>>’, or you can use start-stop-daemon as in the below example:
#!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/sbin/radio-monitor NAME=radio-monitor ANGEL=/sbin/radio-angel DESC="Radio Monitor" PIDFILE=/var/run/radio-monitor.pid start() { start-stop-daemon --start --background --make-pid -p $PIDFILE --exec $ANGEL -- $DAEMON } stop() { start-stop-daemon --stop --exec $ANGEL -p $PIDFILE rm $PIDFILE } case "$1" in start) echo -n "Starting $DESC: " start echo "$NAME." ;; stop) echo -n "Stopping $DESC: " stop echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " stop sleep 1 start echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
-Brandon
- This reply was modified 8 years, 8 months ago by Brandon Bayer.
March 21, 2016 at 9:36 am #11926Quentin DESBOISParticipantOk thank you for your help.
But NOW, can you help me to fix my boot freeze ? Because I can’t use my multiconnect … 🙁
March 21, 2016 at 10:31 am #11928Brandon BayerBlockedQuentin,
Oh yes. So you’ll need to follow the U-Boot firmware flashing instructions on the following page:
Before you put add this to the boot init script again, test it from the command line and make sure the process is backgrounded (you get back to the command prompt without having to hit Ctrl-C)
/etc/init.d/myapp start
-Brandon
- This reply was modified 8 years, 8 months ago by Brandon Bayer.
- This reply was modified 8 years, 8 months ago by Brandon Bayer.
March 21, 2016 at 12:49 pm #11933Quentin DESBOISParticipantI follow your instructions,
I set the environnement variable on Uboot,
I success to download the 2 files from here : http://www.multitech.net/mlinux/images/3.1.0/mtcdt/
and upload its to Multiconnect with TFTPThen I ran manualy the command from http://git.multitech.net/cgi-bin/cgit.cgi/meta-multitech.git/plain/contrib/uboot-setenv-mtcdt.minicom
(because syntax error)All seems worked well, but when I ‘boot’, the boot log display :
ip_tables: (C) 2000-2006 Netfilter Core Team TCP: cubic registered NET: Registered protocol family 17 l2tp_core: L2TP core driver, V2.0 Key type dns_resolver registered at91_rtc fffffeb0.rtc: setting system clock to 2016-03-21 16:40:19 UTC (1458578419) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,8) CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.27 #1 [<c000d580>] (unwind_backtrace+0x0/0xe0) from [<c000bb6c>] (show_stack+0x10/0x14) [<c000bb6c>] (show_stack+0x10/0x14) from [<c03a39ac>] (panic+0x78/0x1bc) [<c03a39ac>] (panic+0x78/0x1bc) from [<c04eff54>] (mount_block_root+0x208/0x250) [<c04eff54>] (mount_block_root+0x208/0x250) from [<c04f0170>] (mount_root+0xdc/0x104) [<c04f0170>] (mount_root+0xdc/0x104) from [<c04f02f0>] (prepare_namespace+0x158/0x1b8) [<c04f02f0>] (prepare_namespace+0x158/0x1b8) from [<c04efb78>] (kernel_init_freeable+0x174/0x1b8) [<c04efb78>] (kernel_init_freeable+0x174/0x1b8) from [<c03a24d4>] (kernel_init+0x8/0xe4) [<c03a24d4>] (kernel_init+0x8/0xe4) from [<c00094f0>] (ret_from_fork+0x14/0x24)
I think problem is here :
Because i got syntax error, I replaced :
setenv bootcmd \'nboot.jffs2 ${loadaddr} 0 ${kernel_addr} && bootm ${loadaddr}\'
by
setenv bootcmd nboot.jffs2 ${loadaddr} 0 ${kernel_addr} && bootm ${loadaddr}
How did I avoid the syntax error message on uBoot ?
March 21, 2016 at 1:50 pm #11934Brandon BayerBlockedQuentin,
Did you set the env variables before flashing (issuing
run krb
)?You’ll need to start over and carefully go through the U-Boot flashing instructions again. You shouldn’t need to modify the script before running it in Minicom. In any case, the quotes (
'
) around the commands are critical (you removed them).-Brandon
March 22, 2016 at 3:54 am #11935Quentin DESBOISParticipantHi Brandon,
Because my development PC is on Windows, I use Putty to connect with COM Serial Port but as I said, I get a syntax error.
This time, I try to set the environment variable with Real Term using Send Ascii function and it seems to work.Then I run krb, and instalation is complete.
Now my question is : From my MLinux Model, How to get AEP Model ? And what is the main difference between both version ?
Thank you 🙂
March 22, 2016 at 8:26 am #11936Brandon BayerBlockedQuentin,
Ok, I’m glad you got that to work! mLinux doesn’t have the web GUI or Node-RED. If want AEP again, you’ll need to open a support case and ask for the AEP upgrade files. Then follow the mLinux flashing instructions (auto-flash, not U-boot) using the AEP files.
-Brandon
March 22, 2016 at 9:19 am #11937Quentin DESBOISParticipantThank you Brandon,
All works fine !
1) Flash Kernel (uImage.bin) and rootfs (rootfs.jffs2) to mLinux
2) Upgrade from mLinux to AEP model
3) Upgrade AEP firmware to the last version 1.1.2 (including NPM)
4) Set up firewall to open 1337 port by adding iptables instructions just after firewall –init in /etc/init.d/firewallThanks again 😀
-
AuthorPosts
- You must be logged in to reply to this topic.